private void simpleButtonAppend_Click(object sender, EventArgs e) { ChooseProductForm f = new ChooseProductForm(); if (f.ShowDialog(this) == DialogResult.OK) { if (this.invoice.Details.Count > 0 && string.IsNullOrEmpty(this.invoice.Details[0].ProductId)) { this.invoice.Details.RemoveAt(0); } Model.InvoicePODetail detail = null; if (ChooseProductForm.ProductList != null || ChooseProductForm.ProductList.Count > 0) { foreach (Model.Product product in ChooseProductForm.ProductList) { detail = new Book.Model.InvoicePODetail(); detail.Invoice = this.invoice; detail.InvoicePODetailId = Guid.NewGuid().ToString(); detail.Product = product; detail.ProductId = product.ProductId; detail.InvoicePODetailJCQuantity = 0; detail.InvoicePODetailWHQuantity = 0; detail.InvoicePODetailYHQuantity = 0; detail.InvoicePODetailNote = ""; if (detail.Product.DepotUnit != null) { detail.InvoiceProductUnit = detail.Product.DepotUnit.ToString(); } this.invoice.Details.Add(detail); } } if (ChooseProductForm.ProductList == null || ChooseProductForm.ProductList.Count == 0) { detail = new Book.Model.InvoicePODetail(); detail.InvoicePODetailId = Guid.NewGuid().ToString(); detail.Product = f.SelectedItem as Model.Product;; detail.ProductId = detail.Product.ProductId; detail.InvoicePODetailJCQuantity = 0; detail.InvoicePODetailWHQuantity = 0; detail.InvoicePODetailYHQuantity = 0; detail.InvoicePODetailNote = ""; if (detail.Product.DepotUnit != null) { detail.InvoiceProductUnit = detail.Product.DepotUnit.ToString(); } this.invoice.Details.Add(detail); } this.bindingSource1.Position = this.bindingSource1.IndexOf(detail); this.gridControl1.RefreshDataSource(); } f.Dispose(); GC.Collect(); }
protected override void AddNew() { this.invoice = new Model.InvoicePO(); this.invoice.InvoiceDate = DateTime.Now; this.invoice.Details = new List <Model.InvoicePODetail>(); this.invoice.InvoiceId = this.invoiceManager.GetNewId(); Model.InvoicePODetail detail = new Model.InvoicePODetail(); detail.InvoicePODetailId = Guid.NewGuid().ToString(); detail.InvoicePIDetailNote = ""; detail.InvoicePIDetailQuantity = 0; detail.InvoicePODetailNote = ""; detail.InvoicePODetailJCQuantity = 0; detail.InvoiceProductUnit = ""; detail.InvoicePODetailWHQuantity = 0; detail.InvoicePODetailYHQuantity = 0; detail.Product = new Book.Model.Product(); this.invoice.Details.Add(detail); this.bindingSource1.Position = this.bindingSource1.IndexOf(detail); }
private void simpleButtonRemove_Click(object sender, EventArgs e) { if (this.bindingSource1.Current != null) { this.invoice.Details.Remove(this.bindingSource1.Current as Book.Model.InvoicePODetail); if (this.invoice.Details.Count == 0) { Model.InvoicePODetail detail = new Model.InvoicePODetail(); detail.InvoicePODetailId = Guid.NewGuid().ToString(); detail.InvoicePIDetailNote = ""; detail.InvoicePIDetailQuantity = 0; detail.InvoicePODetailNote = ""; detail.InvoicePODetailJCQuantity = 0; detail.InvoiceProductUnit = ""; detail.InvoicePODetailWHQuantity = 0; detail.InvoicePODetailYHQuantity = 0; detail.Product = new Book.Model.Product(); this.invoice.Details.Add(detail); this.bindingSource1.Position = this.bindingSource1.IndexOf(detail); } this.gridControl1.RefreshDataSource(); } }
private void gridView1_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { Model.InvoicePODetail detail = this.gridView1.GetRow(e.RowHandle) as Model.InvoicePODetail; if (e.Column == this.colProductId) { if (detail != null) { Model.Product p = productManager.Get(e.Value.ToString()); detail.InvoicePODetailId = Guid.NewGuid().ToString(); detail.InvoicePIDetailNote = ""; detail.InvoicePIDetailQuantity = 0; detail.InvoicePODetailNote = ""; detail.InvoicePODetailJCQuantity = 0; detail.InvoicePODetailWHQuantity = 0; detail.InvoicePODetailYHQuantity = 0; detail.Product = p; detail.ProductId = p.ProductId; detail.InvoiceProductUnit = detail.Product.ProduceUnit.CnName;; this.bindingSource1.Position = this.bindingSource1.IndexOf(detail); } this.gridControl1.RefreshDataSource(); } if (e.Column == this.gridColumn1) { if (detail != null) { Model.DepotPosition position = new BL.DepotPositionManager().Get(e.Value.ToString()); detail.DepotPosition = position; if (position != null) { detail.DepotPositionId = position.DepotPositionId; } } this.gridControl1.RefreshDataSource(); } }
private void _Insert(Book.Model.InvoicePI invoice) { //往来单位 if (invoice.Department != null) { invoice.DepartmentId = invoice.Department.DepartmentId; } //经手人 if (invoice.Employee0 != null) { invoice.Employee0Id = invoice.Employee0.EmployeeId; } //录单人 if (invoice.Employee1 != null) { invoice.Employee1Id = invoice.Employee1.EmployeeId; } if ((Helper.InvoiceStatus)invoice.InvoiceStatus.Value == Helper.InvoiceStatus.Normal) { //过账人 if (invoice.Employee2 != null) { invoice.Employee2Id = invoice.Employee2.EmployeeId; } //过账时间 invoice.InvoiceGZTime = DateTime.Now; } //插入表单 accessor.Insert(invoice); //插入明细 foreach (Model.InvoicePIDetail detail in invoice.Details) { Model.InvoicePODetail odetail = invoicePODetailAccessor.Get(detail.InvoicePODetailId); if (detail.InvoicePIDetailQuantity > 0) { if (detail.InvoicePIDetailQuantity <= odetail.InvoicePODetailWHQuantity) { detail.InvoiceId = invoice.InvoiceId; invoicePIDetailAccessor.Insert(detail); Model.Product p = detail.Product; p.StocksQuantity += detail.InvoicePIDetailQuantity; productAccessor.Update(detail.Product); if (odetail != null) { odetail.InvoicePODetailWHQuantity -= detail.InvoicePIDetailQuantity; odetail.InvoicePODetailYHQuantity += detail.InvoicePIDetailQuantity; invoicePODetailAccessor.Update(odetail); } Model.Stock stock = stockAccessor.GetStockByProductIdAndDepotPositionId(p.ProductId, detail.PoDepotPositionId); if (stock == null) { stock = new Book.Model.Stock(); stock.StockId = Guid.NewGuid().ToString(); stock.ProductId = p.ProductId; stock.DepotPositionId = detail.PoDepotPositionId; stock.StockQuantity1 = detail.InvoicePIDetailQuantity; stock.StockCurrentJR = stock.StockCurrentJR == null ? detail.InvoicePIDetailQuantity : stock.StockCurrentJR + detail.InvoicePIDetailQuantity; stock.DepotId = invoice.PoDepotId; stock.ProduceUnit = p.ProduceUnit.CnName; stockAccessor.Insert(stock); } else { stockAccessor.IncrementJR(new DepotPositionManager().Get(detail.PoDepotPositionId), p, detail.InvoicePIDetailQuantity.Value); } } else { throw new Helper.InvalidValueException("HaiRuTaiDuo"); } } } }
private void _Update(Model.InvoicePI invoice) { invoice.UpdateTime = DateTime.Now;; invoice.DepartmentId = invoice.Department.DepartmentId; invoice.Employee0Id = invoice.Employee0.EmployeeId; Model.InvoicePI invoiceOriginal = this.Get(invoice.InvoiceId); Helper.InvoiceStatus invoiceStatus = (Helper.InvoiceStatus)invoice.InvoiceStatus.Value; switch ((Helper.InvoiceStatus)invoiceOriginal.InvoiceStatus) { case Helper.InvoiceStatus.Draft: switch (invoiceStatus) { case Helper.InvoiceStatus.Draft: accessor.Update(invoice); invoicePIDetailAccessor.Delete(invoice); foreach (Model.InvoicePIDetail detail in invoice.Details) { detail.InvoiceId = invoice.InvoiceId; invoicePIDetailAccessor.Insert(detail); } break; case Helper.InvoiceStatus.Normal: accessor.Delete(invoiceOriginal.InvoiceId); invoice.InsertTime = invoiceOriginal.InsertTime; invoice.UpdateTime = DateTime.Now; _Insert(invoice); break; case Helper.InvoiceStatus.Null: throw new InvalidOperationException(); } break; case Helper.InvoiceStatus.Normal: switch (invoiceStatus) { case Helper.InvoiceStatus.Draft: throw new InvalidOperationException(); case Helper.InvoiceStatus.Normal: invoiceOriginal.InvoiceStatus = (int)Helper.InvoiceStatus.Null; _TurnNull(invoiceOriginal); accessor.Delete(invoiceOriginal.InvoiceId); invoice.InsertTime = invoiceOriginal.InsertTime; invoice.UpdateTime = DateTime.Now; _Insert(invoice); break; case Helper.InvoiceStatus.Null: foreach (Model.InvoicePIDetail detail in invoice.Details) { Model.Product p = detail.Product; productAccessor.Update(detail.Product); stockAccessor.DecrementJR(new DepotPositionManager().Get(detail.PoDepotPositionId), p, detail.InvoicePIDetailQuantity.Value); Model.InvoicePODetail temp = invoicePODetailAccessor.Get(detail.InvoicePODetailId); if (temp != null) { detail.InvoicePODetail.InvoicePODetailWHQuantity += detail.InvoicePIDetailQuantity; detail.InvoicePODetail.InvoicePODetailYHQuantity -= detail.InvoicePIDetailQuantity; invoicePODetailAccessor.Update(detail.InvoicePODetail); } } break; } break; case Helper.InvoiceStatus.Null: throw new InvalidOperationException(); } }
public void Update(Model.InvoicePODetail e) { this.Update <Model.InvoicePODetail>(e); }
public void Insert(Model.InvoicePODetail e) { this.Insert <Model.InvoicePODetail>(e); }