using FastReport; using FastReport.Barcode; using FastReport.Table; namespace Services { public class PrintService:IPrintService { public object print(InboundOrder inbound) { string ReportPathmater = System.IO.Directory.GetCurrentDirectory(); string MFile = string.Empty; MFile = ReportPathmater + "\\frx\\MaterMode.frx"; Report report = new Report(); report.Load(MFile); report.PrintSettings.ShowDialog = false; System.Drawing.Printing.PrinterSettings oitem = new System.Drawing.Printing.PrinterSettings(); BarcodeObject OrderNoObj = report.FindObject("OrderNo") as BarcodeObject; if (OrderNoObj != null) { OrderNoObj.Text = inbound.OrderNo; } TableCell UpperOrderNoObj = report.FindObject("UpperOrderNo") as TableCell; if (UpperOrderNoObj != null) { UpperOrderNoObj.Text = inbound.UpperOrderNo; } TableCell WarehouseNameObj = report.FindObject("WarehouseName") as TableCell; if (WarehouseNameObj != null) { WarehouseNameObj.Text = inbound.WarehouseName; } TableCell MaterialNoObj = report.FindObject("MaterialNo") as TableCell; if (MaterialNoObj != null) { MaterialNoObj.Text = inbound.MaterialNo; } TableCell MaterialNameObj = report.FindObject("MaterialName") as TableCell; if (MaterialNameObj != null) { MaterialNameObj.Text = inbound.MaterialName; } TableCell SpecsObj = report.FindObject("Specs") as TableCell; if (SpecsObj != null) { SpecsObj.Text = inbound.Specs; } TableCell UnitObj = report.FindObject("Unit") as TableCell; if (UnitObj != null) { UnitObj.Text = inbound.Unit; } TableCell QuantityObj = report.FindObject("Quantity") as TableCell; if (QuantityObj != null) { QuantityObj.Text = inbound.Quantity.ToString(); } TableCell ProductDrawingNumberObj = report.FindObject("ProductDrawingNumber") as TableCell; if (ProductDrawingNumberObj != null) { ProductDrawingNumberObj.Text = inbound.ProductDrawingNumber; } TableCell DatetimeObj = report.FindObject("Datetime") as TableCell; if (DatetimeObj != null) { DatetimeObj.Text = inbound.Datetime; } TableCell WeightObj = report.FindObject("Weight") as TableCell; if (WeightObj != null) { WeightObj.Text = inbound.Weight.ToString(); } report.Print(); report.Dispose(); return true; } public class InboundOrder { public string OrderNo { get; set; } public string UpperOrderNo { get; set; } public string WarehouseName { get; set; } public string MaterialNo { get; set; } public string MaterialName { get; set; } public string Specs { get; set; } public string Unit { get; set; } public decimal Quantity { get; set; } public string ProductDrawingNumber { get; set; } public string Datetime { get; set; } public decimal Weight { get; set; } } } }