Example #1
0
        public void AddBulkBuy(BulkBuyModel BulkInfo)
        {
            using (ShopDevEntities db = new ShopDevEntities())
            {
                try
                {
                    if (BulkInfo.CustomerCode == null)
                    {
                        Customer customer = new Customer
                        {
                            CustmerName = BulkInfo.CustomerName,
                            Address = BulkInfo.Address
                        };
                        db.Customers.Add(customer);
                        db.SaveChanges();
                        BulkInfo.CustomerCode = customer.CustCode;
                    }
                    var todayYear = DateTime.Now.Year;
                    var CurrentMonth = DateTime.Now.Month;
                    // calculation for interst
                    if (BulkInfo.InterestRate != null && BulkInfo.InterestRate != 0)
                    {
                        var buyMonth = BulkInfo.StartDate.Value.Month;
                        var buyYear = BulkInfo.StartDate.Value.Year;
                        var monthDiff = ((todayYear - buyYear) * 12) + CurrentMonth - buyMonth;
                        decimal? interst = 0;
                        if (BulkInfo.InterstableAmount > 0)
                        {
                            interst = BulkInfo.InterstableAmount * BulkInfo.InterestRate * monthDiff / 100;
                        }
                        else
                        {
                            BulkInfo.InterstableAmount = BulkInfo.TakenAmount;
                            interst = BulkInfo.TakenAmount * BulkInfo.InterestRate * monthDiff / 100;
                        }
                        BulkInfo.Interest = interst;
                        BulkInfo.OustandingAmont = BulkInfo.TakenAmount + interst;
                    }
                    BulkBuy bulkbuy = null;
                    if (BulkInfo.BulkBuyID == 0)
                    {
                        bulkbuy = new BulkBuy();
                        BulkInfo.CopyProperties(bulkbuy);
                        db.BulkBuys.Add(bulkbuy);
                    }
                    else
                    {
                        bulkbuy = db.BulkBuys.Where(m => m.BulkBuyID == BulkInfo.BulkBuyID).FirstOrDefault();
                        BulkInfo.CopyProperties(bulkbuy);
                    }
                    db.SaveChanges();

                    List<BulkBuyProduct> lstNewproducts = db.BulkBuyProducts.Where(m => m.BulkBuyID == 0).ToList();
                    lstNewproducts.ForEach(m => m.BulkBuyID = bulkbuy.BulkBuyID);
                    List<VendorDetail> lstvendors = db.VendorDetails.Where(m => m.BulkByID == 0).ToList();
                    lstvendors.ForEach(m => m.BulkByID = bulkbuy.BulkBuyID);

                    List<BulkBuyInstallment> lstinstallments = db.BulkBuyInstallments.Where(m => m.BulkBuyID == 0).ToList();
                    lstinstallments.ForEach(m => m.BulkBuyID = bulkbuy.BulkBuyID);
                    db.SaveChanges();
                }
                catch
                {

                }
            }
        }