public static NewAccount newAccountView() { AccAccount db = new AccAccount(); NewAccount dv = new NewAccount(db); db.Status = true; new DAOs.AccAccountsDAO(dv.db).insertOnSubmit(db); dv.MdiParent = MainMenuHandler.Form; return dv; }
public void SaveJv(DtoSaveJv dtoSaveJv) { using (var transaction = _db.Database.BeginTransaction()) { var maxVno = _db.AccVouchers.Max(v => (int?)v.VNo) ?? 0; ++maxVno; int vSrNo = 0; foreach (DtoSaveJvDetail detail in dtoSaveJv.JvDetails) { ++vSrNo; AccAccount account = _db.AccAccounts.Single(re => re.AccString.Equals(detail.AccString)); AccVoucher voucher = new AccVoucher { AccString = detail.AccString, AccCode = account.AccCode, BID = 0, CID = 0, ChequeNo = "0", Credit = detail.Credit, Debit = detail.Debit, HeadCode = account.HeadCode, OID = 0, SubHeadCode = account.SubHeadCode, SessionId = 0, VType = dtoSaveJv.VoucherType, InvType = "Manual-Entry", InvNo = "0", VDate = dtoSaveJv.Date, VDescription = detail.Remarks, UserCode = 0, VSrNo = vSrNo, VNo = maxVno }; _db.AccVouchers.Add(voucher); _db.SaveChanges(); } transaction.Commit(); } }
public void SaveTangiblePurchase(DtoTangiblePurchase dtoTangible) { using (var transaction = _db.Database.BeginTransaction()) { #region Save In PurchaseTable int purchaseId = _db.Purchases.Max(v => (int?)v.Pid) ?? 0; ++purchaseId; //InventoryType type = // _db.InventoryTypes.FirstOrDefault(t => t.InventoryTypeId.Equals(dtoPurchase.InventoryTypeId)); dtoTangible.Numbers.ForEach(a => { Purchase purchase = new Purchase { //PurchaseId = dtoPurchase.PurchaseId, ItemId = dtoTangible.ItemId, Total = dtoTangible.Rate,//dtoTangible.Total, Remarks = dtoTangible.Remarks, PortalId = dtoTangible.PortalId, Qty = 1,//dtoTangible.Numbers.Count, Subname = dtoTangible.Subname, Percentage = 0, Rate = dtoTangible.Rate, StockOut = 1,//dtoTangible.Numbers.Count, DatePurchased = dtoTangible.DatePurchased, Pid = purchaseId, Number = a }; _db.Purchases.Add(purchase); _db.SaveChanges(); //purchaseId = purchase.PurchaseId; }); #endregion Stock stock = _db.Stocks.FirstOrDefault(s => s.ItemId.Equals(dtoTangible.ItemId)); if (stock == null) { stock = new Stock { ItemId = dtoTangible.ItemId, NetQty = dtoTangible.Numbers.Count, PurchaseId = purchaseId, AvgRate = dtoTangible.Rate }; _db.Stocks.Add(stock); } else { //stock.ItemId = dtoPurchase.ItemId, stock.NetQty = dtoTangible.Numbers.Count + stock.NetQty; stock.PurchaseId = purchaseId; stock.AvgRate = (dtoTangible.Rate + stock.AvgRate) / 2; _db.Entry(stock).State = EntityState.Modified; } _db.SaveChanges(); #region Coucher Entry Portal portal = _db.Portals.Single(p => p.PortalId.Equals(dtoTangible.PortalId)); var maxVno = _db.AccVouchers.Max(v => (int?)v.VNo) ?? 0; AccAccount acc = _db.AccAccounts.Single(a => a.AccString.Equals(portal.AccString)); maxVno = ++maxVno; AccVoucher voucher = new AccVoucher { VDate = dtoTangible.DatePurchased, SessionId = 0, AccString = portal.AccString, VNo = maxVno, VType = "JV", VSrNo = 1, VDescription = dtoTangible.Remarks, Debit = 0, Credit = dtoTangible.Total, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = acc.HeadCode, SubHeadCode = acc.SubHeadCode, AccCode = acc.AccCode, ChequeNo = "0", InvNo = purchaseId.ToString(), InvType = "Purchase" }; _db.AccVouchers.Add(voucher); _db.SaveChanges(); Item item = _db.Items.Single(i => i.ItemId.Equals(dtoTangible.ItemId)); acc = new AccAccount(); acc = _db.AccAccounts.Single(a => a.AccString.Equals(item.AccString)); voucher = new AccVoucher(); voucher = new AccVoucher { VDate = dtoTangible.DatePurchased, SessionId = 0, AccString = item.AccString, VNo = maxVno, VType = "JV", VSrNo = 2, VDescription = dtoTangible.Remarks, Debit = dtoTangible.Total, Credit = 0, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = acc.HeadCode, SubHeadCode = acc.SubHeadCode, AccCode = acc.AccCode, ChequeNo = "0", InvNo = purchaseId.ToString(), InvType = "Purchase" }; _db.AccVouchers.Add(voucher); _db.SaveChanges(); #endregion transaction.Commit(); } }
public void SavePurchase(dtoPurchase dtoPurchase) { try { using (var transaction = _db.Database.BeginTransaction()) { #region Save In PurchaseTable InventoryType type = _db.InventoryTypes.FirstOrDefault(t => t.InventoryTypeId.Equals(dtoPurchase.InventoryTypeId)); int purchaseId = _db.Purchases.Max(v => (int?)v.Pid) ?? 0; ++purchaseId; Purchase purchase = new Purchase { //PurchaseId = dtoPurchase.PurchaseId, ItemId = dtoPurchase.ItemId, Total = dtoPurchase.Total, Remarks = dtoPurchase.Remarks, PortalId = dtoPurchase.PortalId, Qty = dtoPurchase.Qty, Subname = dtoPurchase.Subname, Percentage = dtoPurchase.Percentage, Rate = dtoPurchase.Rate, //StockOut = (type.Name == "Tangible") ? dtoPurchase.Qty : dtoPurchase.Total, DatePurchased = dtoPurchase.DatePurchased }; _db.Purchases.Add(purchase); _db.SaveChanges(); #endregion #region Save In Stock //int purchaseId = purchase.PurchaseId; Stock stock = _db.Stocks.FirstOrDefault(s => s.ItemId.Equals(dtoPurchase.ItemId)); if (stock == null) { stock = new Stock { ItemId = dtoPurchase.ItemId, NetQty = dtoPurchase.Qty, PurchaseId = purchaseId, AvgRate = type.Name == "Tangible" ? dtoPurchase.Rate : dtoPurchase.Percentage }; _db.Stocks.Add(stock); } else { //stock.ItemId = dtoPurchase.ItemId, stock.NetQty = dtoPurchase.Qty + stock.NetQty; stock.PurchaseId = purchaseId; stock.AvgRate = ((type.Name == "Tangible" ? dtoPurchase.Rate : dtoPurchase.Percentage) + stock.AvgRate) / 2; _db.Entry(stock).State = EntityState.Modified; } _db.SaveChanges(); #endregion #region PurchaseVoucher Entry if (type.Name == "Tangible") { Portal portal = _db.Portals.Single(p => p.PortalId.Equals(purchase.PortalId)); var maxVno = _db.AccVouchers.Max(v => (int?)v.VNo) ?? 0; AccAccount acc = _db.AccAccounts.Single(a => a.AccString.Equals(portal.AccString)); maxVno = ++maxVno; AccVoucher voucher = new AccVoucher { VDate = purchase.DatePurchased, SessionId = 0, AccString = portal.AccString, VNo = maxVno, VType = "JV", VSrNo = 1, VDescription = purchase.Remarks, Debit = 0, Credit = purchase.Total, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = acc.HeadCode, SubHeadCode = acc.SubHeadCode, AccCode = acc.AccCode, ChequeNo = "0", InvNo = purchase.PurchaseId.ToString(), InvType = "Purchase" }; _db.AccVouchers.Add(voucher); _db.SaveChanges(); Item item = _db.Items.Single(i => i.ItemId.Equals(purchase.ItemId)); acc = new AccAccount(); acc = _db.AccAccounts.Single(a => a.AccString.Equals(item.AccString)); voucher = new AccVoucher(); voucher = new AccVoucher { VDate = purchase.DatePurchased, SessionId = 0, AccString = item.AccString, VNo = maxVno, VType = "JV", VSrNo = 2, VDescription = purchase.Remarks, Debit = purchase.Total, Credit = 0, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = acc.HeadCode, SubHeadCode = acc.SubHeadCode, AccCode = acc.AccCode, ChequeNo = "0", InvNo = purchase.PurchaseId.ToString(), InvType = "Purchase" }; _db.AccVouchers.Add(voucher); _db.SaveChanges(); } else { Portal portal = _db.Portals.Single(p => p.PortalId.Equals(purchase.PortalId)); var maxVno = _db.AccVouchers.Max(v => (int?)v.VNo) ?? 0; ++maxVno; AccAccount acc = _db.AccAccounts.Single(a => a.AccString.Equals(portal.AccString)); Item item = _db.Items.Single(i => i.ItemId.Equals(dtoPurchase.ItemId)); AccAccount itemAcc = _db.AccAccounts.Single(a => a.AccString.Equals(item.AccString)); AccAccount purchDisc = _db.AccAccounts.Single(a => a.AccString.Equals(item.PurDiscString)); IList <AccVoucher> vouchers = new List <AccVoucher>() { //Supplier Credit new AccVoucher { VDate = purchase.DatePurchased, SessionId = 0, AccString = portal.AccString, VNo = maxVno, VType = "JV", VSrNo = 1, VDescription = purchase.Remarks, Debit = 0, Credit = purchase.Total, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = acc.HeadCode, SubHeadCode = acc.SubHeadCode, AccCode = acc.AccCode, ChequeNo = "0", InvNo = purchase.PurchaseId.ToString(), InvType = "Purchase" }, //Item Value new AccVoucher { VDate = purchase.DatePurchased, SessionId = 0, AccString = itemAcc.AccString, VNo = maxVno, VType = "JV", VSrNo = 2, VDescription = purchase.Remarks, Debit = purchase.Qty, Credit = 0, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = itemAcc.HeadCode, SubHeadCode = itemAcc.SubHeadCode, AccCode = itemAcc.AccCode, ChequeNo = "0", InvNo = purchase.PurchaseId.ToString(), InvType = "Purchase" }, //Cash Daily new AccVoucher { VDate = purchase.DatePurchased, SessionId = 0, AccString = "14-02-0001", VNo = maxVno, VType = "JV", VSrNo = 3, VDescription = purchase.Remarks, Debit = 0, Credit = purchase.Total, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = 14, SubHeadCode = 2, AccCode = 1, ChequeNo = "0", InvNo = purchase.PurchaseId.ToString(), InvType = "Purchase" }, //Supplier Debit new AccVoucher { VDate = purchase.DatePurchased, SessionId = 0, AccString = portal.AccString, VNo = maxVno, VType = "JV", VSrNo = 4, VDescription = purchase.Remarks, Debit = purchase.Total, Credit = 0, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = acc.HeadCode, SubHeadCode = acc.SubHeadCode, AccCode = acc.AccCode, ChequeNo = "0", InvNo = purchase.PurchaseId.ToString(), InvType = "Purchase" }, //Purchase Discount new AccVoucher { VDate = purchase.DatePurchased, SessionId = 0, AccString = purchDisc.AccString, VNo = maxVno, VType = "JV", VSrNo = 5, VDescription = purchase.Remarks, Debit = 0, Credit = purchase.Qty - purchase.Total, UserCode = 0, OID = 0, BID = 0, CID = 0, HeadCode = purchDisc.HeadCode, SubHeadCode = purchDisc.SubHeadCode, AccCode = purchDisc.AccCode, ChequeNo = "0", InvNo = purchase.PurchaseId.ToString(), InvType = "Purchase" } }; _db.AccVouchers.AddRange(vouchers); _db.SaveChanges(); } #endregion transaction.Commit(); } } catch (DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } }
public NewAccount(AccAccount a) { InitializeComponent(); AAB.Add(a); }
internal void insertOnSubmit(AccAccount ac) { db.AccAccounts.InsertOnSubmit(ac); }