public static void UpdateConfigDelegation(this ConfigDelegation delegation, ConfigDelegationModel delegationVm) { delegation.AssignTo = delegationVm.AssignTo; delegation.StartDate = delegationVm.StartDate; delegation.EndDate = delegationVm.EndDate; }
public HttpResponseMessage AddConfigDelegation(HttpRequestMessage request, string userId, string groupId, ConfigDelegationModel delegationVm) { if (!ModelState.IsValid) { return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } else { //List<ExplanationRequest> lstExplanationRequest = new List<ExplanationRequest>(); //var ChangeStatusById = AppUserManager.FindByNameAsync(User.Identity.Name).Result.Id; List <object> lstData = new List <object>(); var delegationData = _configDelegationService.GetDataDelegationById(delegationVm.ID.ToString()); delegationData.UpdateConfigDelegation(delegationVm); _configDelegationService.Update(delegationData); _configDelegationService.SaveChange(); //Get request by user and group.Filter by StatusRequest is Pendding or Delegate in about time var model = _requestService.GetAllRequestByUser(userId, groupId); var data = model.Where(x => (x.StatusRequest.Name.Equals(CommonConstants.StatusPending) || x.StatusRequest.Name.Equals(CommonConstants.StatusDelegation)) && x.CreatedDate.Value.Date >= delegationData.StartDate && x.CreatedDate.Value.Date <= delegationData.EndDate); lstData.AddRange(data); _configDelegationService.ChangeStatusRequestConfigDelegate(delegationData.AssignTo, data.ToList()); //Get explanation by userid and groupid.Filter by StatusRequest is Pending or Delegate var explanation = _explanationRequestService.GetListExplanationByUser(userId, groupId); var dataExplanation = explanation.Where(a => (a.StatusRequest.Name.Equals(CommonConstants.StatusPending) || a.StatusRequest.Name.Equals(CommonConstants.StatusDelegation)) && a.CreatedDate.Value.Date >= delegationData.StartDate && a.CreatedDate.Value.Date <= delegationData.EndDate); lstData.AddRange(explanation); _configDelegationService.ChangeStatusExplanationRequestConfigDelegate(delegationData.AssignTo, dataExplanation.ToList()); return(request.CreateResponse(HttpStatusCode.Created, lstData)); } }