private void SearchGoodsAndReturnsInRange(object sender, GoodsSaleListEventArgs args) { IList list = PurchaseOrderLogic.FindAll(args.PurchaseOrderSearchCriteria); IList collection = new ArrayList(); foreach (PurchaseOrder order in list) { PurchaseOrderView view = new PurchaseOrderView(); view.PurchaseOrder = order; view.PurchaseOrderId = order.PurchaseOrderPK.PurchaseOrderId; long SellAmount = 0; long SellQuantity = 0; string SellDescription = ""; long RetAmount = 0; long RetQuantity = 0; string RetDescription = ""; foreach (PurchaseOrderDetail detail in order.PurchaseOrderDetails) { SellDescription += detail.Product.ProductMaster.ProductName + " "; SellAmount += detail.Quantity*detail.Price; SellQuantity += detail.Quantity; } ObjectCriteria criteria = new ObjectCriteria(); criteria.AddEqCriteria("NextPurchaseOrderId", order.PurchaseOrderPK.PurchaseOrderId); criteria.AddEqCriteria("ReturnPoPK.DepartmentId", order.PurchaseOrderPK.DepartmentId); IList returnPOList = ReturnPoLogic.FindAll(criteria); foreach (ReturnPo returnPo in returnPOList) { RetDescription += returnPo.Product.ProductMaster.ProductName + " "; long retPrice = returnPo.Price; if (retPrice == 0) { DepartmentPricePK deptPricePK = new DepartmentPricePK(); deptPricePK.DepartmentId = 0; deptPricePK.ProductMasterId = returnPo.Product.ProductMaster.ProductMasterId; DepartmentPrice price = DepartmentPriceLogic.FindById(deptPricePK); if (price != null) { retPrice = price.Price; } } RetAmount += returnPo.Quantity * retPrice; RetQuantity += returnPo.Quantity; } view.ReturnPOList = returnPOList; view.SellDescription = SellDescription; view.SellAmount = SellAmount; view.SellQuantity = SellQuantity; view.ReturnAmount = RetAmount; view.ReturnDescription = RetDescription; view.ReturnQuantity = RetQuantity; view.IssueDate = order.CreateDate; collection.Add(view); } ObjectCriteria NAcriteria = new ObjectCriteria(); NAcriteria.AddEqCriteria("ReturnPoPK.DepartmentId", CurrentDepartment.Get().DepartmentId); NAcriteria.AddGreaterOrEqualsCriteria("ReturnPoPK.CreateDate", args.FromDate) .AddLesserOrEqualsCriteria("ReturnPoPK.CreateDate", args.ToDate); IList allReturnPOList = ReturnPoLogic.FindAll(NAcriteria); IList legalReturnPOList = new ArrayList(); if(allReturnPOList!= null) { foreach (ReturnPo returnPo in allReturnPOList) { if(string.IsNullOrEmpty(returnPo.NextPurchaseOrderId)) legalReturnPOList.Add(returnPo); } } string retNAPOId = ""; PurchaseOrderView retNAView = new PurchaseOrderView(); retNAView.ReturnPOList = new ArrayList(); IList retNAList = new ArrayList(); foreach (ReturnPo returnPo in legalReturnPOList) { if (!retNAPOId.Equals(returnPo.ReturnPoPK.PurchaseOrderId)) { if(!string.IsNullOrEmpty(retNAPOId)) { collection.Add(retNAView); retNAView = new PurchaseOrderView(); retNAView.ReturnPOList = new ArrayList(); } retNAPOId = returnPo.ReturnPoPK.PurchaseOrderId; retNAView.PurchaseOrderId = retNAPOId; retNAView.IssueDate = returnPo.ReturnPoPK.CreateDate; } retNAView.ReturnDescription += returnPo.Product.ProductMaster.ProductName + " "; long retPrice = returnPo.Price; if (retPrice == 0) { DepartmentPricePK deptPricePK = new DepartmentPricePK(); deptPricePK.DepartmentId = 0; deptPricePK.ProductMasterId = returnPo.Product.ProductMaster.ProductMasterId; DepartmentPrice price = DepartmentPriceLogic.FindById(deptPricePK); if (price != null) { retPrice = price.Price; } } retNAView.ReturnAmount += returnPo.Quantity * retPrice; retNAView.ReturnQuantity += returnPo.Quantity; retNAView.ReturnPOList.Add(returnPo); } collection.Add(retNAView); GoodsSaleListEventArgs goodsSaleListEventArgs = new GoodsSaleListEventArgs(); goodsSaleListEventArgs.PurchaseOrderViewList = collection; EventUtility.fireEvent(CompletedGoodsSaleListSearchEvent, this, goodsSaleListEventArgs); }
private void PrintPage(PurchaseOrderView view) { // create bill and printing Receipt receipt = new Receipt(); receipt.PurchaseOrder = view.PurchaseOrder; receipt.ReceiptPK = new ReceiptPK { DepartmentId = CurrentDepartment.Get().DepartmentId }; receipt.CreateDate = DateTime.Now; receipt.UpdateDate = DateTime.Now; receipt.UpdateId = ClientInfo.getInstance().LoggedUser.Name; receipt.CreateId = ClientInfo.getInstance().LoggedUser.Name; receipt.ReceiptName = "HDBH"; receipt.ReceiptNumber = view.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId; receipt.TotalAmount = view.SellAmount-view.ReturnAmount; receipt.CustomerPayment = 0; receipt.Charge = 0; view.PurchaseOrder.Receipts = new ArrayList(); view.PurchaseOrder.Receipts.Add(receipt); IList returnDetails = new ArrayList(); IList purchaseDetails = view.PurchaseOrder.PurchaseOrderDetails; int maxIndex = view.PurchaseOrder.PurchaseOrderDetails.Count - 1; PurchaseOrder purchaseOrder = view.PurchaseOrder; if(view.ReturnPOList !=null && view.ReturnPOList.Count > 0) { foreach (ReturnPo returnPo in view.ReturnPOList) { returnDetails.Add(returnPo); } } PurchaseOrderBill = new LocalReport(); bool isReturnOrder = false; if (returnDetails.Count > 0) { PurchaseOrderBill.ReportEmbeddedResource = "AppFrameClient.Report.ReturnPurchaseOrder.rdlc"; receipt.ReceiptName = "HDDTH"; if (purchaseDetails.Count == 0) { receipt.ReceiptNumber = receipt.ReceiptNumber + "RET"; } isReturnOrder = true; } else { receipt.ReceiptName = "HDBH"; PurchaseOrderBill.ReportEmbeddedResource = "AppFrameClient.Report.PurchaseOrder.rdlc"; } PurchaseOrderBindingSource.DataSource = view.PurchaseOrder; PurchaseOrderDetailCollection printPOD = new PurchaseOrderDetailCollection(); foreach (PurchaseOrderDetail detail in purchaseDetails) { printPOD.Add(detail); } PurchaseOrderDetailCollectionBindingSource.DataSource = CreateNonDuplicate(printPOD); ReceiptBindingSource.DataSource = receipt; DepartmentBindingSource.DataSource = CurrentDepartment.Get(); PurchaseOrderDetailBindingSource.DataSource = ObjectConverter.ConvertGenericList<PurchaseOrderDetail>(returnDetails); ReportDataSource PODataRDS = new ReportDataSource("AppFrame_Model_PurchaseOrder"); PODataRDS.Value = PurchaseOrderBindingSource; PurchaseOrderBill.DataSources.Add(PODataRDS); ReportDataSource PODetRDS = new ReportDataSource("AppFrame_Collection_PurchaseOrderDetailCollection"); PODetRDS.Value = PurchaseOrderDetailCollectionBindingSource; PurchaseOrderBill.DataSources.Add(PODetRDS); ReportDataSource DepartmentRDS = new ReportDataSource("AppFrame_Model_Department"); DepartmentRDS.Value = DepartmentBindingSource; PurchaseOrderBill.DataSources.Add(DepartmentRDS); ReportDataSource ReceiptRDS = new ReportDataSource("AppFrame_Model_Receipt"); ReceiptRDS.Value = ReceiptBindingSource; PurchaseOrderBill.DataSources.Add(ReceiptRDS); ReportDataSource POReturnDetRDS = new ReportDataSource("AppFrame_Model_PurchaseOrderDetail"); POReturnDetRDS.Value = PurchaseOrderDetailBindingSource; PurchaseOrderBill.DataSources.Add(POReturnDetRDS); //this.reportPurchaseOrder.LocalReport.Refresh(); PrintDirectlyToPrinter(); }