예제 #1
0
 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));
     }
 }
예제 #2
0
        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));
            }
        }
예제 #3
0
        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));
            }
        }
예제 #4
0
 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));
     }
 }