public FIN_ClaimModel Post([Bind] FIN_ClaimModel model) { #region Validate string message = string.Empty; var checkValidate = HRM.Business.Main.Domain.ValidatorService.OnValidateData <FIN_ClaimModel>(model, "FIN_Claim", ref message); if (!checkValidate) { model.ActionStatus = message; return(model); } #endregion ActionService service = new ActionService(UserLogin); string status = string.Empty; var baseService = new BaseService(); var clainService = new FIN_ClaimService(); var claimEntity = new FIN_ClaimEntity(); claimEntity = model.CopyData <FIN_ClaimEntity>(); clainService.Add(claimEntity); var clainItemServices = new FIN_ClaimItemService(); var lstClaimItem = new List <FIN_ClaimItemEntity>(); var objs = new List <object>(); if (model.TravelRequestID != null) { objs.Add(model.TravelRequestID.Value); var lstRequestItemByRequestID = baseService.GetData <FIN_TravelRequestItemModel>(objs, ConstantSql.hrm_hr_sp_get_TravelRequestItemByTravelRequestID, UserLogin, ref status); if (lstRequestItemByRequestID != null) { foreach (var item in lstRequestItemByRequestID) { FIN_ClaimItemEntity entity = new FIN_ClaimItemEntity { ClaimID = claimEntity.ID, Date = item.Date.Value, Amount = item == null ? 0 : item.Amount.Value, Description = item.Description, }; lstClaimItem.Add(entity); } model.ActionStatus = clainItemServices.Add(lstClaimItem); return(model); } } return(service.UpdateOrCreate <FIN_ClaimEntity, FIN_ClaimModel>(model)); }
public void ActionSubmit(List <Guid> lstId, string status, Guid userId) { var statusMes = string.Empty; var objTravelRequest = new List <object>(); string UserLogin = string.Empty; using (var context = new VnrHrmDataContext()) { var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var repoTravelRequestItem = new CustomBaseRepository <FIN_ClaimItem>(unitOfWork); var lstTravelRequestItem = repoTravelRequestItem.GetAll().Where(s => s.IsDelete == null).ToList(); var claimID = lstTravelRequestItem.Where(s => s.ClaimID != null && lstId.Contains(s.ID)).Select(s => s.ClaimID).Distinct().FirstOrDefault(); var userEntity = GetData <Sys_UserInfoEntity>(userId, ConstantSql.hrm_sys_sp_get_UserbyId, UserLogin, ref statusMes).FirstOrDefault(); var claimEntity = new FIN_ClaimEntity(); if (claimID != null) { claimEntity = GetData <FIN_ClaimEntity>(claimID.Value, ConstantSql.hrm_hr_sp_get_ClaimById, UserLogin, ref statusMes).FirstOrDefault(); } if (lstId.Count > 0) { if (userEntity != null && claimEntity != null) { if (userEntity.ProfileID.Value == claimEntity.ProfileID.Value) { lstTravelRequestItem = lstTravelRequestItem.Where(s => lstId.Contains(s.ID)).ToList(); foreach (var item in lstTravelRequestItem) { item.Description2 = status; } repoTravelRequestItem.SaveChanges(); } } } } }