Files
lux/Lux.Data/ModelBuilderExtensions.cs
T
Annamaria Sassi 659e36cf8b - aggiunto inizializzazione
- corretti nomi variabili
2025-06-19 18:11:10 +02:00

67 lines
4.0 KiB
C#

using Lux.Data.DbModel;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lux.Data
{
public static class ModelBuilderExtensions
{
/// <summary>
/// Estensione per seed iniziale dei dati nel DB
/// </summary>
/// <param name="modelBuilder"></param>
public static void Seed(this ModelBuilder modelBuilder)
{
// inizializzazione dei valori di default x Ruoli
modelBuilder.Entity<RoleModel>().HasData(
new RoleModel { RoleID = 1, Description = "Admin" },
new RoleModel { RoleID = 2, Description = "User" },
new RoleModel { RoleID = 3, Description = "Customer" },
new RoleModel { RoleID = 4, Description = "Supplier" },
new RoleModel { RoleID = 5, Description = "Dealer" }
);
// inizializzazione dei valori di default x Customer
modelBuilder.Entity<CustomerModel>().HasData(
new CustomerModel { CustomerID = 1, FirstName = "Customer A", LastName = "Egalware", VAT = "1234567890123456" },
new CustomerModel { CustomerID = 2, FirstName = "Customer B", LastName = "User", VAT = "1234567890123456" },
new CustomerModel { CustomerID = 3, FirstName = "Customer C", LastName = "User Test", VAT = "1234567890123456" }
);
// inizializzazione dei valori di default x Dealer
modelBuilder.Entity<DealerModel>().HasData(
new DealerModel { DealerID = 1, CompanyName = "Company First",FirstName = "Dealer A", LastName = "Egalware", VAT = "9587362514671527" },
new DealerModel { DealerID = 2, CompanyName = "Company First", FirstName = "Dealer B", LastName = "User", VAT = "9587362514671527" },
new DealerModel { DealerID = 3, CompanyName = "Company Second", FirstName = "Dealer C", LastName = "User Test", VAT = "9587362514671527" }
);
// inizializzazione dei valori di default x Supplier
modelBuilder.Entity<SupplierModel>().HasData(
new SupplierModel { SupplierID = 1, CompanyName = "Company One", FirstName = "Supplier A", LastName = "Egalware", VAT = "7294857103879254" },
new SupplierModel { SupplierID = 2, CompanyName = "Company Two", FirstName = "Supplier B", LastName = "User", VAT = "7294857103879254" },
new SupplierModel { SupplierID = 3, CompanyName = "Company Two", FirstName = "Supplier C", LastName = "User Test", VAT = "7294857103879254" }
);
// inizializzazione dei valori di default x Item
modelBuilder.Entity<ItemModel>().HasData(
new ItemModel { ItemID = 1, IsService = false, IsMake = true, Description = "Telaio", Cost = 820, Margin = 0.2 },
new ItemModel { ItemID = 2, IsService = false, IsMake = false, Description = "Persiana anta singola", Cost = 935, Margin = 0.1 },
new ItemModel { ItemID = 3, IsService = true, IsMake = true, Description = "Installazione", Cost = 1279, Margin = 0.3 }
);
// inizializzazione dei valori di default x Offer
modelBuilder.Entity<OfferModel>().HasData(
new OfferModel { OfferID = 1, RefYear = 2024, RefNum = 1, RefRev = 1, Description = "Offerta per tre serramenti", CustomerID = 2, DealerID = 2 },
new OfferModel { OfferID = 2, RefYear = 2025, RefNum =2, RefRev = 1, Description = "Offerta per un serramento + installazione", CustomerID = 1, DealerID = 1 },
new OfferModel { OfferID = 3, RefYear = 2025, RefNum = 3, RefRev = 1, Description = "Offerta per tre serramenti", CustomerID = 2, DealerID = 1 },
new OfferModel { OfferID = 5, RefYear = 2025, RefNum = 4, RefRev = 2, Description = "Offerta per cinque serramenti + installazione", CustomerID = 3, DealerID = 2 }
);
}
}
}