public bool Create(ConsolidateSingleModel model) { using (var db = new EntityContext()) { using (var dbtransact = db.Database.BeginTransaction()) { TbConsolidateList consolidation = new TbConsolidateList { ConsolidatedDate = DateTime.Now, AmountOfItem = model.ItemId.Length, Customer = db.tbCustomers.FirstOrDefault(x => x.Id == model.CustomerId), Fee = model.Fee, }; db.tbConsolidateLists.Add(consolidation); db.SaveChanges(); db.Entry(consolidation).State = EntityState.Modified; consolidation.ConsolidateNumber = consolidation.Id.ToString().PadRight(6, '0'); db.SaveChanges(); foreach (var item in model.ItemId) { TbConsolidatedItems it = new TbConsolidatedItems { Consolidator = consolidation, Items = db.TbItems.FirstOrDefault(x => x.Id == item) }; db.tbConsolidatedItems.Add(it); } db.SaveChanges(); dbtransact.Commit(); return(true); } } }
public ConsolidationListModel AssignSingleConsolidationList(TbConsolidateList source) { if (source != null) { return(new ConsolidationListModel { Id = source.Id, AmountOfItem = source.AmountOfItem, ConsolidatedDate = source.ConsolidatedDate.ToString("dd-MM-yyyy"), ConsolidateNumber = source.ConsolidateNumber, CustomerName = source.Customer.Name, CustomerId = source.Customer.Id, CustomerPhoneNumber = source.Customer.Phonenumber, IncomingBalanceInBaht = source.IncomingBalanceInBaht, IncomingBalanceInKip = source.IncomingBalanceInKip, IncomingBalanceInDollar = source.IncomingBalanceInDollar, isBalanceTransfer = source.isBalanceTransfer, isCustomerConfirmed = source.isCustomerConfirmed, Fee = source.Fee, BalanceToTransferInKip = source.BalanceToTransfer, needConfirm = source.needConfirm }); } else { return(null); } }
public bool CreateConsolidation(int cusomterId, double amount, double fee, int[] itemId) { using (var db = new EntityContext()) { using (var dbtransact = db.Database.BeginTransaction()) { try { //get balance from delivery double kip = 0; double baht = 0; double dollar = 0; foreach (var id in itemId) { kip += db.tbItemSentHistories .Include(x => x.Item) .FirstOrDefault(x => x.Item.Id == id).IncomingBalanceInKip; baht += db.tbItemSentHistories .Include(x => x.Item) .FirstOrDefault(x => x.Item.Id == id).IncomingBalanceInBaht; dollar += db.tbItemSentHistories.Include(x => x.Item) .FirstOrDefault(x => x.Item.Id == id).IncomingBalanceInDollar; } double balanceToTransfer = kip - fee; TbConsolidateList list = new TbConsolidateList { Customer = db.tbCustomers.FirstOrDefault(u => u.Id == cusomterId), AmountOfItem = amount, ConsolidatedDate = DateTime.Now.Date, IncomingBalanceInKip = kip, IncomingBalanceInBaht = baht, IncomingBalanceInDollar = dollar, BalanceToTransfer = balanceToTransfer, isBalanceTransfer = false, isCustomerConfirmed = false, Fee = fee, }; db.tbConsolidateLists.Add(list); db.SaveChanges(); db.Entry(list).State = EntityState.Modified; list.ConsolidateNumber = "L" + list.Id.ToString().PadLeft(5, '0'); foreach (var id in itemId) { TbConsolidatedItems itemlist = new TbConsolidatedItems { Consolidator = list, Items = db.TbItems.FirstOrDefault(i => i.Id == id) }; db.tbConsolidatedItems.Add(itemlist); } db.SaveChanges(); dbtransact.Commit(); return(true); } catch (Exception) { dbtransact.Rollback(); return(false); } } } }