private void _Insert(Book.Model.InvoicePO invoice) { //往来单位 if (invoice.Department != null) { invoice.DepartmentId = invoice.Department.DepartmentId; } // 库房 //invoice.DepotId = invoice.Depot.DepotId; //经手人 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.InvoicePODetail detail in invoice.Details) { if (detail.DepotPosition == null || detail.DepotPositionId == null) { throw new Exception("貨位不為空"); } if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } detail.InvoiceId = invoice.InvoiceId; detail.InvoicePODetailWHQuantity = detail.InvoicePODetailJCQuantity; detail.InvoicePODetailYHQuantity = 0; invoicePODetailAccessor.Insert(detail); Model.Product p = detail.Product; p.StocksQuantity -= detail.InvoicePODetailJCQuantity; productAccessor.Update(p); Model.Stock stock = stockAccessor.GetStockByProductIdAndDepotPositionId(p.ProductId, detail.DepotPositionId); if (stock == null) { stock = new Book.Model.Stock(); stock.StockId = Guid.NewGuid().ToString(); stock.ProductId = p.ProductId; stock.DepotPositionId = detail.DepotPositionId; stock.StockQuantity1 = detail.InvoicePODetailJCQuantity; stock.StockCurrentJC = stock.StockCurrentJC == null ? detail.InvoicePODetailJCQuantity : stock.StockCurrentJC + detail.InvoicePODetailJCQuantity; stock.DepotId = invoice.PoDepotId; stock.ProduceUnit = p.ProduceUnit.CnName; stockAccessor.Insert(stock); } else { stockAccessor.IncrementJC(new DepotPositionManager().Get(detail.DepotPositionId), p, detail.InvoicePODetailJCQuantity.Value); } } }
public void Delete(Book.Model.InvoicePO invoice) { sqlmapper.Delete("InvoicePODetail.delete_by_invoiceid", invoice.InvoiceId); }
public IList <Book.Model.InvoicePODetail> Select(Book.Model.InvoicePO invoice) { return(accessor.Select(invoice)); }
public IList <Book.Model.InvoicePODetail> Select(Book.Model.InvoicePO invoice) { return(sqlmapper.QueryForList <Model.InvoicePODetail>("InvoicePODetail.select_by_invoiceid", invoice.InvoiceId)); }