public async Task <IBusinessResult> AddOrModfiyFinalPromotionAsync(List <MemberPromotion> entities) { var result = new BusinessResult(); try { var result_validator = lstValidationRules.Validate(entities); if (!result_validator.IsValid) { result.PopulateValidationErrors(result_validator.Errors); return(result); } entities.ForEach(memshar => { unitOfWork.MemberPromotionDataService.Update(memshar); }); await unitOfWork.CommitAsync(); result.ReturnMessage.Add(MESSAGE_ADD_ENTITY); } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }
public async Task <IBusinessResult> AddOrUpdateAsync(CostCoefficient entity) { var result = new BusinessResult(); try { ValidationResult validationResult = validator.Validate(entity); if (validationResult.IsValid == false) { result.PopulateValidationErrors(validationResult.Errors); return(result); } entity.Records.ForEach(x => unitOfWork.CostCoefficientDataService.InsertOrUpdate(x)); await unitOfWork.CommitAsync(); result.ReturnStatus = true; result.ReturnMessage.Add("ثبت اطلاعات با موفقیت انجام گردید"); } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }
public virtual async Task <IBusinessResult> UpdateAsync(TEntity entity) { var result = new BusinessResult(); try { if (validator != null) { ValidationResult results = await validator.ValidateAsync(entity); bool validationSucceeded = results.IsValid; IList <ValidationFailure> failures = results.Errors; if (validationSucceeded == false) { result.PopulateValidationErrors(failures); return(result); } } dataRepository.Update(entity); await unitOfWork.CommitAsync(); result.ReturnStatus = true; result.ReturnMessage.Add(".ویرایش اطلاعات با موفقیت انجام شد"); } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }
public async Task <IBusinessResult> DeleteOrgStructureShareDTOAsync(OrgStructureShareDTO personelShareDTO) { var result = new BusinessResult(); try { personelShareDTO.Items .Where(x => x.Id != 0) .ToList() .ForEach(x => { unitOfWork.OrgStructureShareDataService.Delete(x); }); await unitOfWork.CommitAsync(); result.ReturnMessage.Add(" اطلاعات با موفقیت حذف شد"); } catch (DbEntityValidationException ex) { result.PopulateValidationErrors(ex); } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }
public async Task <IBusinessResult> SaveAsync(List <FulfillmentPromotionCondition> lstGeneralGoal) { var result = new BusinessResult(); try { lstGeneralGoal = lstGeneralGoal.Where(x => x.ManagerPromotion.HasValue || x.TotalSalesFulfilledPercent.HasValue || x.PrivateReceiptFulfilledPercent.HasValue || x.SellerPromotion.HasValue || x.TotalReceiptFulfilledPercent.HasValue).ToList(); var validatorResult = await validator.ValidateAsync(lstGeneralGoal); if (validatorResult.IsValid == false) { result.PopulateValidationErrors(validatorResult.Errors); return(result); } var totalFulfillEnity = lstGeneralGoal.FirstOrDefault(); lstGeneralGoal.ForEach(x => unitOfWork.TotalFulfillPromotionPercentDataService.InsertOrUpdate(x)); await unitOfWork.CommitAsync(); result.ReturnMessage.Add(MESSAGE_ADD_ENTITY); } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }
public async Task <IBusinessResult> CreateOrModifyPermissionAsync(Permission permission) { var result = new BusinessResult(); try { var lst_existPermissions = await unitOfWork.PermissionDataService.GetAsync(x => x.RoleId == permission.RoleId , includes : x => x.ApplicationAction); var lst_newAppActions = await unitOfWork.ApplicationActionDataService .GetAsync(x => permission.Urls.Contains(x.HtmlUrl)); var lst_existAppActions = lst_existPermissions.Select(x => x.ApplicationAction); var lst_removeAppActions = lst_existAppActions.Except(lst_newAppActions, x => x.Id); var lst_insertAppActions = lst_newAppActions.Except(lst_existAppActions, x => x.Id); (from revAct in lst_removeAppActions join extPermission in lst_existPermissions on revAct.Id equals extPermission.ApplicationActionId select extPermission) .ToList() .ForEach(extPermission => { unitOfWork.PermissionDataService.Delete(extPermission); }); foreach (var act in lst_insertAppActions) { unitOfWork.PermissionDataService.Insert(new Permission { RoleId = permission.RoleId, ApplicationActionId = act.Id }); } await unitOfWork.CommitAsync(); result.ReturnStatus = true; result.ReturnMessage.Add("سطوح دسترسی برای نقش اننخاب شده با موفقیت تعریف شد"); } catch (DbEntityValidationException ex) { result.PopulateValidationErrors(ex); } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }
public async Task <IBusinessResult> CreateOrEditAsync(List <OrgStructure> lstOrgStructure) { var result = new BusinessResult(); try { var rslt_validator = validator.Validate(lstOrgStructure); if (rslt_validator.IsValid == false) { result.PopulateValidationErrors(rslt_validator.Errors); result.ReturnStatus = false; return(result); } var positionTypeId = lstOrgStructure.FirstOrDefault().PositionTypeId; var lst_ExistsData = await unitOfWork.OrgStructureDataService.GetAsync(x => x.PositionTypeId == positionTypeId); var lst_newData = lstOrgStructure.Except(lst_ExistsData, x => x.BranchId); // add new orgsturctures foreach (var item in lst_newData) { unitOfWork.OrgStructureDataService.Insert(item); } var lst_removeData = lst_ExistsData.Except(lstOrgStructure, x => x.BranchId); // delete new orgsturctures foreach (var item in lst_removeData) { unitOfWork.OrgStructureDataService.Delete(item); } await unitOfWork.CommitAsync(); result.ReturnMessage.Add(MESSAGE_ADD_ENTITY); result.ReturnStatus = true; } catch (Exception ex) { CatchException(ex, result, "", ""); } return(result); }
public async Task <IBusinessResult> UpdateGoalAsync(Goal goalEntity) { var result = new BusinessResult(); try { if (goalEntity.IsUsed == true) { result.ReturnMessage.Add("هدف برای محاسبه پورسانت استفاده شده است و امکان تغییر اطلاعات هدف وجود ندارد"); result.ReturnStatus = false; return(result); } if (goalEntity.GoalGoodsCategoryTypeId >= GoalGoodsCategoryTypeEnum.TotalSalesGoal && goalEntity.GoalGoodsCategoryTypeId <= GoalGoodsCategoryTypeEnum.ReceiptGovernGoal) { var generalGoalStep = await unitOfWork.GoalStepDataService.FirstOrDefaultAsync(x => x.GoalId == goalEntity.Id); generalGoalStep.ComputingValue = goalEntity.Amount.Value; goalEntity.GoalSteps.Add(generalGoalStep); } ValidationResult results = await validator.ValidateAsync(goalEntity); if (results.IsValid == false) { result.PopulateValidationErrors(results.Errors); return(result); } unitOfWork.GoalDataService.Update(goalEntity); await unitOfWork.CommitAsync(); result.ReturnStatus = true; result.ReturnMessage.Add(MESSAGE_MODIFY_ENTITY); } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }
public async Task <IBusinessResult> CreateOrModify(List <ApplicationAction> applicationActions) { var result = new BusinessResult(); try { ValidationResult validationResult = validator.Validate(applicationActions); if (validationResult.IsValid == false) { result.PopulateValidationErrors(validationResult.Errors); return(result); } var htmlUrl = applicationActions.FirstOrDefault().HtmlUrl; var existData = await unitOfWork.ApplicationActionDataService.GetAsync(x => x.HtmlUrl == htmlUrl); var lst_removeActions = existData.Except(applicationActions, x => x.ActionUrl); var lst_newActions = applicationActions.Except(existData, x => x.ActionUrl); foreach (var item in lst_newActions) { unitOfWork.ApplicationActionDataService.Insert(item); } foreach (var item in lst_removeActions) { unitOfWork.ApplicationActionDataService.Delete(item); } await unitOfWork.CommitAsync(); result.ReturnStatus = true; result.ReturnMessage.Add(" اطلاعات با موفقیت ثبت گردید"); } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }
public async Task <IBusinessResult> CreateOrUpdateAsync(List <MemberPromotion> entities) { var result = new BusinessResult(); try { var result_validator = lstValidationRules.Validate(entities); if (!result_validator.IsValid) { result.PopulateValidationErrors(result_validator.Errors); return(result); } entities.ForEach(x => x.Member = null); var branchPromotionId = entities.First().BranchPromotionId; var lst_existEntities = await unitOfWork.MemberPromotionDataService .GetQuery() .Include(x => x.Details) .Where(x => x.BranchPromotionId == branchPromotionId && x.Deleted == false) .AsNoTracking() .ToListAsync(); var lst_newEntities = entities.Except(lst_existEntities, x => x.MemberId); foreach (var item in lst_newEntities) { unitOfWork.MemberPromotionDataService.Insert(item); } var lst_intersectEntities = entities.Intersect(lst_existEntities, x => x.MemberId); //foreach (var item in lst_intersectEntities.Where(x => x.Promotion == 0)) //{ // var exist_item = lst_existEntities.Single(x => x.MemberId == item.MemberId); // var arr_details = new MemberPromotionDetail[exist_item.Details.Count]; // exist_item.Details.CopyTo(arr_details, 0); // foreach (var detail in arr_details) // unitOfWork.MemberPromotionDetailDataService.Delete(detail, false); // unitOfWork.MemberPromotionDataService.Delete(exist_item, false); //} foreach (var item in lst_intersectEntities) { var exist_item = lst_existEntities.Single(x => x.MemberId == item.MemberId); foreach (var detail in item.Details) { var exist_item_detail = exist_item.Details.FirstOrDefault(x => x.MemberId == detail.MemberId && x.Deleted == false && x.ReviewPromotionStepId == ReviewPromotionStepEnum.Initial || x.ReviewPromotionStepId == ReviewPromotionStepEnum.Manager); if (exist_item_detail != null) { exist_item_detail.ReceiptPromotion = detail.ReceiptPromotion; exist_item_detail.CompensatoryPromotion = detail.CompensatoryPromotion; exist_item_detail.SupplierPromotion = detail.SupplierPromotion; exist_item_detail.BranchSalesPromotion = detail.BranchSalesPromotion; exist_item_detail.ReviewPromotionStepId = ReviewPromotionStepEnum.Manager; unitOfWork.MemberPromotionDetailDataService.Update(exist_item_detail); } } unitOfWork.MemberPromotionDataService.Update(exist_item); } await unitOfWork.CommitAsync(); result.ReturnMessage.Add(MESSAGE_ADD_ENTITY); result.ReturnStatus = true; } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }