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 <OrgStructureShareDTO> GetOrgStructureShareDTOAsync(int branchId) { OrgStructureShareDTO result = new OrgStructureShareDTO(); result.Branch = await(from br in dbContext.Branches where br.Id == branchId select br).FirstOrDefaultAsync(); var query = await(from org in dbContext.OrgStructures join perShare in dbContext.OrgStructureShare on org.Id equals perShare.OrgStructureId into persOrg where org.BranchId == branchId && org.Deleted == false from final in persOrg.Where(x => x.Deleted == false).DefaultIfEmpty() join post in dbContext.PositionTypes on org.PositionTypeId equals post.eId select new { Org = org, PositionType = post, OrgStructureShare = final, }) .ToListAsync(); result.Items = query.Select(x => new OrgStructureShare { OrgStructure = x.Org, Branch = result.Branch, BranchId = branchId, OrgStructureId = x.Org.Id, PrivateReceiptPercent = x.OrgStructureShare != null ? x.OrgStructureShare.PrivateReceiptPercent : null, TotalReceiptPercent = x.OrgStructureShare != null ? x.OrgStructureShare.TotalReceiptPercent : null, SalesPercent = x.OrgStructureShare != null ? x.OrgStructureShare.SalesPercent : null, MinimumPromotion = x.OrgStructureShare != null ? x.OrgStructureShare.MinimumPromotion : null, MaximumPromotion = x.OrgStructureShare != null ? x.OrgStructureShare.MaximumPromotion : null, Id = x.OrgStructureShare != null ? x.OrgStructureShare.Id : 0, }).ToList(); return(result); }
public async Task <IBusinessResultValue <OrgStructureShareDTO> > CreateOrgStructureShareDTOAsync(OrgStructureShareDTO personelShareDTO) { var result = new BusinessResultValue <OrgStructureShareDTO>(); try { ValidationResult validationResult = valdiator.Validate(personelShareDTO); if (validationResult.IsValid == false) { result.PopulateValidationErrors(validationResult.Errors); return(result); } personelShareDTO.Items .ForEach(x => { x.BranchId = personelShareDTO.Branch.Id; unitOfWork.OrgStructureShareDataService.InsertOrUpdateOrgStructureShare(x); }); await unitOfWork.CommitAsync(); result.ReturnMessage.Add(MESSAGE_ADD_ENTITY); result.ResultValue = personelShareDTO; } catch (Exception ex) { CatchException(ex, result, ""); } return(result); }