public IHttpActionResult PostEmployeeOffice(EmployeeOfficeDTO employeeOffice) { if (employeeOffice == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } try { EmployeeOffice office = employeeOffice.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); office.Id = office.NewId(unitOfWork); unitOfWork.EmployeeOfficesRepository.Insert(office); unitOfWork.Save(); EmployeeOfficeDTO dto = unitOfWork.EmployeeOfficesRepository.Get(d => d.Id == office.Id, includeProperties: "Office,Department,Profession").FirstOrDefault().ToDTO(); return(CreatedAtRoute("GetEmployeeOffice", new { id = dto.Id }, dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult DeleteEmployeeOffice(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); EmployeeOffice office = unitOfWork.EmployeeOfficesRepository.Get(d => d.Id == id, includeProperties: "Office,Department,Profession").FirstOrDefault(); office.Deleted = true; unitOfWork.EmployeeOfficesRepository.Update(office); unitOfWork.Save(); EmployeeOfficeDTO dto = office.ToDTO(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PutEmployeeOffice(int id, EmployeeOfficeDTO employeeOffice) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != employeeOffice.Id) { return(BadRequest()); } try { EmployeeOffice office = employeeOffice.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); unitOfWork.EmployeeOfficesRepository.Update(office); unitOfWork.Save(); EmployeeOfficeDTO dto = unitOfWork.EmployeeOfficesRepository.Get(d => d.Id == id, includeProperties: "Office,Department,Profession").FirstOrDefault().ToDTO(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }