public async Task <IActionResult> PostTransaction([FromBody] StockTakeAPI transactionApi) { APIResponse response = new APIResponse(); try { StockTake stockTake = new StockTake(); stockTake.EmployeeId = transactionApi.employeeId; stockTake.EmployeeName = transactionApi.employeeName; stockTake.Time = DateTime.Now; stockTake.StoreId = transactionApi.storeCode; _context.StockTake.Add(stockTake); //log record LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Stock take"; log.Message = JsonConvert.SerializeObject(transactionApi); _context.LogRecord.Add(log); _context.SaveChanges(); for (int i = 0; i < transactionApi.stockTakeLines.Count; i++) { StockTakeLineAPI lineAPI = transactionApi.stockTakeLines[i]; StockTakeLine line = new StockTakeLine(); line.ArticleId = lineAPI.article.articleId; line.ArticleName = lineAPI.article.articleName; line.GoodQty = lineAPI.goodQty; line.RejectQty = lineAPI.rejectQty; line.WhGoodQty = lineAPI.whGoodQty; line.WhRejectQty = lineAPI.whRejectQty; line.StockTakeId = stockTake.Id; _context.Add(line); _context.SaveChanges(); } response.code = "1"; response.message = "Sucess Add Data"; } catch (Exception ex) { response.code = "0"; response.message = ex.ToString(); } return(Ok(response)); }
public dynamic AddStocktake(string sess, [FromBody] StockTake AddObject) { { var admin = db.Users.Where(zz => zz.SessionID == sess).ToList(); if (admin == null) { dynamic toReturn = new ExpandoObject(); toReturn.Error = "Session is no longer available"; return(toReturn); } if (AddObject != null) { StockTake Takes = new StockTake(); Takes.AdminID = AddObject.AdminID; Takes.Description = AddObject.Description; Takes.Date = DateTime.Now; db.StockTakes.Add(Takes); db.SaveChanges(); int StockTakeID = db.StockTakes.Where(zz => zz.Description == AddObject.Description).Select(zz => zz.StockTakeID).FirstOrDefault(); foreach (StockTakeLine lines in AddObject.StockTakeLines) { StockTakeLine newObject = new StockTakeLine(); newObject.ItemID = lines.ItemID; newObject.StockTakeID = StockTakeID; newObject.Quantity = lines.Quantity; StockItem updateStock = db.StockItems.Where(zz => zz.ItemID == lines.ItemID).FirstOrDefault(); updateStock.QuantityInStock = lines.Quantity; db.StockTakeLines.Add(newObject); db.SaveChanges(); } return("success"); } else { return(null); } } }