コード例 #1
0
 /// <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));
     }
 }
コード例 #2
0
        /// <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);
        }