public async Task <QueryResult <BasicTenderModel> > FindSuppliersPurshaseReport(TenderSearchCriteriaModel criteria) { bool statusFlag = true; if (User.IsInRole(RoleNames.DataEntry) || User.IsInRole(RoleNames.Auditer)) { statusFlag = false; } var tenderSearchCriteria = _mapper.Map <TenderSearchCriteria>(criteria); var tenders = await _reportsService.FindSuppliersPurshaseReport(tenderSearchCriteria); QueryResult <BasicTenderModel> model = _mapper.Map <QueryResult <BasicTenderModel> >(tenders, opt => opt.Items["statusFlag"] = statusFlag); foreach (var item in model.Items) { var conditionBook = item.ConditionsBooklets.FirstOrDefault(); var invitation = item.Invitations.FirstOrDefault(); if (conditionBook != null) { if (conditionBook.ConfirmPurchase) { item.InvitationStatus += Resources.TenderResources.DisplayInputs.Paid; } else { item.InvitationStatus += Resources.TenderResources.DisplayInputs.NotPaid; } } if (invitation != null) { item.InvitationStatus += invitation.InvitationStatus.NameAr; } if (string.IsNullOrEmpty(item.InvitationStatus)) { item.InvitationStatus = "-"; } } return(model); }