Пример #1
0
        /// <summary>
        /// Generate the PDF file using validation Details
        /// </summary>
        /// <param name="pdfFileName"></param>
        /// <param name="validationMessage"></param>
        /// <param name="headLinePhrase"></param>
        public static Stream GeneratePDF(string pdfFileName, HeatChartHeaderVM heatChartHeader, string headLinePhrase, bool isSaveToDirectory)
        {
            if (heatChartHeader == null)
            {
                return(null);
            }

            MemoryStream memoryStream = new MemoryStream();

            //file name to be created

            //10f (left), 10f (right), 74f (top), 10f (bottom)
            pdfFileName = string.Format("{0}{1}", pdfFileName, ".pdf");
            Document doc = new Document(PageSize.LEGAL.Rotate(), 0f, 20f, 108f, 110f);
            //Create PDF Table

            PdfPTable tableLayout = new PdfPTable(12);

            //tableLayout.TotalWidth = doc.PageSize.Width - 100f;
            tableLayout.WidthPercentage = 96.0f;
            //tableLayout.SplitRows = true;


            PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream);

            if (isSaveToDirectory)
            {
                PdfWriter.GetInstance(doc, new FileStream(HttpContext.Current.Server.MapPath("~/reports/heatcharts/" + pdfFileName), FileMode.Create));
            }

            writer.PageEvent = new ITextEvents(heatChartHeader);
            doc.Open();

            GetHeatChartHeader(tableLayout, heatChartHeader);

            GetHeatChartDetailHeadingPDFTable(tableLayout, heatChartHeader);

            GetHeatchartDetailHeader(tableLayout);

            GetHeatChartDetailsPDFTable(doc, tableLayout, heatChartHeader.HeatChartDetails.ToList());


            // Closing the document
            doc.Close();
            byte[] bytes = memoryStream.ToArray();

            System.IO.Stream newStream = new System.IO.MemoryStream(bytes);

            return(newStream);
        }
Пример #2
0
        private static void GetHeatChartDetailHeadingPDFTable(PdfPTable tableLayout, HeatChartHeaderVM heatChartHeaderVM)
        {
            List <string> sheetNoList = new List <string>();

            string sheetNos = string.Empty;

            if (heatChartHeaderVM.HeatChartDetails != null)
            {
                sheetNoList = heatChartHeaderVM.HeatChartDetails.Select(x => x.SheetNo).Distinct().ToList();

                sheetNos = string.Join(", ", sheetNoList);
            }

            PDFGenerateUtilityHelper.AddCellToDetailHeading(tableLayout, "MATERIAL HEAT CHART", 10);
            PDFGenerateUtilityHelper.AddCellToDetailHeadingSheet(tableLayout, string.Format("{0} : {1}", "Sheet No", sheetNos), 2);
        }
        public HttpResponseMessage Update(HttpRequestMessage request, HeatChartHeaderVM heatChartHeaderVM)
        {
            _requiredRepositories = new List <Type>()
            {
                typeof(HeatChartHeader),
                typeof(HeatChartDetails),
                typeof(HeatChartMaterialHeaderRelationship),
                typeof(Error)
            };

            return(CreateHttpResponse(request, _requiredRepositories, () =>
            {
                HttpResponseMessage response = null;
                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray());
                }
                else
                {
                    HeatChartHeader _heatChartHeader = _heatChartHeadersRepository.GetSingleByHeatChartHeaderID(heatChartHeaderVM.ID);

                    if (_heatChartHeader == null)
                    {
                        ModelState.AddModelError("Invalid Heat Chart", "Heat Chart Number does not exists");
                        response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                          ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray());
                    }
                    else
                    {
                        _heatChartHeader.UpdateHeatChartHeader(heatChartHeaderVM);

                        UpdateHeatChartDetailListRemoveHeatChartDetail(_heatChartHeader, heatChartHeaderVM);

                        UpdateHeatChartDetailListAddUpdate(_heatChartHeader, heatChartHeaderVM);

                        _heatChartHeadersRepository.Update(_heatChartHeader);

                        _heatChartHeadersRepository.Commit();
                    }

                    response = request.CreateResponse <HeatChartHeaderVM>(HttpStatusCode.Created, heatChartHeaderVM);
                }
                return response;
            }));
        }
        private static void GetHeatChartHeader(PdfPTable tableLayout, HeatChartHeaderVM heatChartHeaderVM)
        {
            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Customer", "  ", "  ", heatChartHeaderVM.CustomerSelected?.Name), 6);
            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Mfg By", "  ", "  ", ""), 6);

            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "PO Number", "  ", "  ", heatChartHeaderVM.CustomerPONumber), 3);
            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "PO Date", "  ", "  ",
                                                                                    heatChartHeaderVM.CustomerPODate != null ? heatChartHeaderVM.CustomerPODate?.ToShortDateString() : string.Empty), 3);

            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Equipment Name", "  ", "  ", heatChartHeaderVM.CustomerPOEquipment), 6);

            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Plant / Project", "  ", "  ", heatChartHeaderVM.Plant), 6);
            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Drawing Number", "  ", "  ", heatChartHeaderVM.DrawingNumber), 4);
            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Drawing Revision", "  ", "  ", heatChartHeaderVM.DrawingRevision), 2);

            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Inspection By", "  ", "  ", heatChartHeaderVM.ThirdPartyInspectionSelected.Name), 6);
            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Tag Number", "  ", "  ", heatChartHeaderVM.TagNumber), 4);
            PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}{1}:{2}{3}", "Quantity", "  ", "  ", heatChartHeaderVM.NoOfEquipment), 2);
        }
        public HttpResponseMessage Create(HttpRequestMessage request, HeatChartHeaderVM heatChartHeaderVM)
        {
            _requiredRepositories = new List <Type>()
            {
                typeof(HeatChartHeader), typeof(Error)
            };

            return(CreateHttpResponse(request, _requiredRepositories, () =>
            {
                HttpResponseMessage response = null;
                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray());
                }
                else
                {
                    if (_heatChartHeadersRepository.HeatChartHeaderExists(heatChartHeaderVM.HeatChartNumber))
                    {
                        ModelState.AddModelError("Invalid Heat Chart", "Heat Chart Number exists");
                        response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                          ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray());
                    }
                    else
                    {
                        HeatChartHeader newHeatChartHeader = new HeatChartHeader();
                        newHeatChartHeader = AutoMapper.Map <HeatChartHeaderVM, HeatChartHeader>(heatChartHeaderVM);

                        _heatChartHeadersRepository.Insert(newHeatChartHeader);
                        _heatChartHeadersRepository.Commit();

                        // Update view model
                        heatChartHeaderVM = AutoMapper.Map <HeatChartHeader, HeatChartHeaderVM>(newHeatChartHeader);
                        response = request.CreateResponse <HeatChartHeaderVM>(HttpStatusCode.Created, heatChartHeaderVM);
                    }
                }
                return response;
            }));
        }
        public HttpResponseMessage Create(HttpRequestMessage request)
        {
            currentRequestMessage = request;

            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                HeatChartHeaderVM heatChartHeaderVM = new HeatChartHeaderVM();

                GetHeatChartHeaderVM(heatChartHeaderVM);

                if (ConfigurationReader.IsHeatChartNumberAutoCalculate)
                {
                    heatChartHeaderVM.HeatChartNumber = AutoCalculateHCNumber();
                    heatChartHeaderVM.IsHeatChartNumberAutoCalculate = true;
                }

                response = request.CreateResponse(HttpStatusCode.OK, heatChartHeaderVM);

                return response;
            }));
        }
Пример #7
0
        public static void UpdateHeatChartHeader(this HeatChartHeader heatChartHeader, HeatChartHeaderVM heatChartHeaderVM)
        {
            heatChartHeader.CreatedBy  = heatChartHeaderVM.CreatedBy;
            heatChartHeader.CreatedOn  = heatChartHeaderVM.CreatedOn;
            heatChartHeader.ModifiedBy = heatChartHeaderVM.ModifiedBy;
            heatChartHeader.ModifiedOn = heatChartHeaderVM.ModifiedOn;

            heatChartHeader.CustomerID          = heatChartHeaderVM.CustomerSelected.ID;
            heatChartHeader.CustomerPOEquipment = heatChartHeaderVM.CustomerPOEquipment;
            heatChartHeader.CustomerPONumber    = heatChartHeaderVM.CustomerPONumber;
            heatChartHeader.CustomerPODate      = heatChartHeaderVM.CustomerPODate;

            heatChartHeader.DrawingNumber   = heatChartHeaderVM.DrawingNumber;
            heatChartHeader.DrawingRevision = heatChartHeaderVM.DrawingRevision;

            heatChartHeader.JobNumber     = heatChartHeaderVM.JobNumber;
            heatChartHeader.TagNumber     = heatChartHeaderVM.TagNumber;
            heatChartHeader.OtherInfo     = heatChartHeaderVM.OtherInfo;
            heatChartHeader.Plant         = heatChartHeaderVM.Plant;
            heatChartHeader.NoOfEquipment = heatChartHeaderVM.NoOfEquipment;

            heatChartHeader.ThirdPartyInspectionID = heatChartHeaderVM.ThirdPartyInspectionSelected.ID;
        }
 private void GetHeatChartHeaderVM(HeatChartHeaderVM heatChartHeaderVM)
 {
     heatChartHeaderVM.Customers             = CustomerList;
     heatChartHeaderVM.ThirdPartyInspections = ThirdPartyInspectionList;
 }
        private void UpdateHeatChartDetailListAddUpdate(HeatChartHeader heatChartHeader, HeatChartHeaderVM heatChartHeaderVM)
        {
            if (heatChartHeaderVM.HeatChartDetails == null || !heatChartHeaderVM.HeatChartDetails.Any())
            {
                return;
            }

            foreach (var heatChartDetail in heatChartHeaderVM.HeatChartDetails)
            {
                var existingHeatChartDetail = heatChartHeader.HeatChartDetails.Where(x => x.ID == heatChartDetail.ID && x.ID > 0).SingleOrDefault();

                if (existingHeatChartDetail != null)
                {
                    existingHeatChartDetail.UpdateHeatChartDetails(heatChartDetail);

                    UpdateHeatChartDetailMaterialRegisterRelationshipAddUpdate(existingHeatChartDetail, heatChartDetail);

                    _heatChartDetailsRepository.Update(existingHeatChartDetail);
                }
                else
                {
                    var updatedHeatChartDetail = AutoMapper.Map <HeatChartDetailsVM, HeatChartDetails>(heatChartDetail);

                    heatChartHeader.HeatChartDetails.Add(updatedHeatChartDetail);
                }
            }
        }
        private void UpdateHeatChartDetailListRemoveHeatChartDetail(HeatChartHeader heatChartHeader, HeatChartHeaderVM heatChartHeaderVM)
        {
            if (heatChartHeader.HeatChartDetails == null || !heatChartHeader.HeatChartDetails.Any())
            {
                return;
            }

            var deletableHeatChartDetails = heatChartHeader.HeatChartDetails.
                                            Where(sub => !heatChartHeaderVM.HeatChartDetails.Any(x => x.ID.Equals(sub.ID))).ToList();

            foreach (var heatChartDetail in deletableHeatChartDetails)
            {
                if (heatChartDetail.HeathChartMaterialHeaderRelationships != null)
                {
                    _heatChartMaterialHeaderRelationshipRepository.Delete(heatChartDetail.HeathChartMaterialHeaderRelationships);
                }

                _heatChartDetailsRepository.Delete(heatChartDetail);
            }
        }
 public HeatChartHeaderPage(HeatChartHeaderVM heatChartHeaderVM)
 {
     _heatChartHeaderVM = heatChartHeaderVM;
 }
Пример #12
0
 public ITextEvents(HeatChartHeaderVM heatChartHeaderVM)
 {
     _heatChartHeaderVM = heatChartHeaderVM;
 }
Пример #13
0
 private void GetHeatChartDetailHeadingPDFTable(PdfPTable tableLayout, HeatChartHeaderVM heatChartHeaderVM)
 {
     PDFGenerateUtilityHelper.AddCellToBodyHeader(tableLayout, string.Format("{0}:{1}", "Heat Chart No", heatChartHeaderVM.HeatChartNumber), 12);
 }
Пример #14
0
 private void GetHeaderPDFTable(PdfPTable headerTable, HeatChartHeaderVM _heatChartHeaderVM)
 {
     GetHeatChartHeadingPDFTable(headerTable);
     GetHeatChartDetailHeadingPDFTable(headerTable, _heatChartHeaderVM);
 }