Files
Prog4_Beadando/WD7UVN_HFT_2023241.Repository/CRUD.cs

195 lines
6.5 KiB
C#
Raw Normal View History

2023-11-22 11:39:16 +01:00
using System;
2023-11-22 11:47:56 +01:00
using System.Linq;
2023-11-22 11:39:16 +01:00
using Microsoft.EntityFrameworkCore;
using WD7UVN_HFT_2023241.Models;
using WD7UVN_HFT_2023241.Repository;
namespace WD7UVN_HFT_2023241.Repository
{
2023-11-22 14:02:02 +01:00
public interface ICustomerRepository
{
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 interface IMaintainerTeamRepository
{
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 interface IServiceRepository
2023-11-22 11:39:16 +01:00
{
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 interface IEmployeeRepository
{
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 interface ICRUD : ICustomerRepository, IEmployeeRepository, IMaintainerTeamRepository, IServiceRepository { }
public class CRUD : ICRUD
{
public void CreateEmployee(Employee employee)
2023-11-22 11:39:16 +01:00
{
Database.Context.Employees.Add(employee);
2023-11-22 11:39:16 +01:00
Database.Context.SaveChanges();
}
2023-12-13 22:04:43 +01:00
public Employee? ReadEmployee(int employeeId)
2023-11-22 11:39:16 +01:00
{
return Database.Context.Employees.Find(employeeId);
2023-11-22 11:39:16 +01:00
}
2023-12-13 22:04:43 +01:00
public IQueryable<Employee>? ReadAllEmployees()
2023-11-22 11:47:56 +01:00
{
return Database.Context.Employees.AsQueryable();
2023-11-22 11:47:56 +01:00
}
public void UpdateEmployee(Employee updatedEmployee)
2023-11-22 11:39:16 +01:00
{
Employee existingEmployee = Database.Context.Employees.Find(updatedEmployee.ID);
if (existingEmployee != null)
2023-11-22 11:39:16 +01:00
{
Database.Context.Entry(existingEmployee).CurrentValues.SetValues(updatedEmployee);
2023-11-22 11:39:16 +01:00
Database.Context.SaveChanges();
}
}
public void DeleteEmployee(int employeeId)
2023-11-22 11:39:16 +01:00
{
Employee employeeToDelete = Database.Context.Employees.Find(employeeId);
if (employeeToDelete != null)
2023-11-22 11:39:16 +01:00
{
Database.Context.Employees.Remove(employeeToDelete);
2023-11-22 11:39:16 +01:00
Database.Context.SaveChanges();
}
}
2023-11-22 14:02:02 +01:00
public void CreateService(Service service)
2023-11-22 11:39:16 +01:00
{
Database.Context.Services.Add(service);
Database.Context.SaveChanges();
}
2023-12-13 22:04:43 +01:00
public Service? ReadService(int serviceId)
2023-11-22 11:39:16 +01:00
{
return Database.Context.Services.Find(serviceId);
}
2023-12-13 22:04:43 +01:00
public IQueryable<Service>? ReadAllServices()
2023-11-22 11:47:56 +01:00
{
return Database.Context.Services.AsQueryable();
}
2023-11-22 14:02:02 +01:00
public void UpdateService(Service updatedService)
2023-11-22 11:39:16 +01:00
{
Service existingService = Database.Context.Services.Find(updatedService.ID);
if (existingService != null)
{
Database.Context.Entry(existingService).CurrentValues.SetValues(updatedService);
Database.Context.SaveChanges();
}
}
2023-11-22 14:02:02 +01:00
public void DeleteService(int serviceId)
2023-11-22 11:39:16 +01:00
{
Service serviceToDelete = Database.Context.Services.Find(serviceId);
if (serviceToDelete != null)
{
Database.Context.Services.Remove(serviceToDelete);
Database.Context.SaveChanges();
}
}
public void CreateMaintainerTeam(MaintainerTeam maintainerTeam)
{
Database.Context.Maintainers.Add(maintainerTeam);
Database.Context.SaveChanges();
}
2023-11-22 14:02:02 +01:00
2023-12-13 22:04:43 +01:00
public MaintainerTeam? ReadMaintainerTeam(int maintainerTeamId)
2023-11-22 11:39:16 +01:00
{
return Database.Context.Maintainers.Find(maintainerTeamId);
}
2023-12-13 22:04:43 +01:00
public IQueryable<MaintainerTeam>? ReadAllMaintainerTeams()
{
return Database.Context.Maintainers.AsQueryable();
}
public void UpdateMaintainerTeam(MaintainerTeam updatedMaintainerTeam)
{
MaintainerTeam existingMaintainerTeam = Database.Context.Maintainers.Find(updatedMaintainerTeam.ID);
if (existingMaintainerTeam != null)
{
Database.Context.Entry(existingMaintainerTeam).CurrentValues.SetValues(updatedMaintainerTeam);
Database.Context.SaveChanges();
}
}
public void DeleteMaintainerTeam(int maintainerTeamId)
{
MaintainerTeam maintainerTeamToDelete = Database.Context.Maintainers.Find(maintainerTeamId);
if (maintainerTeamToDelete != null)
{
Database.Context.Maintainers.Remove(maintainerTeamToDelete);
Database.Context.SaveChanges();
}
}
public void CreateCustomer(Customer customer)
{
Database.Context.Customers.Add(customer);
2023-11-22 11:39:16 +01:00
Database.Context.SaveChanges();
}
2023-12-13 22:04:43 +01:00
public Customer? ReadCustomer(int customerId)
2023-11-22 11:39:16 +01:00
{
return Database.Context.Customers.Find(customerId);
2023-11-22 11:39:16 +01:00
}
2023-12-13 22:04:43 +01:00
public IQueryable<Customer>? ReadAllCustomers()
2023-11-22 11:47:56 +01:00
{
return Database.Context.Customers.AsQueryable();
2023-11-22 11:47:56 +01:00
}
public void UpdateCustomer(Customer updatedCustomer)
2023-11-22 11:39:16 +01:00
{
Customer existingCustomer = Database.Context.Customers.Find(updatedCustomer.ID);
if (existingCustomer != null)
2023-11-22 11:39:16 +01:00
{
Database.Context.Entry(existingCustomer).CurrentValues.SetValues(updatedCustomer);
2023-11-22 11:39:16 +01:00
Database.Context.SaveChanges();
}
}
public void DeleteCustomer(int customerId)
2023-11-22 11:39:16 +01:00
{
Customer customerToDelete = Database.Context.Customers.Find(customerId);
if (customerToDelete != null)
2023-11-22 11:39:16 +01:00
{
Database.Context.Customers.Remove(customerToDelete);
2023-11-22 11:39:16 +01:00
Database.Context.SaveChanges();
}
}
}
}