From ad2a56c4867281c301c7fb18d5567318a04b5d91 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 2 Sep 2021 18:37:11 +0200 Subject: [PATCH] Chiudo con implementazione modello dati --- MP.Data/Constants.cs | 12 --- MP.Data/Enums.cs | 8 -- MP.Data/StatsDbContext.cs | 12 --- MP.FileData/DatabaseModels/AnagArticoli.cs | 20 +++++ MP.FileData/DatabaseModels/Macchine.cs | 27 ++++++ MP.FileData/FileUtils.cs | 25 ++++++ MP.FileData/MP.FileData.csproj | 4 + MP.FileData/MoonPro_ProgContext.cs | 98 ++++++++++++++++++++++ MP.Prog/appsettings.json | 58 ++++++------- 9 files changed, 200 insertions(+), 64 deletions(-) delete mode 100644 MP.Data/Constants.cs delete mode 100644 MP.Data/Enums.cs delete mode 100644 MP.Data/StatsDbContext.cs create mode 100644 MP.FileData/DatabaseModels/AnagArticoli.cs create mode 100644 MP.FileData/DatabaseModels/Macchine.cs create mode 100644 MP.FileData/FileUtils.cs create mode 100644 MP.FileData/MoonPro_ProgContext.cs diff --git a/MP.Data/Constants.cs b/MP.Data/Constants.cs deleted file mode 100644 index 4abf10f1..00000000 --- a/MP.Data/Constants.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace MP.Data -{ - class Constants - { - } -} diff --git a/MP.Data/Enums.cs b/MP.Data/Enums.cs deleted file mode 100644 index 421dd601..00000000 --- a/MP.Data/Enums.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; - -namespace MP.Data -{ - public class Enums - { - } -} \ No newline at end of file diff --git a/MP.Data/StatsDbContext.cs b/MP.Data/StatsDbContext.cs deleted file mode 100644 index e52f398f..00000000 --- a/MP.Data/StatsDbContext.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace MP.Data -{ - public class StatsDbContext - { - } -} \ No newline at end of file diff --git a/MP.FileData/DatabaseModels/AnagArticoli.cs b/MP.FileData/DatabaseModels/AnagArticoli.cs new file mode 100644 index 00000000..526e4bf5 --- /dev/null +++ b/MP.FileData/DatabaseModels/AnagArticoli.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MP.FileData.DatabaseModels +{ + public partial class AnagArticoli + { + #region Public Properties + + public string CodArticolo { get; set; } + public string DescArticolo { get; set; } + public string Disegno { get; set; } + public string Tipo { get; set; } + + #endregion Public Properties + } +} diff --git a/MP.FileData/DatabaseModels/Macchine.cs b/MP.FileData/DatabaseModels/Macchine.cs new file mode 100644 index 00000000..75db8b5e --- /dev/null +++ b/MP.FileData/DatabaseModels/Macchine.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +// +// This is here so CodeMaid doesn't reorganize this document +// +namespace MP.FileData.DatabaseModels +{ + public partial class Macchine + { + #region Public Properties + + public string IdxMacchina { get; set; } = ""; + public string CodMacchina { get; set; } = ""; + public string Nome { get; set; } = ""; + public string Descrizione { get; set; } = ""; + public string BasePath { get; set; } = ""; + public string ImgUrl { get; set; } = ""; + public string Note { get; set; } = ""; + public int ShowOrder { get; set; } = 0; + + #endregion Public Properties + } +} diff --git a/MP.FileData/FileUtils.cs b/MP.FileData/FileUtils.cs new file mode 100644 index 00000000..58091b84 --- /dev/null +++ b/MP.FileData/FileUtils.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MP.FileData +{ + public class FileUtils + { + + public static async Task SaveToCsv(List reportData, string path) + { + var lines = new List(); + IEnumerable props = TypeDescriptor.GetProperties(typeof(T)).OfType(); + var header = string.Join(";", props.ToList().Select(x => x.Name)); + lines.Add(header); + var valueLines = reportData.Select(row => string.Join(";", header.Split(';').Select(a => row.GetType().GetProperty(a).GetValue(row, null)))); + lines.AddRange(valueLines); + await Task.Run(() => File.WriteAllLines(path, lines.ToArray())); + } + } +} diff --git a/MP.FileData/MP.FileData.csproj b/MP.FileData/MP.FileData.csproj index 008a7246..09d3bd68 100644 --- a/MP.FileData/MP.FileData.csproj +++ b/MP.FileData/MP.FileData.csproj @@ -20,4 +20,8 @@ + + + + diff --git a/MP.FileData/MoonPro_ProgContext.cs b/MP.FileData/MoonPro_ProgContext.cs new file mode 100644 index 00000000..1cd809cd --- /dev/null +++ b/MP.FileData/MoonPro_ProgContext.cs @@ -0,0 +1,98 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.Extensions.Configuration; +using MP.FileData.DatabaseModels; +using NLog; + +namespace MP.FileData +{ + public partial class MoonPro_ProgContext : DbContext + { + + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + private IConfiguration _configuration; + + + public MoonPro_ProgContext(IConfiguration configuration) + { + _configuration = configuration; + } + + public MoonPro_ProgContext(DbContextOptions options) : base(options) + { + } + + + public virtual DbSet DbSetArticoli { get; set; } + public virtual DbSet DbSetMacchine { get; set; } + + + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); + + + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + if (!optionsBuilder.IsConfigured) + { + string connString = _configuration.GetConnectionString("Mp.Stats"); + + optionsBuilder.UseSqlServer(connString); + //optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=MoonPro_STATS;Trusted_Connection=True;"); + } + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.HasAnnotation("Relational:Collation", "SQL_Latin1_General_CP1_CI_AS"); + + modelBuilder.Entity(entity => + { + entity.HasNoKey(); + + entity.ToView("v_UI_AnagArticoli"); + + entity.Property(e => e.CodArticolo) + .IsRequired() + .HasMaxLength(50); + + entity.Property(e => e.DescArticolo) + .IsRequired() + .HasMaxLength(250); + + entity.Property(e => e.Disegno) + .IsRequired() + .HasMaxLength(50); + + entity.Property(e => e.Tipo) + .IsRequired() + .HasMaxLength(50); + }); + + modelBuilder.Entity(entity => + { + entity.HasNoKey(); + + entity.ToView("v_UI_Macchine"); + + entity.Property(e => e.CodMacchina).HasMaxLength(50); + + entity.Property(e => e.Descrizione).HasMaxLength(50); + + entity.Property(e => e.IdxMacchina) + .IsRequired() + .HasMaxLength(50); + + entity.Property(e => e.Nome).HasMaxLength(50); + }); + + OnModelCreatingPartial(modelBuilder); + } + } +} diff --git a/MP.Prog/appsettings.json b/MP.Prog/appsettings.json index 0710cf0a..503467d3 100644 --- a/MP.Prog/appsettings.json +++ b/MP.Prog/appsettings.json @@ -15,37 +15,31 @@ }, "AllowedHosts": "*", "ConnectionStrings": { - "Redis": "localhost:6379", - //"AuthConnection": "Server=10.74.83.97;port=3306;database=GWMS;user=GWMS;pwd=GWMS_secret_pwd;sslmode=None;", - //"DefaultConnection": "Server=10.74.83.97;port=3306;database=GWMS;user=GWMS;pwd=GWMS_secret_pwd;sslmode=None;", - //"AdminConnection": "Server=10.74.83.97;port=3306;database=GWMS;user=root;pwd=Egalware_24068!;sslmode=None;", - //"GWMS.Data": "Server=10.74.83.97;port=3306;database=GWMS;user=GWMS;pwd=GWMS_secret_pwd;sslmode=None;" - "AuthConnection": "Server=localhost;port=3306;database=GWMS;user=GWMS;pwd=GWMS_secret_pwd;sslmode=None;", - "DefaultConnection": "Server=localhost;port=3306;database=GWMS;user=GWMS;pwd=GWMS_secret_pwd;sslmode=None;", - "AdminConnection": "Server=localhost;port=3306;database=GWMS;user=root;pwd=Egalware_24068!;sslmode=None;", - "GWMS.Data": "Server=localhost;port=3306;database=GWMS;user=GWMS;pwd=GWMS_secret_pwd;sslmode=None;" - }, - "DbConfig": { - //"Server": "10.74.83.97", - "Server": "localhost", - "nKey": "PZZFRR", - "sKey": "M3T@n0" - }, - "IntervalMin": 60, - "MaxLogRecord": 360, - "ZCodeUrl": "https://qrcode.steamware.net/", - "ChartWaitDelay": 10, - "logo": "img/LogoPizzaferri.jpg", - "ExternalProviders": { - "MailKit": { - "SMTP": { - "Address": "smtp.gmail.com", - "Port": "465", - "Account": "steamwarebot@gmail.com", - "Password": "drmfsls16", - "SenderEmail": "steamwarebot@gmail.com", - "SenderName": "Steamware Email BOT" - } - } + "DefaultConnection": "Server=SQL2016DEV;Database=MoonPro_PROG;Trusted_Connection=True;MultipleActiveResultSets=true", + "Mp.Prog": "Server=SQL2016DEV;Database=MoonPro_PROG;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.Prog;", + "Redis": "localhost:6379" } + //"DbConfig": { + // //"Server": "10.74.83.97", + // "Server": "localhost", + // "nKey": "PZZFRR", + // "sKey": "M3T@n0" + //}, + //"IntervalMin": 60, + //"MaxLogRecord": 360, + //"ZCodeUrl": "https://qrcode.steamware.net/", + //"ChartWaitDelay": 10, + //"logo": "img/LogoPizzaferri.jpg", + //"ExternalProviders": { + // "MailKit": { + // "SMTP": { + // "Address": "smtp.gmail.com", + // "Port": "465", + // "Account": "steamwarebot@gmail.com", + // "Password": "drmfsls16", + // "SenderEmail": "steamwarebot@gmail.com", + // "SenderName": "Steamware Email BOT" + // } + // } + //} } \ No newline at end of file