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));
        }
示例#2
0
        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);
                }
            }
        }