public async Task <List <Employee> > GetAllEmployees() { using (var context = ContextFactory.CreateDbContext(ConnectionString)) { List <Employee> employees = context.Employees.ToList(); foreach (Employee employee in employees) { List <CabinetPhone> cabinetPhones = new List <CabinetPhone>(); List <EmployeeCabinetPhone> employeeCabinetPhones = context.EmployeeCabinetPhones.FromSqlRaw("SELECT employeeId, cabinetPhoneId FROM EmployeeCabinetPhones WHERE employeeId = {0}", employee.Id).ToList(); foreach (var employeeCabinetPhone in employeeCabinetPhones) { CabinetPhone cabinetPhone = context.CabinetPhones.FirstOrDefault(p => p.Id == employeeCabinetPhone.CabinetPhoneId); cabinetPhone.EmployeeCabinetPhones = new List <EmployeeCabinetPhone>(); cabinetPhone.Cabinet = context.Cabinets.FirstOrDefault(c => c.Id == cabinetPhone.CabinetId); cabinetPhone.Cabinet.CabinetPhones = new List <CabinetPhone>(); cabinetPhone.Phone = context.Phones.FirstOrDefault(p => p.Id == cabinetPhone.PhoneId); cabinetPhone.Phone.CabinetPhones = new List <CabinetPhone>(); cabinetPhones.Add(cabinetPhone); } employee.EmployeeCabinetPhones = new List <EmployeeCabinetPhone>(); employee.CabinetPhones = cabinetPhones; } return(employees); } }
public async Task AddEmployeeToPhone(int employeeId, int cabinetPhoneId) { CabinetPhone cabinetPhone = await cabinetPhoneService.GetCabinetPhone(cabinetPhoneId); Employee employee = await employeeService.GetEmployee(employeeId); await employeeService.AddEmployeeToPhone(cabinetPhone, employee); }
public async Task DeletePhoneFromEmployee(Employee employee, CabinetPhone cabinetPhone) { using (var context = ContextFactory.CreateDbContext(ConnectionString)) { context.Database.ExecuteSqlRaw("DELETE FROM EmployeeCabinetPhones WHERE CabinetPhoneId={0} AND EmployeeId={1}", cabinetPhone.Id, employee.Id); await context.SaveChangesAsync(); } }
public async Task AddEmployeeToPhone(CabinetPhone cabinetPhone, Employee employee) { using (var context = ContextFactory.CreateDbContext(ConnectionString)) { context.Database.ExecuteSqlRaw("INSERT INTO EmployeeCabinetPhones (EmployeeId, CabinetPhoneId) VALUES ({0}, {1})", employee.Id, cabinetPhone.Id); await context.SaveChangesAsync(); } }
public async Task <CabinetPhone> GetCabinetPhone(int cabinetPhoneId) { using (var context = ContextFactory.CreateDbContext(ConnectionString)) { CabinetPhone cabinetPhone = context.CabinetPhones.FirstOrDefault(cp => cp.Id == cabinetPhoneId); return(cabinetPhone); } }
public async Task <CabinetPhone> GetCabinetPhone(int cabinetPhoneId) { CabinetPhone cabinetPhone = await _repository.GetCabinetPhone(cabinetPhoneId); cabinetPhone.Phone = await phoneRepository.GetPhone(unchecked ((int)cabinetPhone.PhoneId)); cabinetPhone.Cabinet = await cabinetRepository.GetCabinet(unchecked ((int)cabinetPhone.CabinetId)); return(cabinetPhone); }
public async Task AddCabinetToPhone(Phone phone, Cabinet cabinet) { using (var context = ContextFactory.CreateDbContext(ConnectionString)) { CabinetPhone cabinetPhone = new CabinetPhone(); cabinetPhone.Cabinet = cabinet; cabinetPhone.CabinetId = cabinet.Id; cabinetPhone.Phone = phone; cabinetPhone.PhoneId = phone.Id; context.Database.ExecuteSqlRaw("INSERT INTO CabinetPhones (CabinetId, PhoneId) VALUES ({0}, {1})", cabinetPhone.CabinetId, cabinetPhone.PhoneId); await context.SaveChangesAsync(); } }
public async Task <ActionResult <Employee> > DeleteCabinetFromPhone(int employeeId, int cabinetPhoneId) { CabinetPhone cabinetPhone = await cabinetPhoneService.GetCabinetPhone(cabinetPhoneId); Employee employee = await employeeService.GetEmployee(employeeId); if (employee == null) { return(BadRequest()); } await employeeService.DeletePhoneFromEmployee(employee, cabinetPhone); return(Ok(employee)); }
public async Task DeletePhoneFromEmployee(Employee employee, CabinetPhone cabinetPhone) { await _repository.DeletePhoneFromEmployee(employee, cabinetPhone); }
public async Task AddEmployeeToPhone(CabinetPhone cabinetPhone, Employee employee) { await _repository.AddEmployeeToPhone(cabinetPhone, employee); }