public PurchaseOrderDetailCollection GetAllPurchaseOrderDetailDynamicCollection(string whereExpression, string orderBy) { IDBManager dbm = new DBManager(); PurchaseOrderDetailCollection cols = new PurchaseOrderDetailCollection(); try { dbm.CreateParameters(2); dbm.AddParameters(0, "@WhereCondition", whereExpression); dbm.AddParameters(1, "@OrderByExpression", orderBy); IDataReader reader = dbm.ExecuteReader(CommandType.StoredProcedure, "SelectPurchaseOrderDetailsDynamic"); while (reader.Read()) { PurchaseOrderDetail purchaseOrderDetail = new PurchaseOrderDetail(); purchaseOrderDetail.PurchaseOrderID = Int32.Parse(reader["PurchaseOrderID"].ToString()); purchaseOrderDetail.PurchaseOrderDetailID = Int32.Parse(reader["PurchaseOrderDetailID"].ToString()); purchaseOrderDetail.DueDate = DateTime.Parse(reader["DueDate"].ToString()); purchaseOrderDetail.OrderQty = Int16.Parse(reader["OrderQty"].ToString()); purchaseOrderDetail.ProductID = Int32.Parse(reader["ProductID"].ToString()); purchaseOrderDetail.UnitPrice = Decimal.Parse(reader["UnitPrice"].ToString()); purchaseOrderDetail.NumberOfCases = Double.Parse(reader["NumberOfCases"].ToString()); purchaseOrderDetail.UnitPerCase = Int32.Parse(reader["UnitPerCase"].ToString()); purchaseOrderDetail.ReceivedQty = Int64.Parse(reader["ReceivedQty"].ToString()); purchaseOrderDetail.RejectedQty = Int64.Parse(reader["RejectedQty"].ToString()); purchaseOrderDetail.StockedQty = Int64.Parse(reader["StockedQty"].ToString()); purchaseOrderDetail.ModifiedDate = DateTime.Parse(reader["ModifiedDate"].ToString()); cols.Add(purchaseOrderDetail); } } catch (Exception ex) { log.Write(ex.Message, "GetAllPurchaseOrderDetailDynamicCollection"); throw (ex); } finally { dbm.Dispose(); } return(cols); }
private PurchaseOrderDetailCollection CreateNonDuplicate(PurchaseOrderDetailCollection list) { PurchaseOrderDetailCollection newList = new PurchaseOrderDetailCollection(); foreach (PurchaseOrderDetail detail in list) { PurchaseOrderDetail newDetail = null; if(!ExistInList(newList,detail,out newDetail)) { newList.Add(detail); } else { newDetail.Quantity += detail.Quantity; //newDetail.Price = detail.Price; } } return newList; }
private void btnPrint_Click(object sender, EventArgs e) { if (!CheckErrorOnForm()) { return; } if(GoodsSaleController.PurchaseOrder == null || pODList.Count == 0) { MessageBox.Show(" Không có hàng để lưu hóa đơn"); return; } RemoveEmptyProductMasterIdRow(); FormToModel(); if(!string.IsNullOrEmpty(txtCustomer.Text)) { GoodsSaleController.PurchaseOrder.Customer = new Customer{CustomerName = txtCustomer.Text}; } Receipt receipt = new Receipt(); receipt.PurchaseOrder = GoodsSaleController.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 = GoodsSaleController.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId; receipt.TotalAmount = Int64.Parse(string.IsNullOrEmpty(txtTotalAmount.Text)?"0":txtTotalAmount.Text); receipt.CustomerPayment = Int64.Parse(string.IsNullOrEmpty(txtPayment.Text)?"0":txtPayment.Text); receipt.Charge = Int64.Parse(string.IsNullOrEmpty(txtCharge.Text)?"0":txtCharge.Text); GoodsSaleController.PurchaseOrder.Receipts = new ArrayList(); GoodsSaleController.PurchaseOrder.Receipts.Add(receipt); if (GlobalCache.Instance().Session.ContainsKey("EmployeeId")) { string employeeId = GlobalCache.Instance().Session["EmployeeId"] as string; if(!string.IsNullOrEmpty(employeeId)) { GoodsSaleController.PurchaseOrder.CreateId = employeeId; GoodsSaleController.PurchaseOrder.UpdateId = employeeId; foreach (PurchaseOrderDetail purchaseOrderDetail in GoodsSaleController.PurchaseOrder.PurchaseOrderDetails) { purchaseOrderDetail.CreateId = employeeId; purchaseOrderDetail.UpdateId = employeeId; } } } GoodsSaleEventArgs eventArgs = new GoodsSaleEventArgs(); if(ReturnPurchaseOrder!=null) { eventArgs.RefPurchaseOrder = ReturnPurchaseOrder; } EventUtility.fireEvent(SavePurchaseOrderEvent, this, eventArgs); if (eventArgs.HasErrors) { MessageBox.Show("Có lỗi khi lưu hoá đơn"); return; } IList returnDetails = new ArrayList(); IList purchaseDetails = GoodsSaleController.PurchaseOrder.PurchaseOrderDetails; int maxIndex = GoodsSaleController.PurchaseOrder.PurchaseOrderDetails.Count-1; PurchaseOrder purchaseOrder = GoodsSaleController.PurchaseOrder; while(maxIndex >= 0) { PurchaseOrderDetail detail = (PurchaseOrderDetail)purchaseDetails[maxIndex]; if (detail.PurchaseOrder != null && detail.PurchaseOrder.PurchaseOrderPK != null && !string.IsNullOrEmpty(detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId) && !detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId.Equals(purchaseOrder.PurchaseOrderPK.PurchaseOrderId) ) { if(detail.Price < 0 ) { detail.Price = 0 - detail.Price; } returnDetails.Add(detail); purchaseDetails.RemoveAt(maxIndex); } maxIndex -= 1; } 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"; } this.PurchaseOrderBindingSource.DataSource = goodsSaleController.PurchaseOrder; PurchaseOrderDetailCollection printPOD = new PurchaseOrderDetailCollection(); foreach (PurchaseOrderDetail detail in purchaseDetails) { printPOD.Add(detail); } this.PurchaseOrderDetailCollectionBindingSource.DataSource = CreateNonDuplicate(printPOD); this.ReceiptBindingSource.DataSource = receipt; this.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(); ClearGoodsSaleForm(); ClearReturnInput(); ClearInput(); }
private void btnPrint_Click(object sender, EventArgs e) { if (!CheckErrorOnForm()) { return; } if(GoodsSaleController.PurchaseOrder == null || pODList.Count == 0) { MessageBox.Show(" Không có hàng để lưu hóa đơn"); return; } RemoveEmptyProductMasterIdRow(); FormToModel(); if(!string.IsNullOrEmpty(txtCustomer.Text)) { GoodsSaleController.PurchaseOrder.Customer = new Customer{CustomerName = txtCustomer.Text}; } Receipt receipt = new Receipt(); receipt.PurchaseOrder = GoodsSaleController.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 = GoodsSaleController.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId; receipt.TotalAmount = Int64.Parse(string.IsNullOrEmpty(txtTotalAmount.Text)?"0":txtTotalAmount.Text); receipt.CustomerPayment = Int64.Parse(string.IsNullOrEmpty(txtPayment.Text)?"0":txtPayment.Text); receipt.Charge = Int64.Parse(string.IsNullOrEmpty(txtCharge.Text)?"0":txtCharge.Text); GoodsSaleController.PurchaseOrder.Receipts = new ArrayList(); GoodsSaleController.PurchaseOrder.Receipts.Add(receipt); GoodsSaleEventArgs eventArgs = new GoodsSaleEventArgs(); if(ReturnPurchaseOrder!=null) { eventArgs.RefPurchaseOrder = ReturnPurchaseOrder; } EventUtility.fireEvent(SavePurchaseOrderEvent, this, eventArgs); if (eventArgs.HasErrors) { MessageBox.Show("Có lỗi khi lưu hoá đơn"); return; } IList returnDetails = new ArrayList(); IList purchaseDetails = GoodsSaleController.PurchaseOrder.PurchaseOrderDetails; int maxIndex = GoodsSaleController.PurchaseOrder.PurchaseOrderDetails.Count-1; PurchaseOrder purchaseOrder = GoodsSaleController.PurchaseOrder; while(maxIndex >= 0) { PurchaseOrderDetail detail = (PurchaseOrderDetail)purchaseDetails[maxIndex]; if (detail.PurchaseOrder != null && detail.PurchaseOrder.PurchaseOrderPK != null && !string.IsNullOrEmpty(detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId) && !detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId.Equals(purchaseOrder.PurchaseOrderPK.PurchaseOrderId) ) { if(detail.Price < 0 ) { detail.Price = 0 - detail.Price; } returnDetails.Add(detail); purchaseDetails.RemoveAt(maxIndex); } maxIndex -= 1; } /*printForm = new GoodsSalePrintForm(); printForm.FillForm(GoodsSaleController.PurchaseOrder); printForm.Show(); printForm.Shown += new EventHandler(printForm_Shown);*/ /*reportPurchaseOrder.LocalReport.DataSources.Add(new ReportDataSource("Department",CurrentDepartment.Get())); reportPurchaseOrder.LocalReport.DataSources.Add(new ReportDataSource("PurchaseOrder",GoodsSaleController.PurchaseOrder)); reportPurchaseOrder.LocalReport.DataSources.Add(new ReportDataSource("PurchaseOrderDetail", pODList));*/ 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"; } this.PurchaseOrderBindingSource.DataSource = goodsSaleController.PurchaseOrder; PurchaseOrderDetailCollection printPOD = new PurchaseOrderDetailCollection(); foreach (PurchaseOrderDetail detail in purchaseDetails) { printPOD.Add(detail); } this.PurchaseOrderDetailCollectionBindingSource.DataSource = CreateNonDuplicate(printPOD); this.ReceiptBindingSource.DataSource = receipt; this.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.PurchaseOrderDetailBindingSource.DataSource = ObjectConverter.ConvertGenericList<PurchaseOrderDetail>(args.ReturnPurchaseOrderDetails); this.PurchaseOrderDetailCollectionBindingSource.DataSource = pODNewList; this.DepartmentBindingSource.DataSource = CurrentDepartment.Get(); this.PurchaseOrderBindingSource.DataSource = goodsSaleController.PurchaseOrder; this.PurchaseOrderDetailCollectionBindingSource.DataSource = CreateNonDuplicate(pODList); this.ReceiptBindingSource.DataSource = receipt;*/ /*string deviceInfo = "<DeviceInfo>" + " <OutputFormat>EMF</OutputFormat>" + " <PageWidth>3.145in</PageWidth>" + " <PageHeight>5.3in</PageHeight>" + " <MarginTop>0.0in</MarginTop>" + " <MarginLeft>0.0in</MarginLeft>" + " <MarginRight>0.0in</MarginRight>" + " <MarginBottom>0.0in</MarginBottom>" + "</DeviceInfo>"; Warning[] warnings;*/ this.reportPurchaseOrder.LocalReport.Refresh(); PrintDirectlyToPrinter(); ClearGoodsSaleForm(); ClearReturnInput(); ClearInput(); }
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(); }