Implementing dependency injection
This commit is contained in:
@@ -6,15 +6,26 @@ using WD7UVN_HFT_2023241.Repository;
|
|||||||
|
|
||||||
namespace WD7UVN_HFT_2023241.Repository
|
namespace WD7UVN_HFT_2023241.Repository
|
||||||
{
|
{
|
||||||
public class CustomerRepository
|
public interface ICRUD : ICustomerRepository, IEmployeeRepository, IMaintainerTeamRepository, IServiceRepository { }
|
||||||
|
|
||||||
|
public interface ICustomerRepository
|
||||||
{
|
{
|
||||||
public static void CreateCustomer(Customer customer)
|
public void CreateCustomer(Customer customer);
|
||||||
|
public Customer ReadCustomer(int customerId);
|
||||||
|
public IQueryable<Customer> ReadAllCustomers();
|
||||||
|
public void UpdateCustomer(Customer updatedCustomer);
|
||||||
|
public void DeleteCustomer(int customerId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CustomerRepository : ICustomerRepository
|
||||||
|
{
|
||||||
|
public void CreateCustomer(Customer customer)
|
||||||
{
|
{
|
||||||
Database.Context.Customers.Add(customer);
|
Database.Context.Customers.Add(customer);
|
||||||
Database.Context.SaveChanges();
|
Database.Context.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Customer ReadCustomer(int customerId)
|
public Customer ReadCustomer(int customerId)
|
||||||
{
|
{
|
||||||
return Database.Context.Customers.Find(customerId);
|
return Database.Context.Customers.Find(customerId);
|
||||||
}
|
}
|
||||||
@@ -24,7 +35,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
return Database.Context.Customers.AsQueryable();
|
return Database.Context.Customers.AsQueryable();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void UpdateCustomer(Customer updatedCustomer)
|
public void UpdateCustomer(Customer updatedCustomer)
|
||||||
{
|
{
|
||||||
Customer existingCustomer = Database.Context.Customers.Find(updatedCustomer.ID);
|
Customer existingCustomer = Database.Context.Customers.Find(updatedCustomer.ID);
|
||||||
if (existingCustomer != null)
|
if (existingCustomer != null)
|
||||||
@@ -34,7 +45,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DeleteCustomer(int customerId)
|
public void DeleteCustomer(int customerId)
|
||||||
{
|
{
|
||||||
Customer customerToDelete = Database.Context.Customers.Find(customerId);
|
Customer customerToDelete = Database.Context.Customers.Find(customerId);
|
||||||
if (customerToDelete != null)
|
if (customerToDelete != null)
|
||||||
@@ -45,15 +56,24 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MaintainerTeamRepository
|
public interface IMaintainerTeamRepository
|
||||||
{
|
{
|
||||||
public static void CreateMaintainerTeam(MaintainerTeam maintainerTeam)
|
public void CreateMaintainerTeam(MaintainerTeam maintainerTeam);
|
||||||
|
public MaintainerTeam ReadMaintainerTeam(int maintainerTeamId);
|
||||||
|
public IQueryable<MaintainerTeam> ReadAllMaintainerTeams();
|
||||||
|
public void UpdateMaintainerTeam(MaintainerTeam updatedMaintainerTeam);
|
||||||
|
public void DeleteMaintainerTeam(int maintainerTeamId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class MaintainerTeamRepository : IMaintainerTeamRepository
|
||||||
|
{
|
||||||
|
public void CreateMaintainerTeam(MaintainerTeam maintainerTeam)
|
||||||
{
|
{
|
||||||
Database.Context.Maintainers.Add(maintainerTeam);
|
Database.Context.Maintainers.Add(maintainerTeam);
|
||||||
Database.Context.SaveChanges();
|
Database.Context.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MaintainerTeam ReadMaintainerTeam(int maintainerTeamId)
|
public MaintainerTeam ReadMaintainerTeam(int maintainerTeamId)
|
||||||
{
|
{
|
||||||
return Database.Context.Maintainers.Find(maintainerTeamId);
|
return Database.Context.Maintainers.Find(maintainerTeamId);
|
||||||
}
|
}
|
||||||
@@ -63,7 +83,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
return Database.Context.Maintainers.AsQueryable();
|
return Database.Context.Maintainers.AsQueryable();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void UpdateMaintainerTeam(MaintainerTeam updatedMaintainerTeam)
|
public void UpdateMaintainerTeam(MaintainerTeam updatedMaintainerTeam)
|
||||||
{
|
{
|
||||||
MaintainerTeam existingMaintainerTeam = Database.Context.Maintainers.Find(updatedMaintainerTeam.ID);
|
MaintainerTeam existingMaintainerTeam = Database.Context.Maintainers.Find(updatedMaintainerTeam.ID);
|
||||||
if (existingMaintainerTeam != null)
|
if (existingMaintainerTeam != null)
|
||||||
@@ -73,7 +93,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DeleteMaintainerTeam(int maintainerTeamId)
|
public void DeleteMaintainerTeam(int maintainerTeamId)
|
||||||
{
|
{
|
||||||
MaintainerTeam maintainerTeamToDelete = Database.Context.Maintainers.Find(maintainerTeamId);
|
MaintainerTeam maintainerTeamToDelete = Database.Context.Maintainers.Find(maintainerTeamId);
|
||||||
if (maintainerTeamToDelete != null)
|
if (maintainerTeamToDelete != null)
|
||||||
@@ -84,15 +104,24 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ServiceRepository
|
public interface IServiceRepository
|
||||||
{
|
{
|
||||||
public static void CreateService(Service service)
|
public void CreateService(Service service);
|
||||||
|
public Service ReadService(int serviceId);
|
||||||
|
public IQueryable<Service> ReadAllServices();
|
||||||
|
public void UpdateService(Service updatedService);
|
||||||
|
public void DeleteService(int serviceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ServiceRepository : IServiceRepository
|
||||||
|
{
|
||||||
|
public void CreateService(Service service)
|
||||||
{
|
{
|
||||||
Database.Context.Services.Add(service);
|
Database.Context.Services.Add(service);
|
||||||
Database.Context.SaveChanges();
|
Database.Context.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Service ReadService(int serviceId)
|
public Service ReadService(int serviceId)
|
||||||
{
|
{
|
||||||
return Database.Context.Services.Find(serviceId);
|
return Database.Context.Services.Find(serviceId);
|
||||||
}
|
}
|
||||||
@@ -102,7 +131,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
return Database.Context.Services.AsQueryable();
|
return Database.Context.Services.AsQueryable();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void UpdateService(Service updatedService)
|
public void UpdateService(Service updatedService)
|
||||||
{
|
{
|
||||||
Service existingService = Database.Context.Services.Find(updatedService.ID);
|
Service existingService = Database.Context.Services.Find(updatedService.ID);
|
||||||
if (existingService != null)
|
if (existingService != null)
|
||||||
@@ -112,7 +141,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DeleteService(int serviceId)
|
public void DeleteService(int serviceId)
|
||||||
{
|
{
|
||||||
Service serviceToDelete = Database.Context.Services.Find(serviceId);
|
Service serviceToDelete = Database.Context.Services.Find(serviceId);
|
||||||
if (serviceToDelete != null)
|
if (serviceToDelete != null)
|
||||||
@@ -123,15 +152,24 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class EmployeeRepository
|
public interface IEmployeeRepository
|
||||||
{
|
{
|
||||||
public static void CreateEmployee(Employee employee)
|
public void CreateEmployee(Employee employee);
|
||||||
|
public Employee ReadEmployee(int employeeId);
|
||||||
|
public IQueryable<Employee> ReadAllEmployees();
|
||||||
|
public void UpdateEmployee(Employee updatedEmployee);
|
||||||
|
public void DeleteEmployee(int employeeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class EmployeeRepository : IEmployeeRepository
|
||||||
|
{
|
||||||
|
public void CreateEmployee(Employee employee)
|
||||||
{
|
{
|
||||||
Database.Context.Employees.Add(employee);
|
Database.Context.Employees.Add(employee);
|
||||||
Database.Context.SaveChanges();
|
Database.Context.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Employee ReadEmployee(int employeeId)
|
public Employee ReadEmployee(int employeeId)
|
||||||
{
|
{
|
||||||
return Database.Context.Employees.Find(employeeId);
|
return Database.Context.Employees.Find(employeeId);
|
||||||
}
|
}
|
||||||
@@ -141,7 +179,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
return Database.Context.Employees.AsQueryable();
|
return Database.Context.Employees.AsQueryable();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void UpdateEmployee(Employee updatedEmployee)
|
public void UpdateEmployee(Employee updatedEmployee)
|
||||||
{
|
{
|
||||||
Employee existingEmployee = Database.Context.Employees.Find(updatedEmployee.ID);
|
Employee existingEmployee = Database.Context.Employees.Find(updatedEmployee.ID);
|
||||||
if (existingEmployee != null)
|
if (existingEmployee != null)
|
||||||
@@ -151,7 +189,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DeleteEmployee(int employeeId)
|
public void DeleteEmployee(int employeeId)
|
||||||
{
|
{
|
||||||
Employee employeeToDelete = Database.Context.Employees.Find(employeeId);
|
Employee employeeToDelete = Database.Context.Employees.Find(employeeId);
|
||||||
if (employeeToDelete != null)
|
if (employeeToDelete != null)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
{
|
{
|
||||||
public static class Database
|
public static class Database
|
||||||
{
|
{
|
||||||
public static CompanyDbContext Context { get; set; }
|
public static CompanyDbContext Context = new CompanyDbContext();
|
||||||
}
|
}
|
||||||
public class CompanyDbContext : DbContext
|
public class CompanyDbContext : DbContext
|
||||||
{
|
{
|
||||||
@@ -42,6 +42,24 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
.HasForeignKey(customer => customer.SERVICE_ID)
|
.HasForeignKey(customer => customer.SERVICE_ID)
|
||||||
.OnDelete(DeleteBehavior.Cascade));
|
.OnDelete(DeleteBehavior.Cascade));
|
||||||
|
|
||||||
|
modelBuilder.Entity<Service>(service => service
|
||||||
|
.HasOne<MaintainerTeam>()
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey(service => service.MAINTAINER_ID)
|
||||||
|
.OnDelete(DeleteBehavior.SetNull));
|
||||||
|
|
||||||
|
modelBuilder.Entity<MaintainerTeam>(team => team
|
||||||
|
.HasOne<Employee>()
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey(team => team.LEADER_ID)
|
||||||
|
.OnDelete(DeleteBehavior.SetNull));
|
||||||
|
|
||||||
|
modelBuilder.Entity<Employee>(emp => emp
|
||||||
|
.HasOne<Employee>()
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey(emp => emp.MANAGER_ID)
|
||||||
|
.OnDelete(DeleteBehavior.SetNull));
|
||||||
|
|
||||||
//loading test values
|
//loading test values
|
||||||
modelBuilder.Entity<Customer>().HasData(
|
modelBuilder.Entity<Customer>().HasData(
|
||||||
new Customer{
|
new Customer{
|
||||||
@@ -54,27 +72,27 @@ namespace WD7UVN_HFT_2023241.Repository
|
|||||||
new Service{
|
new Service{
|
||||||
NAME = "Microsoft Exchange",
|
NAME = "Microsoft Exchange",
|
||||||
ID = 1,
|
ID = 1,
|
||||||
MAINTAINER = 1}
|
MAINTAINER_ID = 1}
|
||||||
);
|
);
|
||||||
|
|
||||||
modelBuilder.Entity<MaintainerTeam>().HasData(
|
modelBuilder.Entity<MaintainerTeam>().HasData(
|
||||||
new MaintainerTeam{
|
new MaintainerTeam{
|
||||||
ID = 1,
|
ID = 1,
|
||||||
NAME = "Microsoft Team",
|
NAME = "Microsoft Team",
|
||||||
LEADER_EMPLOYEE_ID = 2}
|
LEADER_ID = 2}
|
||||||
);
|
);
|
||||||
|
|
||||||
modelBuilder.Entity<Employee>().HasData(
|
modelBuilder.Entity<Employee>().HasData(
|
||||||
new Employee{
|
new Employee{
|
||||||
ID = 1,
|
ID = 1,
|
||||||
NAME = "Gipsz Jakab",
|
NAME = "Gipsz Jakab",
|
||||||
MANAGER = 2,
|
MANAGER_ID = 2,
|
||||||
MAINTAINER_ID = 1},
|
MAINTAINER_ID = 1},
|
||||||
|
|
||||||
new Employee{
|
new Employee{
|
||||||
NAME = "Székely Csaba",
|
NAME = "Székely Csaba",
|
||||||
ID = 3,
|
ID = 3,
|
||||||
MANAGER = 2,
|
MANAGER_ID = 2,
|
||||||
MAINTAINER_ID = 1},
|
MAINTAINER_ID = 1},
|
||||||
|
|
||||||
new Employee{
|
new Employee{
|
||||||
|
|||||||
Reference in New Issue
Block a user