public async Task <QualificationSupplierDataReviewViewModel> GetSupplierDataReviewModel(int qualificationId, string supplierId) { int QualificationTypeId = 0; QualificationSupplierDataReviewViewModel supplierData = new QualificationSupplierDataReviewViewModel(); var List = await _context.QualificationSupplierData.Where(q => q.TenderId == qualificationId && q.SupplierSelectedCr == supplierId && q.IsActive == true) .Select(q => new QualificationSupplierDataModel { QualificationConfigurationId = q.ID, ItemCode = q.QualificationItem.Code, QualificationItemId = q.QualificationItem.ID, QualificationItemName = q.QualificationItem.Name, PointValue = q.PointValue, QualificationItemTypeId = q.QualificationItem.QualificationItemTypeId, lstQualificationConfigurationAttachmentModel = (q.QualificationConfigurationAttachments == null ? null : q.QualificationConfigurationAttachments.Select(e => new ViewModel.Qualification.QualificationConfigurationAttachmentModel { FileReferenceId = e.FileReferenceId, FileName = e.FileName, QualificationSupplierDataId = e.QualificationSupplierDataId }).ToList()), lstQualificationSupplierProjectModel = (q.QualificationSupplierProjects == null ? null : q.QualificationSupplierProjects.Select(e => new QualificationSupplierProjectModel { ContractName = e.ContractName, OwnerName = e.OwnerName, ContractValue = e.ContractValue, Description = e.Description, EmailAddress = e.EmailAddress, EndDateStr = (e.EndDate != null ? e.EndDate.Value.ToHijriDateWithFormat("dd/MM/yyyy") : string.Empty), StartDateStr = (e.StartDate != null ? e.StartDate.Value.ToHijriDateWithFormat("dd/MM/yyyy") : string.Empty), PhoneNumber = e.PhoneNumber }).ToList()), QualificationTypeId = q.Tender.QualificationTypeId.HasValue ? q.Tender.QualificationTypeId.Value : 0, QualificationSubCategoryId = q.QualificationItem.SubCategoryId, QualificationCategoryId = q.QualificationItem.QualificationSubCategory.QualificationCategoryId, TenderIdStr = Util.Encrypt(q.TenderId), SupplierValueString = q.QualificationItem.QualificationItemTypeId == (int)Enums.QualificationItemType.Select ? q.QualificationLookup.Name : q.SupplierValue.ToString(), InsuranceProvider = q.InsuranceProvider, InsuranceCoverage = q.LevelOfCoverage, InsuranceCoverageEndDateStr = (q.CoverageExpireDate != null ? q.CoverageExpireDate.Value.ToHijriDateWithFormat("dd/MM/yyyy") : string.Empty), Weight = q.Weight, TenderStatusId = q.Tender.TenderStatusId }).OrderBy(q => q.ItemCode).ToListAsync(); if (List != null && List.Count > 0) { QualificationTypeId = (List != null && List.Count > 0 ? List.Select(a => a.QualificationTypeId).FirstOrDefault() : 0); var yearlyList = _context.QualificationSupplierDataYearly.Where(y => y.TenderId == qualificationId && y.SupplierSelectedCr == supplierId && y.IsActive == true) .Include(y => y.QualificationItem).AsEnumerable().GroupBy(y => y.QualificationItemId) .Select(x => new QualificationSupplierDataYearlyViewModel { ItemCode = x.FirstOrDefault().QualificationItem.Code, CurrentYear = x.Where(xx => xx.QualificationYearId == (int)Enums.QualificationYear.CurrentYear).FirstOrDefault().SupplierValue, Year1 = (QualificationTypeId != (int)Enums.PreQualificationType.Small ? x.Where(xx => xx.QualificationYearId == (int)Enums.QualificationYear.SecondYear).FirstOrDefault().SupplierValue : 0.0M), Year2 = (QualificationTypeId != (int)Enums.PreQualificationType.Small ? x.Where(xx => xx.QualificationYearId == (int)Enums.QualificationYear.ThirdYear).FirstOrDefault().SupplierValue : 0.0M), Name = x.FirstOrDefault().QualificationItem.Name, }).OrderBy(a => a.ItemCode) .ToList(); supplierData.lstQualificationSupplierTechDataModel = (List != null && List.Count > 0 ? List.Where(l => l.QualificationCategoryId == (int)Enums.QualificationItemCategory.Technical).ToList() : null); supplierData.lstQualificationSupplierFinancialDataModel = (List != null && List.Count > 0 ? List.Where(l => l.QualificationCategoryId == (int)Enums.QualificationItemCategory.Financial).ToList() : null); supplierData.QualificationTypeId = (List != null && List.Count > 0 ? List.FirstOrDefault().QualificationTypeId : 0); supplierData.SupplierCR = supplierId; supplierData.TenderIdStr = Util.Encrypt(qualificationId); supplierData.TenderStatusId = List.Count > 0 ? List.FirstOrDefault().TenderStatusId : 0; supplierData.lstQualificationSupplierProjectModel = (List != null && List.Count > 0 ? List.Where(a => a.QualificationItemId == (int)Enums.QualificationEvaluationItems.NumberOfProjectsImplementedLastThreeYears).FirstOrDefault()?.lstQualificationSupplierProjectModel : null); supplierData.QualificationSupplierDataYearly = yearlyList; } return(supplierData); }
public async Task <IViewComponentResult> InvokeAsync(string qualificationId, string SupplierId) { QualificationSupplierDataReviewViewModel result = await _ApiClient.GetAsync <QualificationSupplierDataReviewViewModel>("Qualification/GetSupplierDataReviewModel/" + Util.Decrypt(qualificationId) + "/" + SupplierId, null); return(View(result)); }