private WarehouseMaster masterWarehose(String codeWarehouse) { Warehouse storeDb = _context.Warehouse.Where(c => c.Code == codeWarehouse).First(); WarehouseMaster objectData = new WarehouseMaster(); objectData.Code = storeDb.Code; objectData.Name = storeDb.Name; objectData.Address = storeDb.Name; objectData.Address2 = storeDb.Address2; objectData.Address3 = storeDb.Address3; objectData.Address4 = storeDb.Address4; objectData.City = storeDb.City; objectData.Regional = storeDb.Regional; return objectData; }
public WareHouseTransaction PostTransaction(WareHouseTransaction model, hooDbContext db) { var error = ""; //single transaction using (var trx = db.Database.BeginTransaction()) { try { //Insert on WareHouseTransaction table db.WareHouseTransaction.Add(model); db.SaveChanges(); //Insert/Update the WareHouseMaster table var master = db.WareHouseMaster.Where(m => m.LocationId == model.LocationId && m.ProductId == model.ProductId && m.LotNumber == model.LotNumber ).SingleOrDefault(); //Insert if (master == null) { var m = new WarehouseMaster(); m.ProductId = model.ProductId; m.LotNumber = model.LotNumber; m.ExpirationDate = model.ExpirationDate; m.LocationId = model.LocationId; m.Quantity = model.Quantity; db.WareHouseMaster.Add(m); } //Update else { if (model.TransactionType == "in") { master.Quantity += model.Quantity; } else if (model.TransactionType == "out" || model.TransactionType == "consumption") { master.Quantity -= model.Quantity; } else if (model.TransactionType == "adjustment") { master.Quantity = model.Quantity; } } db.SaveChanges(); trx.Commit(); } catch (Exception ex) { trx.Rollback(); error = ex.Message; } finally { trx.Dispose(); } } return(model); }