public static void UpdateEntitleDayManagement(this EntitleDay entitleDay, EntitleDayManagementViewModel entitleDayManagementViewModel) { entitleDay.ID = entitleDayManagementViewModel.ID; entitleDay.HolidayType = entitleDayManagementViewModel.HolidayType; entitleDay.UnitType = entitleDayManagementViewModel.UnitType; entitleDay.MaxEntitleDay = entitleDayManagementViewModel.MaxEntitleDay; entitleDay.Description = entitleDayManagementViewModel.Description; entitleDay.Status = entitleDayManagementViewModel.Status; }
public async Task <HttpResponseMessage> Create(HttpRequestMessage request, EntitleDayManagementViewModel entitleDayManagementViewModel) { return(await CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState); } else if (_entitleDayManagemantService.CheckHolidayType(entitleDayManagementViewModel.HolidayType, entitleDayManagementViewModel.ID)) { return request.CreateResponse(HttpStatusCode.BadRequest, Common.Constants.MessageSystem.Create_EntitleDayManagement_Error); } else if (entitleDayManagementViewModel.MaxEntitleDay == CommonConstants.MinEntitleDay || entitleDayManagementViewModel.MaxEntitleDay > CommonConstants.MaxEntitleDay) { return request.CreateResponse(HttpStatusCode.BadRequest, Common.Constants.MessageSystem.MaxEntitleDay_Error); } else if (entitleDayManagementViewModel.HolidayType == CommonConstants.UnpaidLeave) { return request.CreateResponse(HttpStatusCode.BadRequest, Common.Constants.MessageSystem.NoSalary_Error); } else { EntitleDay newEntitleDay = new EntitleDay(); entitleDayManagementViewModel.Status = true; if (entitleDayManagementViewModel.HolidayType == CommonConstants.UnpaidLeave) { entitleDayManagementViewModel.Status = false; } newEntitleDay.UpdateEntitleDayManagement(entitleDayManagementViewModel); var model = _entitleDayManagemantService.Add(newEntitleDay); var responseData = Mapper.Map <EntitleDay, EntitleDayManagementViewModel>(newEntitleDay); _entitleDayService.Add(model); response = request.CreateResponse(HttpStatusCode.Created, responseData); } return response; })); }
public async Task <HttpResponseMessage> Update(HttpRequestMessage request, EntitleDayManagementViewModel entitleDayManagementViewModel) { return(await CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState); } else if (_entitleDayManagemantService.CheckHolidayType(entitleDayManagementViewModel.HolidayType, entitleDayManagementViewModel.ID)) { return request.CreateResponse(HttpStatusCode.BadRequest, Common.Constants.MessageSystem.Create_EntitleDayManagement_Error); } else if (entitleDayManagementViewModel.MaxEntitleDay == CommonConstants.MinEntitleDay || entitleDayManagementViewModel.MaxEntitleDay > CommonConstants.MaxEntitleDay) { return request.CreateResponse(HttpStatusCode.BadRequest, Common.Constants.MessageSystem.MaxEntitleDay_Error); } else { var dbEntitleDay = _entitleDayManagemantService.GetByIdEntitleDay(entitleDayManagementViewModel.ID); float numberDayOff = entitleDayManagementViewModel.MaxEntitleDay - dbEntitleDay.MaxEntitleDay; dbEntitleDay.UpdateEntitleDayManagement(entitleDayManagementViewModel); _entitleDayManagemantService.Update(dbEntitleDay); var model = _entitleDayAppUserService.GetAll(); foreach (var item in model) { if (item.EntitleDayId == dbEntitleDay.ID) { item.MaxEntitleDayAppUser = item.MaxEntitleDayAppUser + numberDayOff; item.MaxEntitleDayAppUser = (item.MaxEntitleDayAppUser < 0) ? 0 : item.MaxEntitleDayAppUser; _entitleDayAppUserService.Update(item); } } _entitleDayAppUserService.Save(); response = request.CreateResponse(HttpStatusCode.Created, dbEntitleDay); } return response; })); }