public void UpdateWarehouseVoucher(Guid id, WarehouseVoucher warehouseVoucher) { var exitingWarehouseVoucher = db.WarehouseVouchers.Find(id); db.Entry(exitingWarehouseVoucher).CurrentValues.SetValues(warehouseVoucher); WarehouseVoucherItem updatedItem = null; foreach (WarehouseVoucherItem item in exitingWarehouseVoucher.Items.ToList()) { updatedItem = warehouseVoucher.Items.FirstOrDefault(p => p.ID == item.ID); if (updatedItem == null) { exitingWarehouseVoucher.Items.Remove(item); } else { db.Entry(item).CurrentValues.SetValues(updatedItem); } } foreach (WarehouseVoucherItem item in warehouseVoucher.Items) { item.WarehouseVoucherID = exitingWarehouseVoucher.ID; exitingWarehouseVoucher.Items.Add(item); } }
public IHttpActionResult PostWarehouseVoucher(WarehouseVoucher warehouseVoucher) { if (!ModelState.IsValid) { return BadRequest(ModelState); } warehouseVoucher.Creater = this.User.Identity.Name; warehouseVoucher.CreateTime = DateTime.Now; warehouseVoucherAS.CreateWarehouseVoucher(warehouseVoucher); try { unitOfWork.SaveChanges(); } catch (DbUpdateException) { if (WarehouseVoucherExists(warehouseVoucher.ID)) { return Conflict(); } else { throw; } } return CreatedAtRoute("DefaultApi", new { id = warehouseVoucher.ID }, warehouseVoucher); }
public static WarehouseVoucher Create(Guid supplierID, Guid departmentID, string creater) { WarehouseVoucher newWarehouseVoucher = new WarehouseVoucher(); newWarehouseVoucher.State = WarehouseVoucherState.Unconfirmed; newWarehouseVoucher.Creater = creater; newWarehouseVoucher.CreateTime = DateTime.Now; newWarehouseVoucher.SupplierID = supplierID; newWarehouseVoucher.DepartmentID = departmentID; newWarehouseVoucher.SubmitUser = ""; return(newWarehouseVoucher); }
public IHttpActionResult Submit(Guid id, WarehouseVoucher warehouseVoucher) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (warehouseVoucher != null) { SaveWarehouserVoucher(id, warehouseVoucher); } warehouseVoucherAS.SubmitWarehouseVoucher(id,User.Identity.Name); try { unitOfWork.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!WarehouseVoucherExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public void SaveWarehouserVoucher(Guid id, WarehouseVoucher warehouseVoucher) { warehouseVoucherAS.UpdateWarehouseVoucher(id, warehouseVoucher); }
public IHttpActionResult PutWarehouseVoucher(Guid id, WarehouseVoucher warehouseVoucher) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != warehouseVoucher.ID) { return BadRequest(); } SaveWarehouserVoucher(id, warehouseVoucher); try { unitOfWork.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!WarehouseVoucherExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public static WarehouseVoucher Create(Guid supplierID, Guid departmentID, string creater) { WarehouseVoucher newWarehouseVoucher = new WarehouseVoucher(); newWarehouseVoucher.State = WarehouseVoucherState.Unconfirmed; newWarehouseVoucher.Creater = creater; newWarehouseVoucher.CreateTime = DateTime.Now; newWarehouseVoucher.SupplierID = supplierID; newWarehouseVoucher.DepartmentID = departmentID; newWarehouseVoucher.SubmitUser = ""; return newWarehouseVoucher; }
public void SubmitVoucher(WarehouseVoucher voucher, string submitter) { voucher.Submit(submitter); StockService stockService = new StockService(db); stockService.UpdateStock(voucher); }
public void UpdateStock(WarehouseVoucher voucher) { if (voucher.State == WarehouseVoucherState.Confirmed) { //var source = db.Suppliers.Find(voucher.SupplierID); //var destination = db.Departments.Find(voucher.DepartmentID); //if (source.InventoryManagement) //{ // foreach (WarehouseVoucherItem item in voucher.Items) // { // StockOut(voucher.SupplierID, item.ProductSkuInfo.SkuID, item.Quantity, item.Weight, item.PositionID, item.ProductNumber); // } //} //if (destination.InventoryManagement) //{ foreach (WarehouseVoucherItem item in voucher.Items) { StockIn(voucher.DepartmentID, item.ProductSkuInfo.SkuID, item.Quantity, item.Weight, item.PositionID, item.ProductNumber); } //} } else throw new DomainException("入库单未提交"); }