Ejemplo n.º 1
0
        public void InsertTransaction(TransationModel transactionModel)
        {
            Transation transation = new Transation
            {
                TableNum    = Convert.ToInt32(transactionModel.TableNum),
                TransNum    = transactionModel.TransNum,
                TotalAmount = transactionModel.ArticleModels.Sum(f => f.TotalPrice),
                TransDate   = DateTime.Now
            };
            List <TransArticle> transArticles = new List <TransArticle>();

            using (var orderDbContext = Provider.CreateDbContext())
            {
                int transactionId;
                if (!orderDbContext.Transations.Any())
                {
                    transactionId = 1;
                }
                else
                {
                    transactionId = orderDbContext.Transations.Max(t => t.Id) + 1;
                }
                foreach (ArticleModel f in transactionModel.ArticleModels)
                {
                    Article      article      = orderDbContext.Articles.First(a => a.Code == f.Code);
                    TransArticle transArticle = new TransArticle
                    {
                        TransactionId = transactionId,
                        ArticleId     = article.Id,
                        Qty           = f.Number,
                        TotalPrice    = f.TotalPrice
                    };
                    transArticles.Add(transArticle);
                }
                try
                {
                    orderDbContext.Transations.Add(transation);
                    orderDbContext.SaveChanges();
                    orderDbContext.TransArticles.AddRange(transArticles);
                    orderDbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    Log.Error(ex.ToString());
                }
            }
        }
Ejemplo n.º 2
0
        public IActionResult Serve(TransationModel transaction)
        {
            Extract account = accountService.Serve(transaction.Account_ID, transaction.Value);

            return(RedirectToAction("TransactionSuccess", account));
        }