Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
        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;
            }
        }
Exemplo n.º 5
0
 public NewAccount(AccAccount a)
 {
     InitializeComponent();
     AAB.Add(a);
 }
Exemplo n.º 6
0
 internal void insertOnSubmit(AccAccount ac)
 {
     db.AccAccounts.InsertOnSubmit(ac);
 }