/// <summary> /// Call service export vendor evaluation pdf report. /// </summary> /// <param name="model">The request information model for export report.</param> /// <returns></returns> public ResponseFileModel CallVendorEvaluationReport(VendorEvaluationRequestModel model) { using (HttpResponseMessage response = _client.PostAsync( this.CallCommonApi(string.Format("{0}/{1}", ReportVendorEvaluationRoute, VendorEvaluationExportRouteAction)), UtilityService.SerializeContent(model)).Result) { if (!response.IsSuccessStatusCode) { throw new HttpRequestException(string.Format(ConstantValue.HttpRequestFailedMessage, (int)response.StatusCode, response.StatusCode.ToString())); } return(UtilityService.DeserializeContent <ResponseFileModel>(response.Content)); } }
/// <summary> /// Generate data for export report vendor evaluation. /// </summary> /// <param name="id">The evaluation identity.</param> /// <returns></returns> private VendorEvaluationRequestModel GenerateDataReport(int id) { var data = _unitOfWork.GetRepository <Data.Pocos.Evaluation>().GetById(id); var company = _unitOfWork.GetRepository <HrcompanyAddress>().GetCache(x => x.SapComCode == data.ComCode).FirstOrDefault(); var evaluationTemplate = _unitOfWork.GetRepository <EvaluationTemplate>().GetCache(x => x.Id == data.EvaluationTemplateId).FirstOrDefault(); var gradePoint = _unitOfWork.GetRepository <GradeItem>().GetCache(x => x.GradeId == evaluationTemplate.GradeId && x.StartPoint <= data.TotalScore && x.EndPoint >= data.TotalScore).FirstOrDefault(); //Get summary kpi and kpi group score. var scoreSummary = _summaryEvaluation.GetDetail(id); //Get report template. var template = _unitOfWork.GetRepository <ReportTemplate>().GetCache(x => x.ProcessCode == ConstantValue.VendorEvaluationReportProcess) .FirstOrDefault(); var approveInfo = this.GetApproveByName(id); var culture = new CultureInfo("th-TH"); var result = new VendorEvaluationRequestModel { DocNo = $"{company.SearchTermEn} - {data.DocNo} - {DateTime.Now.Date.ToString("yyyy", culture)}", TotalScore = data.TotalScore ?? 0, VendorName = this.GetVendorName(data.VendorNo), PrintDate = DateTime.Now.Date.ToString("dd MMMM yyyy", culture), GradeName = scoreSummary.GradeName, PeriodName = this.GetPeriodItemName(data.PeriodItemId.Value), ContentHeader = this.BuildContentHeader(template.Content1Th, template.Content2Th, template.Content3Th, company), ContentFooter = this.BuildContentFooter(template.Content4Th, template.Content5Th, gradePoint), CompanyNameTh = company.NameTh, CompanyNameEn = company.NameEn, CompanyAddressTh = this.GetCompanyAddress(company, "TH"), CompanyAddressEn = this.GetCompanyAddress(company, "EN"), KpiGroups = this.GetKpiGroupCollection(evaluationTemplate, data.WeightingKey, scoreSummary).ToList(), ApproveBy = approveInfo[0], PositionName = approveInfo[1], GradeNameEn = gradePoint.GradeNameEn }; return(result); }