예제 #1
0
        private string generateAWBLabel(int eCommerceShipmentId, FrayteCommerceShipmentDraft eCommerceBookingDetail, int i, PackageDraft data)
        {
            List <FrayteeCommerceShipmentLabelReport> list = new List <FrayteeCommerceShipmentLabelReport>();
            FrayteeCommerceShipmentLabelReport        newObj;
            string filename = string.Empty;

            if (data != null)
            {
                FrayteeCommerceShipmentLabelReport obj;
                int n = i;
                obj = new FrayteeCommerceShipmentLabelReport();
                obj.CurrentShipment = n + " OF " + eCommerceBookingDetail.Packages.Sum(p => p.CartoonValue);
                if (eCommerceBookingDetail.Packages.Sum(p => p.Value).ToString().Contains("."))
                {
                    obj.TotalValue = eCommerceBookingDetail.Currency.CurrencyCode + " " + eCommerceBookingDetail.Packages.Sum(p => p.Value);
                }
                else
                {
                    obj.TotalValue = eCommerceBookingDetail.Currency.CurrencyCode + " " + eCommerceBookingDetail.Packages.Sum(p => p.Value) + ".00";
                }
                if (eCommerceBookingDetail.PakageCalculatonType == FraytePakageCalculationType.kgtoCms)
                {
                    if (UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail).ToString().Contains("."))
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + " " + WeightUOM.KG;
                    }
                    else
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + ".00" + " " + WeightUOM.KG;
                    }
                }
                else if (eCommerceBookingDetail.PakageCalculatonType == FraytePakageCalculationType.LbToInchs)
                {
                    if (UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail).ToString().Contains("."))
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + " " + WeightUOM.LB;
                    }
                    else
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + ".00" + " " + WeightUOM.LB;
                    }
                }
                else
                {
                    if (UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail).ToString().Contains("."))
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + " " + WeightUOM.KG;
                    }
                    else
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + ".00" + " " + WeightUOM.KG;
                    }
                }
                obj.eCommerceShipment = eCommerceBookingDetail;
                obj.BarcodePath       = HttpContext.Current.Server.MapPath(AppSettings.eCommerceLabelFolder) + eCommerceShipmentId + "/" + obj.eCommerceShipment.FrayteNumber + ".Png";
                obj.LabelPackages     = new List <PackageLabel>();

                PackageLabel pL = new PackageLabel();
                if (data != null)
                {
                    pL.CartoonValue = 1;
                    pL.Content      = data.Content;
                    pL.DirectShipmentDetailDraftId = data.DirectShipmentDetailDraftId;
                    pL.Height     = data.Height;
                    pL.Weight     = data.Weight;
                    pL.Width      = data.Width;
                    pL.Value      = data.Value;
                    pL.TrackingNo = data.TrackingNo;
                    pL.SerialNo   = 1;
                    pL.PackageTrackingDetailId = data.PackageTrackingDetailId;
                    pL.LabelName = data.LabelName;
                    pL.IsPrinted = data.IsPrinted;
                    obj.LabelPackages.Add(pL);
                }

                int total = eCommerceBookingDetail.Packages.Sum(p => p.CartoonValue);
                filename = "FRT_AWB_" + eCommerceBookingDetail.FrayteNumber + DateTime.Now.ToString("dd_MM_yyyy") + " (" + n + "of" + total + ")";
                FrayteResult result = new eCommerceShipmentLabelReport().GeteCommerceShipmentLabelReportDetail(eCommerceShipmentId, obj, filename);
            }
            else
            {
                int j = 0;

                foreach (var package in eCommerceBookingDetail.Packages)
                {
                    for (int k = 0; k < package.CartoonValue; k++)
                    {
                        j++;
                        newObj = GenerateAwb(eCommerceShipmentId, package, eCommerceBookingDetail, j);
                        list.Add(newObj);
                    }
                }
                filename = "FRT" + "_" + "AWB_" + eCommerceBookingDetail.FrayteNumber + "_" + DateTime.Now.ToString("dd_MM_yyyy") + " (All)";
                FrayteResult result = new eCommerceShipmentLabelReport().GeteCommerceShipmentLabelReportDetailList(eCommerceShipmentId, list, filename);
                //Save FrayteLabel
                // Save Frayte Label Name
                if (result.Status)
                {
                    new eCommerceShipmentRepository().SaveFrayteLabel(eCommerceShipmentId, filename + ".pdf", eCommLabelType.FrayteLabel);
                }
            }

            return(filename);
        }
예제 #2
0
        private FrayteeCommerceShipmentLabelReport GenerateAwb(int eCommerceShipmentId, PackageDraft data, FrayteCommerceShipmentDraft eCommerceBookingDetail, int i)
        {
            FrayteeCommerceShipmentLabelReport obj = new FrayteeCommerceShipmentLabelReport();

            if (data != null)
            {
                int n = i;

                obj.CurrentShipment = n + " OF " + eCommerceBookingDetail.Packages.Sum(p => p.CartoonValue);
                if (eCommerceBookingDetail.Packages.Sum(p => p.Value).ToString().Contains("."))
                {
                    obj.TotalValue = eCommerceBookingDetail.Currency.CurrencyCode + " " + eCommerceBookingDetail.Packages.Sum(p => p.Value);
                }
                else
                {
                    obj.TotalValue = eCommerceBookingDetail.Currency.CurrencyCode + " " + eCommerceBookingDetail.Packages.Sum(p => p.Value) + ".00";
                }
                if (eCommerceBookingDetail.PakageCalculatonType == FraytePakageCalculationType.kgtoCms)
                {
                    if (UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail).ToString().Contains("."))
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + " " + WeightUOM.KG;
                    }
                    else
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + ".00" + " " + WeightUOM.KG;
                    }
                }
                else if (eCommerceBookingDetail.PakageCalculatonType == FraytePakageCalculationType.LbToInchs)
                {
                    if (UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail).ToString().Contains("."))
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + " " + WeightUOM.LB;
                    }
                    else
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + ".00" + " " + WeightUOM.LB;
                    }
                }
                else
                {
                    if (UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail).ToString().Contains("."))
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + " " + WeightUOM.KG;
                    }
                    else
                    {
                        obj.TotalChargeableWeight = UtilityRepository.GetShipmentChargeableWeight(eCommerceBookingDetail) + ".00" + " " + WeightUOM.KG;
                    }
                }
                obj.eCommerceShipment = eCommerceBookingDetail;
                obj.BarcodePath       = HttpContext.Current.Server.MapPath(AppSettings.eCommerceLabelFolder) + eCommerceShipmentId + "/" + obj.eCommerceShipment.FrayteNumber + ".Png";
                obj.LabelPackages     = new List <PackageLabel>();

                PackageLabel pL = new PackageLabel();
                if (data != null)
                {
                    pL.CartoonValue = 1;
                    pL.Content      = data.Content;
                    pL.DirectShipmentDetailDraftId = data.DirectShipmentDetailDraftId;
                    pL.Height     = data.Height;
                    pL.Weight     = data.Weight;
                    pL.Width      = data.Width;
                    pL.Value      = data.Value;
                    pL.TrackingNo = data.TrackingNo;
                    pL.SerialNo   = 1;
                    pL.PackageTrackingDetailId = data.PackageTrackingDetailId;
                    pL.LabelName = data.LabelName;
                    pL.IsPrinted = data.IsPrinted;
                    obj.LabelPackages.Add(pL);
                }

                string filename = eCommerceBookingDetail.FrayteNumber + "_" + DateTime.Now.ToString("dd_MM_yyyy_ss_fff");
                // FrayteResult result = new eCommerceShipmentLabelReport().GeteCommerceShipmentLabelReportDetail(eCommerceShipmentId, obj, filename);
            }
            return(obj);
        }
        public FrayteResult GeteCommerceShipmentLabelReportDetail(int eCommerceShipmentId, FrayteeCommerceShipmentLabelReport obj, string filename)
        {
            FrayteResult result = new FrayteResult();

            FrayteeCommerceShipmentLabelReport        frayteeCommerceLabelReport = new eCommerceShipmentRepository().GeteCommerceShipmentLabelReportDetail(obj);
            List <FrayteeCommerceShipmentLabelReport> reportDataSource           = new List <FrayteeCommerceShipmentLabelReport>();

            if (frayteeCommerceLabelReport != null)
            {
                ReportTemplate.Other.eCommerceLabelReport re = new ReportTemplate.Other.eCommerceLabelReport();

                // Set ShipFrom Address In Label
                re.xrRichText1.Text = frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.FirstName.ToUpper() + " " + frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.LastName.ToUpper() +
                                      System.Environment.NewLine +
                                      frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.CompanyName.ToUpper() + System.Environment.NewLine + frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.Address.ToUpper();

                if (!string.IsNullOrEmpty(frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.Address2))
                {
                    re.xrRichText1.Text += System.Environment.NewLine + frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.Address2.ToUpper();
                }

                re.xrRichText1.Text += System.Environment.NewLine + frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.City.ToUpper();

                if (!string.IsNullOrEmpty(frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.PostCode))
                {
                    re.xrRichText1.Text += " -  " + frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.PostCode.ToUpper();
                }
                if (!string.IsNullOrEmpty(frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.State))
                {
                    re.xrRichText1.Text += System.Environment.NewLine + frayteeCommerceLabelReport.eCommerceShipment.ShipFrom.State.ToUpper();
                }

                // Set Shipto Address In Label
                re.xrRichText2.Text = frayteeCommerceLabelReport.eCommerceShipment.ShipTo.FirstName.ToUpper() + " " + frayteeCommerceLabelReport.eCommerceShipment.ShipTo.LastName.ToUpper() +
                                      System.Environment.NewLine +
                                      frayteeCommerceLabelReport.eCommerceShipment.ShipTo.CompanyName.ToUpper() + System.Environment.NewLine + frayteeCommerceLabelReport.eCommerceShipment.ShipTo.Address.ToUpper();

                if (!string.IsNullOrEmpty(frayteeCommerceLabelReport.eCommerceShipment.ShipTo.Address2))
                {
                    re.xrRichText2.Text += ", " + frayteeCommerceLabelReport.eCommerceShipment.ShipTo.Address2.ToUpper();
                }

                re.xrRichText2.Text += System.Environment.NewLine + frayteeCommerceLabelReport.eCommerceShipment.ShipTo.City.ToUpper();
                if (!string.IsNullOrEmpty(frayteeCommerceLabelReport.eCommerceShipment.ShipTo.PostCode))
                {
                    re.xrRichText2.Text += " -  " + frayteeCommerceLabelReport.eCommerceShipment.ShipTo.PostCode.ToUpper();
                }
                if (!string.IsNullOrEmpty(frayteeCommerceLabelReport.eCommerceShipment.ShipTo.State))
                {
                    re.xrRichText2.Text += System.Environment.NewLine + frayteeCommerceLabelReport.eCommerceShipment.ShipTo.State.ToUpper();
                }

                reportDataSource.Add(frayteeCommerceLabelReport);


                re.Parameters["LogoPath"].Value = obj.BarcodePath;
                re.DataSource = reportDataSource;

                string filePathToSave = AppSettings.eCommerceLabelFolder + "/" + eCommerceShipmentId.ToString();
                if (AppSettings.ShipmentCreatedFrom == "BATCH")
                {
                    filePathToSave = AppSettings.eCommerceUploadLabelFolder + eCommerceShipmentId.ToString();
                    //filePathToSave = filePathToSave;
                }
                else
                {
                    filePathToSave = HttpContext.Current.Server.MapPath(filePathToSave);
                }
                //DevExpress.XtraPrinting.ExportOptions options = re.ExportOptions;
                DevExpress.XtraPrinting.ImageExportOptions imageOptions = re.PrintingSystem.ExportOptions.Image;
                if (imageOptions != null)
                {
                    // Setup 150 DPI as default resolution for image exports
                    imageOptions.Resolution = 3000;
                    imageOptions.Format     = ImageFormat.Jpeg;
                }

                DevExpress.XtraPrinting.PdfExportOptions pdfOptions = re.ExportOptions.Pdf;
                //pdfOptions.PageRange = "1";
                pdfOptions.ImageQuality      = DevExpress.XtraPrinting.PdfJpegImageQuality.Highest;
                pdfOptions.PdfACompatibility = DevExpress.XtraPrinting.PdfACompatibility.PdfA2b;

                if (!System.IO.Directory.Exists(filePathToSave))
                {
                    System.IO.Directory.CreateDirectory(filePathToSave);
                }
                //re.ExportToImage(HttpContext.Current.Server.MapPath(AppSettings.eCommerceLabelFolder) + "/" + eCommerceShipmentId + "/" + FileName.ToString() + ".Jpeg", imageOptions);
                if (AppSettings.ShipmentCreatedFrom == "BATCH")
                {
                    re.ExportToImage(AppSettings.eCommerceUploadLabelFolder + eCommerceShipmentId + "/" + filename + ".jpg", imageOptions);
                    re.ExportToPdf(AppSettings.eCommerceUploadLabelFolder + eCommerceShipmentId + "/" + filename + ".pdf", pdfOptions);
                }
                else
                {
                    re.ExportToImage(HttpContext.Current.Server.MapPath(AppSettings.eCommerceLabelFolder) + "/" + eCommerceShipmentId + "/" + filename + ".jpg", imageOptions);
                    re.ExportToPdf(HttpContext.Current.Server.MapPath(AppSettings.eCommerceLabelFolder) + "/" + eCommerceShipmentId + "/" + filename + ".pdf", pdfOptions);
                }
                result.Status = true;
            }
            else
            {
                result.Status = false;
            }

            return(result);
        }