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()); } } }
public IActionResult Serve(TransationModel transaction) { Extract account = accountService.Serve(transaction.Account_ID, transaction.Value); return(RedirectToAction("TransactionSuccess", account)); }