public IHttpActionResult DeleteEmployee(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); Employee employee = unitOfWork.EmployeesRepository .Get(d => d.Id == id, includeProperties: "Address,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage,Address.Country") .FirstOrDefault(); employee.Deleted = true; unitOfWork.EmployeesRepository.Update(employee); unitOfWork.Save(); EmployeeEditDTO dto = employee.ToDTOEdit(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PostEmployee(EmployeeEditDTO employee) { if (employee == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } try { Employee e = employee.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); e.Id = e.NewId(unitOfWork); e.Address.Id = e.Address.NewId(unitOfWork); e.AddressId = e.Address.Id; unitOfWork.EmployeesRepository.Insert(e); EmployeeEditDTO dto = e.ToDTOEdit(); return(CreatedAtRoute("GetEmployeeEdit", new { id = dto.Id }, dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PutEmployee(int id, EmployeeEditDTO employee) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != employee.Id) { return(BadRequest()); } try { Employee empl = employee.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); unitOfWork.AddressesRepository.Update(empl.Address); unitOfWork.EmployeeInsurancesRepository.Update(empl.EmployeeInsurance); unitOfWork.EmployeesRepository.UpdateFields(empl, "Id,Sex,IdentityCode,DateOfBirth,AddressId,EmployeeInsuranceId"); unitOfWork.Save(); EmployeeEditDTO dto = unitOfWork.EmployeesRepository .Get(d => d.Id == id, includeProperties: "Address,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage,Address.Country,EmployeeInsurance") .FirstOrDefault().ToDTOEdit(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult GetEmployeeEdit(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); EmployeeEditDTO employee = unitOfWork.EmployeesRepository .Get(d => d.Id == id, includeProperties: "Address,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage,Address.Country,EmployeeInsurance") .FirstOrDefault().ToDTOEdit(); return(Ok(employee)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }