Пример #1
0
        public List <BuyerInstallmentModel> DeleteBuyerInstallment(long Id, long buyerID)
        {
            List <BuyerInstallmentModel> lstinstallments = new List <BuyerInstallmentModel>();

            using (ShopDevEntities db = new ShopDevEntities())
            {
                try
                {
                    BuyerInstallment installment = GetBuyerInstallment(db, Id);
                    var buyer             = db.Buyers.Where(m => m.BuyerID == installment.BuyerID).FirstOrDefault();
                    var outstandingAmount = buyer.OutstandingAmount;

                    buyer.OutstandingAmount = outstandingAmount == null? installment.Amount: outstandingAmount + installment.Amount;
                    var interstableAmount = buyer.InterstableAmount;
                    buyer.InterstableAmount = interstableAmount == null? installment.Amount: interstableAmount + installment.Amount;
                    db.BuyerInstallments.Remove(installment);
                    db.SaveChanges();
                    var lstproducts = db.BuyerInstallments.Where(m => m.BuyerID == buyerID).ToList();
                    foreach (var cusprod in lstproducts)
                    {
                        BuyerInstallmentModel objInstallments = new BuyerInstallmentModel();
                        cusprod.CopyProperties(objInstallments);
                        lstinstallments.Add(objInstallments);
                    }
                }
                catch (Exception)
                {
                }
                return(lstinstallments);
            }
        }
Пример #2
0
        public BuyerInstallment GetBuyerInstallment(ShopDevEntities db, long Id)
        {
            BuyerInstallment objinstllment = null;

            try
            {
                objinstllment = db.BuyerInstallments.Where(m => m.BuyerInstallmentID == Id).FirstOrDefault();
            }
            catch (Exception)
            {
            }
            return(objinstllment);
        }
Пример #3
0
        public List <BuyerInstallmentModel> AddBuyerInstallment(BuyerInstallmentModel installment)
        {
            List <BuyerInstallmentModel> lstAllinstallments = new List <BuyerInstallmentModel>();

            using (ShopDevEntities db = new ShopDevEntities())
            {
                try
                {
                    installment.BuyerID = installment.BuyerID == null ? 0 : installment.BuyerID;
                    BuyerInstallment buyerinstDetail = null;
                    if (installment.BuyerInstallmentID > 0)
                    {
                        buyerinstDetail = db.BuyerInstallments.Where(m => m.BuyerInstallmentID == installment.BuyerInstallmentID).FirstOrDefault();
                    }
                    else
                    {
                        buyerinstDetail = new BuyerInstallment();
                    }
                    installment.CopyProperties(buyerinstDetail);
                    var buyer = db.Buyers.Where(m => m.BuyerID == installment.BuyerID).FirstOrDefault();
                    if (buyerinstDetail.BuyerInstallmentID == 0)
                    {
                        if (buyer.InterstableAmount > 0)
                        {
                            if (buyer.Interest != null && buyer.Interest != 0)
                            {
                                if (installment.Amount > buyer.Interest)
                                {
                                    var interest = buyer.Interest;
                                    buyer.OutstandingAmount -= installment.Amount - interest;
                                    buyer.Interest           = 0;
                                    var interstableAmount = buyer.InterstableAmount;
                                    buyer.InterstableAmount = interstableAmount == null ? installment.Amount - interest : interstableAmount - (installment.Amount - interest);

                                    buyerinstDetail.Description = "Amount cut for Interset" + Convert.ToString(interest) + " and adjust for amunt is " + Convert.ToString(installment.Amount - interest);
                                }
                                else
                                {
                                    buyer.Interest -= installment.Amount;
                                    buyerinstDetail.Description = "Amount cut for Interset" + Convert.ToString(installment.Amount) + " and adjust for amunt is 0";
                                }
                            }
                            else
                            {
                                buyer.OutstandingAmount    -= installment.Amount;
                                buyer.InterstableAmount    -= installment.Amount;
                                buyerinstDetail.Description = "Amount cut for Interset 0 and adjust for amunt is " + Convert.ToString(installment.Amount);
                            }

                            db.SaveChanges();
                        }
                        db.BuyerInstallments.Add(buyerinstDetail);
                    }
                    buyer.LastInstallmentDate = DateTime.Now;
                    db.SaveChanges();
                    var lstinstallments = db.BuyerInstallments.Where(m => m.BuyerID == buyerinstDetail.BuyerID).ToList();
                    foreach (var cusprod in lstinstallments)
                    {
                        BuyerInstallmentModel objcsproduct = new BuyerInstallmentModel();
                        cusprod.CopyProperties(objcsproduct);
                        lstAllinstallments.Add(objcsproduct);
                    }
                }
                catch { }
                return(lstAllinstallments);
            }
        }