private void btnSave_Click(object sender, EventArgs e) { GoodsSaleReturnEventArgs eventArgs = new GoodsSaleReturnEventArgs(); eventArgs.RefPurchaseOrder = ReturnPurchaseOrder; eventArgs.ReturnPurchaseOrderDetails = ObjectConverter.ConvertToNonGenericList<PurchaseOrderDetail>(pODReturnList); if (SelectReturnGoodsEvent != null) { EventUtility.fireEvent(SelectReturnGoodsEvent, this, eventArgs); Close(); } }
void form_SelectReturnGoodsEvent(object sender, GoodsSaleReturnEventArgs e) { if(GoodsSaleController.PurchaseOrder == null) { btnAdd_Click(null,null); } foreach (PurchaseOrderDetail returnPO in e.ReturnPurchaseOrderDetails) { returnPO.Price = 0 - returnPO.Price; pODList.Add(returnPO); } bdsBill.EndEdit(); dgvBill.Refresh(); dgvBill.Invalidate(); GoodsSaleController.PurchaseOrder.PurchasePrice = CalculateTotalPrice(pODList); txtTotalAmount.Text = GoodsSaleController.PurchaseOrder.PurchasePrice.ToString(); CreateRowNumbers(); CalculateCharge(); RemoveEmptyRowFromList(pODList); ClearReturnInput(); ClearInput(); txtBarcode.Focus(); ReturnPurchaseOrder = e.RefPurchaseOrder; }
private void btnLoadPO_Click(object sender, EventArgs e) { pODReturnList.Clear(); pODList.Clear(); bdsReturnBill.EndEdit(); try { GoodsSaleReturnEventArgs goodsSaleReturnEventArgs = new GoodsSaleReturnEventArgs(); goodsSaleReturnEventArgs.SearchPurchaseOrderId = txtBillNumber.Text.Trim(); EventUtility.fireEvent(LoadPurchaseOrderEvent, this, goodsSaleReturnEventArgs); ReturnPurchaseOrder = goodsSaleReturnEventArgs.RefPurchaseOrder; txtBillDate.Text = ReturnPurchaseOrder.CreateDate.ToString("dd/MM/yyyy hh:mm:ss"); foreach (PurchaseOrderDetail purchaseOrderDetail in ReturnPurchaseOrder.PurchaseOrderDetails) { pODList.Add(purchaseOrderDetail); } bdsBill.EndEdit(); dgvBill.Focus(); } catch (Exception) { // do nothing } }
void goodsSaleReturnView_LoadPurchaseOrderEvent(object sender, GoodsSaleReturnEventArgs e) { PurchaseOrderPK pk = new PurchaseOrderPK {DepartmentId = CurrentDepartment.Get().DepartmentId,PurchaseOrderId = e.SearchPurchaseOrderId}; PurchaseOrder purchaseOrder = PurchaseOrderLogic.FindById(pk); e.RefPurchaseOrder = purchaseOrder; }
void goodsSaleReturnView_SavePurchaseOrderEvent(object sender, GoodsSaleReturnEventArgs e) { try { // save return order to ReturnPo foreach (PurchaseOrderDetail purchaseOrderDetail in e.ReturnPurchaseOrderDetails) { ReturnPo po = new ReturnPo(); po.CreateDate = DateTime.Now; po.CreateId = ClientInfo.getInstance().LoggedUser.Name; po.UpdateDate = DateTime.Now; po.UpdateId = ClientInfo.getInstance().LoggedUser.Name; ReturnPoPK poPK = new ReturnPoPK { DepartmentId = purchaseOrderDetail.PurchaseOrderDetailPK.DepartmentId, PurchaseOrderId = purchaseOrderDetail.PurchaseOrderDetailPK.PurchaseOrderId, PurchaseOrderDetailId = purchaseOrderDetail.PurchaseOrderDetailPK.PurchaseOrderDetailId, CreateDate = DateTime.Now }; po.ReturnPoPK = poPK; po.Quantity = purchaseOrderDetail.Quantity; po.ReturnDate = DateTime.Now; long originAmount = FindOriginAmount(e.RefPurchaseOrder.PurchaseOrderDetails, purchaseOrderDetail); if (originAmount == 0) { throw new BusinessException("Có lỗi ở hoá đơn gốc, đề nghị kiểm tra"); } long returnedQuantity = (long) ReturnPoLogic.FindQuantityById(poPK); long currentReturnQuantity = returnedQuantity + +po.Quantity; if (originAmount < currentReturnQuantity) { throw new BusinessException( "Lỗi :" + purchaseOrderDetail.Product.ProductMaster.ProductName + " .Tổng cộng :" + originAmount + " .Đã trả : " + returnedQuantity + " .Số lượng muốn trả: " + po.Quantity + " !"); } ObjectCriteria criteria = new ObjectCriteria(); criteria.AddEqCriteria("DepartmentStockPK.ProductId", purchaseOrderDetail.Product.ProductId); IList deptStockList = DepartmentStockLogic.FindAll(criteria); if(deptStockList!=null && deptStockList.Count > 0) { DepartmentStock departmentStock = (DepartmentStock)deptStockList[0]; departmentStock.GoodQuantity += po.Quantity; departmentStock.Quantity += po.Quantity; DepartmentStockLogic.Update(departmentStock); } else { throw new BusinessException("Không có mặt hàng này trong kho. Xin vui lòng kiểm tra dữ liệu"); } ReturnPoLogic.Add(po); } if (e.NextPurchaseOrder != null && e.NextPurchaseOrder.PurchaseOrderDetails!=null && e.NextPurchaseOrder.PurchaseOrderDetails.Count > 0) { PurchaseOrderLogic.Add(e.NextPurchaseOrder); } e.HasErrors = false; } catch (Exception ex ) { e.HasErrors = true; throw ex; } }
private void PrintReturnReceipt(GoodsSaleReturnEventArgs args, Receipt receipt) { this.DepartmentBindingSource.DataSource = CurrentDepartment.Get(); if (args.NextPurchaseOrder == null) { this.PurchaseOrderBindingSource.DataSource = args.RefPurchaseOrder; } else { this.PurchaseOrderBindingSource.DataSource = args.NextPurchaseOrder; } this.PurchaseOrderDetailBindingSource.DataSource = ObjectConverter.ConvertGenericList<PurchaseOrderDetail>(args.ReturnPurchaseOrderDetails); this.PurchaseOrderDetailCollectionBindingSource.DataSource = pODNewList; this.reportViewer1.RenderingComplete += new Microsoft.Reporting.WinForms.RenderingCompleteEventHandler(reportViewer1_RenderingComplete); //this.reportViewer1.LocalReport.Refresh(); this.reportViewer1.RefreshReport(); }
private void PrintDirectlyToPrinter(GoodsSaleReturnEventArgs args, Receipt receipt) { this.DepartmentBindingSource.DataSource = CurrentDepartment.Get(); if (args.NextPurchaseOrder == null) { args.RefPurchaseOrder.PurchaseOrderPK.PurchaseOrderId = args.RefPurchaseOrder.PurchaseOrderPK.PurchaseOrderId + "RET"; this.PurchaseOrderBindingSource.DataSource = args.RefPurchaseOrder; } else { this.PurchaseOrderBindingSource.DataSource = args.NextPurchaseOrder; } this.PurchaseOrderDetailBindingSource.DataSource = ObjectConverter.ConvertGenericList<PurchaseOrderDetail>(args.ReturnPurchaseOrderDetails); this.PurchaseOrderDetailCollectionBindingSource.DataSource = pODNewList; this.ReceiptBindingSource.DataSource = receipt; this.reportViewer1.RenderingComplete += new Microsoft.Reporting.WinForms.RenderingCompleteEventHandler(reportViewer1_RenderingComplete); this.reportViewer1.LocalReport.Refresh(); streamList.Clear(); //const string printerName = "Epson TM-T88IV"; var configurationAppSettings = new AppSettingsReader(); string printerName = (string)configurationAppSettings.GetValue("PrinterName", typeof(String)); PrintDocument printDoc = new PrintDocument(); printDoc.PrinterSettings.PrinterName = printerName; if (!printDoc.PrinterSettings.IsValid) { MessageBox.Show(String.Format("Can't find printer \"{0}\".", printerName)); return; } printDoc.PrinterSettings.DefaultPageSettings.PrinterResolution.X = 180; printDoc.PrinterSettings.DefaultPageSettings.PrinterResolution.Y = 180; printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage); printDoc.Print(); }
void goodsSaleReturnController_CompletedSavePurchaseOrderEvent(object sender, GoodsSaleReturnEventArgs e) { MessageBox.Show("Lưu hoá đơn trả thành công !"); btnReset_Click(this, null); }
private void btnSave_Click(object sender, EventArgs e) { if (pODReturnList.Count <= 0) { MessageBox.Show("Không có hàng để trả !"); return; } if(Int64.Parse(txtCharge.Text) < 0) { MessageBox.Show("Số tiền trả thêm chưa đủ !"); return; } if (goodsSaleReturnController.ReturnPurchaseOrder == null) { // tra hang nghi van } else { // tra hang da co doi chieu GoodsSaleReturnEventArgs eventArgs = new GoodsSaleReturnEventArgs(); eventArgs.RefPurchaseOrder = goodsSaleReturnController.ReturnPurchaseOrder; eventArgs.ReturnPurchaseOrderDetails = ObjectConverter.ConvertToNonGenericList<PurchaseOrderDetail>(pODReturnList); Receipt receipt = new Receipt(); receipt.PurchaseOrder = goodsSaleReturnController.ReturnPurchaseOrder; 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 = "HDDTH"; receipt.ReceiptNumber = goodsSaleReturnController.ReturnPurchaseOrder.PurchaseOrderPK.PurchaseOrderId; receipt.TotalAmount = Int64.Parse(txtTotalAmount.Text); receipt.CustomerPayment = Int64.Parse(txtPayment.Text); receipt.Charge = Int64.Parse(txtCharge.Text); receipt.ReturnAmount = Int64.Parse(txtReturnPayment.Text); if(pODNewList!=null && pODNewList.Count > 0 ) { PurchaseOrder nextOrder = new PurchaseOrder(); nextOrder.PurchaseOrderPK = new PurchaseOrderPK {DepartmentId = CurrentDepartment.Get().DepartmentId}; nextOrder.PurchaseOrderDescription = " Next Purchase Order "; nextOrder.DelFlg = 0; nextOrder.ExclusiveKey = 1; nextOrder.PurchaseOrderDetails = ObjectConverter.ConvertToNonGenericList(pODNewList); foreach (PurchaseOrderDetail orderDetail in nextOrder.PurchaseOrderDetails) { nextOrder.PurchasePrice += orderDetail.Price; } eventArgs.NextPurchaseOrder = nextOrder; } EventUtility.fireEvent(SavePurchaseOrderEvent, this, eventArgs); if(!eventArgs.HasErrors) { MessageBox.Show("Lưu thành công !"); PrintDirectlyToPrinter(eventArgs,receipt); ClearForm(); } } }
private void btnLoadPO_Click(object sender, EventArgs e) { pODReturnList.Clear(); bdsReturnBill.EndEdit(); goodsSaleReturnController.ReturnPurchaseOrder = null; GoodsSaleReturnEventArgs goodsSaleReturnEventArgs = new GoodsSaleReturnEventArgs(); goodsSaleReturnEventArgs.SearchPurchaseOrderId = txtBillNumber.Text.Trim(); EventUtility.fireEvent(LoadPurchaseOrderEvent, this, goodsSaleReturnEventArgs); PurchaseOrder result = goodsSaleReturnEventArgs.RefPurchaseOrder; goodsSaleReturnController.ReturnPurchaseOrder = result; txtBillDate.Text = result.CreateDate.ToString("dd/MM/yyyy hh:mm:ss"); pODList.Clear(); foreach (PurchaseOrderDetail purchaseOrderDetail in result.PurchaseOrderDetails) { pODList.Add(purchaseOrderDetail); } bdsBill.EndEdit(); }