Files
Prog4_Beadando/WD7UVN_HFT_2023241.Repository/CompanyDbContext.cs

84 lines
2.5 KiB
C#
Raw Normal View History

2023-11-21 12:25:31 +01:00
using System;
2023-11-22 09:34:06 +01:00
using System.Net.Http;
2023-11-21 12:25:31 +01:00
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.InMemory;
using WD7UVN_HFT_2023241.Models;
namespace WD7UVN_HFT_2023241.Repository
{
public class CompanyDbContext : DbContext
{
2023-11-21 12:33:46 +01:00
//Tables
2023-11-21 12:25:31 +01:00
public DbSet<Customer> Customers { get; set; }
public DbSet<Employee> Employees { get; set; }
public DbSet<MaintainerTeam> Maintainers { get; set; }
public DbSet<Service> Services { get; set; }
2023-11-21 12:33:46 +01:00
public CompanyDbContext()
{
this.Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder
.UseInMemoryDatabase("company");
2023-11-22 09:34:06 +01:00
}
}
2023-11-22 09:11:15 +01:00
2023-11-22 09:34:06 +01:00
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
2023-11-22 09:11:15 +01:00
2023-11-22 09:34:06 +01:00
modelBuilder.Entity<Customer>(customer => customer
.HasOne<Service>()
.WithMany()
.HasForeignKey(customer => customer.SERVICE_ID)
.OnDelete(DeleteBehavior.Cascade));
2023-11-22 09:11:15 +01:00
2023-11-22 09:34:06 +01:00
//loading test values
modelBuilder.Entity<Customer>().HasData(
new Customer{
NAME = "Szemed Fénye Optika Kft.",
ID = 1,
SERVICE_ID = 1}
);
2023-11-22 09:11:15 +01:00
2023-11-22 09:34:06 +01:00
modelBuilder.Entity<Service>().HasData(
new Service{
NAME = "Microsoft Exchange",
ID = 1,
MAINTAINER = 1}
);
2023-11-22 09:11:15 +01:00
2023-11-22 09:34:06 +01:00
modelBuilder.Entity<MaintainerTeam>().HasData(
new MaintainerTeam{
ID = 1,
NAME = "Microsoft Team",
LEADER_EMPLOYEE_ID = 2}
);
2023-11-22 09:11:15 +01:00
2023-11-22 09:34:06 +01:00
modelBuilder.Entity<Employee>().HasData(
new Employee{
ID = 1,
NAME = "Gipsz Jakab",
MANAGER = 2,
MAINTAINER_ID = 1},
new Employee{
NAME = "Székely Csaba",
ID = 3,
MANAGER = 2,
MAINTAINER_ID = 1},
2023-11-21 12:33:46 +01:00
2023-11-22 09:34:06 +01:00
new Employee{
NAME = "Nagy Krisztina",
ID = 2,
MAINTAINER_ID = 1}
);
2023-11-21 12:33:46 +01:00
}
2023-11-21 12:25:31 +01:00
}
}