// GET: Deposites/Create
        public ActionResult Create(int Id)
        {
            Deposite deposite = new Deposite();

            deposite.CustomerId = Id;
            return(View(deposite));
        }
        public ActionResult Index(DateTime From, DateTime To)
        {
            List <Deposite> deposites  = db.Deposites.Where(a => a.Date >= From && a.Date <= To).Where(a => a.Type != "Discount").Include(d => d.Customer).ToList();
            List <Deposite> deposites2 = db.Deposites.Where(a => a.Date.Day == To.Day && a.Date.Month == To.Month && a.Date.Year == To.Year).Where(a => a.Type != "Discount").Include(d => d.Customer).ToList();

            foreach (Deposite M in deposites2)
            {
                deposites.Add(M);
            }

            double Amount = 0;

            if (deposites.Count > 0)
            {
                foreach (Deposite D in deposites)
                {
                    Amount = Amount + D.Amount;
                }
            }

            Deposite deposite = new Deposite();

            deposite.Type   = "Total";
            deposite.Amount = Amount;


            deposites.Add(deposite);

            return(View(deposites.ToList()));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Deposite deposite = db.Deposites.Find(id);

            db.Deposites.Remove(deposite);
            db.SaveChanges();
            return(RedirectToAction("Index", "Customers", new { Id = deposite.CustomerId }));
        }
Ejemplo n.º 4
0
 public async Task UpdateOne(Deposite item)
 {
     await using var context = new AppDbContext(_options);
     if (Exists(item.Id))
     {
         var enState = context.Deposites.Update(item);
         enState.State = EntityState.Modified;
         await context.SaveChangesAsync();
     }
 }
 public ActionResult Edit([Bind(Include = "Id,DepositeId,TransectionId,Type,Amount,Date,CustomerId")] Deposite deposite)
 {
     if (ModelState.IsValid)
     {
         db.Entry(deposite).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index", "Customers", new { Id = deposite.CustomerId }));
     }
     ViewBag.CustomerId = new SelectList(db.Customers, "Id", "FullName", deposite.CustomerId);
     return(View(deposite));
 }
Ejemplo n.º 6
0
        /*
         *
         *  public Result<UserInfo> Login(string email, string password)
         *  {
         *      var result = new Result<UserInfo>();
         *
         *      try
         *      {
         *          var objToLogin =
         *              Context.UserInfos.FirstOrDefault(
         *                  l =>
         *                      l.CompanyInfo.CEmail == email && l.Pass == password &&
         *                      l.AdminVerifyID == (int) EnumCollection.AdminVarifyEnum.Accept);
         *
         *          if (objToLogin == null)
         *          {
         *              result.HasError = true;
         *              result.Message = "Invalid Email or Password or Does no Accepted by ADMIN";
         *          }
         *
         *          result.Data = objToLogin;
         *      }
         *      catch (Exception ex)
         *      {
         *          result.HasError = true;
         *          result.Message = ex.Message;
         *      }
         *
         *      return result;
         *  }
         *
         *  public Result<List<UserInfo>> PendingAgent(string key = "")
         *  {
         *      var result = new Result<List<UserInfo>>();
         *
         *      try
         *      {
         *          var objToPending =
         *              Context.UserInfos.Include("CompanyInfo")
         *                  .Where(p => p.AdminVerifyID == (int) EnumCollection.AdminVarifyEnum.NotAccept).ToList();
         *
         *          if (ValidationHelper2.IsValidString(key))
         *          {
         *              objToPending =
         *                  objToPending.Where(
         *                      p =>
         *                          p.FirstName.Contains(key) || p.LastName.Contains(key) || p.UEmail.Contains(key) ||
         *                          p.CompanyInfo.CEmail.Contains(key) || p.CompanyInfo.CName.Contains(key)).ToList();
         *          }
         *
         *          result.Data = objToPending;
         *      }
         *      catch (Exception ex)
         *      {
         *          result.HasError = true;
         *          result.Message = ex.Message;
         *      }
         *
         *
         *      return result;
         *  }
         *
         *  public Result<UserInfo> GetById(int id)
         *  {
         *      var result = new Result<UserInfo>();
         *      try
         *      {
         *          var objToEdit = Context.UserInfos.FirstOrDefault(u => u.UID == id);
         *
         *          if (objToEdit == null)
         *          {
         *              result.HasError = true;
         *              result.Message = "Invalid ID";
         *          }
         *
         *          result.Data = objToEdit;
         *      }
         *      catch (Exception ex)
         *      {
         *          result.HasError = true;
         *          result.Message = ex.Message;
         *      }
         *      return result;
         *  }
         *
         *
         *  public Result<bool> EmailVerify(string email)
         *  {
         *
         *
         *      var result = new Result<bool>();
         *      try
         *      {
         *          var objToAccept = Context.UserInfos.FirstOrDefault(a => a.UEmail == email);
         *
         *          if (objToAccept == null)
         *          {
         *              result.HasError = true;
         *              result.Message = "Oops! Sorry, Invalid ID to Accept";
         *              return result;
         *          }
         *
         *          objToAccept.EmailVerifyId = (int)EnumCollection.EmailVarifyEnum.Accept;
         *          Context.SaveChanges();
         *      }
         *      catch (Exception ex)
         *      {
         *          result.HasError = true;
         *          result.Message = ex.Message;
         *      }
         *
         *      return result;
         *
         *  }
         *
         *  public Result<bool> AcceptByAdmin(int id)
         *  {
         *      var result = new Result<bool>();
         *
         *      try
         *      {
         *          var objToAccept = Context.UserInfos.FirstOrDefault(a => a.UID == id);
         *
         *          if (objToAccept == null)
         *          {
         *              result.HasError = true;
         *              result.Message = "Oops! Sorry, Invalid ID to Accept";
         *              return result;
         *          }
         *
         *          objToAccept.AdminVerifyID = (int) EnumCollection.AdminVarifyEnum.Accept;
         *          Context.SaveChanges();
         *      }
         *      catch (Exception ex)
         *      {
         *          result.HasError = true;
         *          result.Message = ex.Message;
         *      }
         *
         *      return result;
         *  }
         *
         */

        private bool IsValidToSave(Deposite deposite, Result <Deposite> result)
        {
            if (deposite.Amount < 1000)
            {
                result.HasError = true;
                result.Message  = "Should Register Minimum Balance";

                return(false);
            }

            return(true);
        }
        // GET: Deposites/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Deposite deposite = db.Deposites.Find(id);

            if (deposite == null)
            {
                return(HttpNotFound());
            }
            return(View(deposite));
        }
Ejemplo n.º 8
0
        public async Task AddOne(Deposite item)
        {
            await using var context = new AppDbContext(_options);
            if (!Exists(item.Id))
            {
                var enState = await context.Deposites.AddAsync(item);

                enState.State = EntityState.Added;
                await context.Transactions.AddAsync(new Transaction(DateTimeOffset.Now, TransactionType.DepositeOpen,
                                                                    item.StartSum, item.ClientId, item.BankId, item.Id));

                (await context.Banks.FindAsync(item.BankId)).Balance += item.StartSum;
                await context.SaveChangesAsync();
            }
        }
        // GET: Deposites/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Deposite deposite = db.Deposites.Find(id);

            if (deposite == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CustomerId = new SelectList(db.Customers, "Id", "FullName", deposite.CustomerId);
            return(View(deposite));
        }
Ejemplo n.º 10
0
        public Result <Deposite> Save(Deposite deposite)
        {
            var result = new Result <Deposite>();

            try
            {
                var objToSave = Context.Deposites.FirstOrDefault(u => u.UID == deposite.UID);

                if (objToSave == null)
                {
                    objToSave = new Deposite();
                    Context.Deposites.Add(objToSave);
                }

                if (!IsValidToSave(deposite, result))
                {
                    return(result);
                }

                objToSave.DType         = deposite.DType;
                objToSave.ChequeNo      = deposite.ChequeNo;
                objToSave.RefNum        = deposite.RefNum;
                objToSave.ChequeBank    = deposite.ChequeBank;
                objToSave.Amount        = deposite.Amount;
                objToSave.Date          = deposite.Date;
                objToSave.BankId        = deposite.BankId;
                objToSave.ReceiptImage  = deposite.ReceiptImage;
                objToSave.UserID        = deposite.UserID;
                objToSave.AdminVerifyId = deposite.AdminVerifyId;

                Context.SaveChanges();



                result.Data = objToSave;
            }
            catch (Exception ex)
            {
                result.HasError = true;
                result.Message  = ex.Message;
            }

            return(result);
        }
        public ActionResult Create([Bind(Include = "Id,Amount,Date,CustomerId")] Deposite deposite)
        {
            deposite.Type          = "Manual Transection";
            deposite.DepositeId    = "N/A";
            deposite.TransectionId = "N/A";
            deposite.Date          = DateTime.Now;

            if (ModelState.IsValid)
            {
                db.Deposites.Add(deposite);
                db.SaveChanges();
                ViewBag.Message = "Successfully Deposited!";
                UpdateMaturity(deposite.CustomerId);
                return(View(deposite));
            }


            return(View(deposite));
        }
        static void Main()
        {
            Deposite depositeIndividualStanimir = new Deposite(new Individual("Stanimir"), 2003, 5);
            Deposite depositeCompanyGeograficNational = new Deposite(new Company("GeograficNational"), 198032, 17);
            Loan loanIndividualGerasim = new Loan(new Individual("Gerasim"), 315, 2);
            Loan loanCompanyTouristOOD = new Loan(new Company("TouristOOD"), 43707, 9);
            Mortgage mortgageIndividualPetkan = new Mortgage(new Individual("Petkan"), 200, 6);
            Mortgage mortgageCompanySoftCom = new Mortgage(new Company("SoftCom"), 299387, 19);

            Console.WriteLine(new string('-', 80));

            Bank alianzBank = new Bank("Alianz");
            alianzBank.AddAccount(depositeIndividualStanimir);
            alianzBank.AddAccount(depositeCompanyGeograficNational);
            alianzBank.AddAccount(loanIndividualGerasim);
            alianzBank.AddAccount(loanCompanyTouristOOD);
            alianzBank.AddAccount(mortgageIndividualPetkan);
            alianzBank.AddAccount(mortgageCompanySoftCom);

            Console.WriteLine(alianzBank.ToString());
        }
        public ActionResult DepositRequest(DepositeModel model, HttpPostedFileBase image1)
        {
            /*if (!ModelState.IsValid)
             * {
             *  return View(model);
             * }*/

            if (image1 != null)
            {
                model.ReceiptImage = new byte[image1.ContentLength];
                image1.InputStream.Read(model.ReceiptImage, 0, image1.ContentLength);
            }

            var deposite = new Deposite()
            {
                DType         = model.DType,
                ChequeNo      = model.ChequeNo,
                RefNum        = model.RefNum,
                ChequeBank    = model.ChequeBank,
                Amount        = model.Amount,
                Date          = model.Date,
                BankId        = model.BankId,
                ReceiptImage  = model.ReceiptImage,
                UserID        = HttpUtil.Current.ID,
                AdminVerifyId = (int)EnumCollection.AdminVarifyEnum.NotAccept
            };

            var result = DepositeRepo.Save(deposite);

            if (result.HasError == true)
            {
                ViewBag.Error = result.Message;
                return(View(model));
            }
            //Context.Deposites.Add(deposite);
            //Context.SaveChanges();
            ViewBag.Success = "Your Deposite is send to Admin for Verify";
            return(View());
        }
        public ActionResult BankDeposite(BankAccount Bank)
        {
            if (Session["Customer"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var b = db.BankAccounts.FirstOrDefault(a => a.SecurityCode == Bank.SecurityCode && a.ExpiryDate == Bank.ExpiryDate && a.CardNumber == Bank.CardNumber && a.CardHolderName == Bank.CardHolderName);

            if (b != null)
            {
                if (b.Amount >= Bank.Amount)
                {
                    // Transection(Withdraw) From the bank
                    BankAccount BA = db.BankAccounts.Find(b.Id);

                    BA.Amount          = BA.Amount - Bank.Amount;
                    db.Entry(BA).State = EntityState.Modified;
                    db.SaveChanges();



                    string TID = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString();



                    // Deposite Add in the System Database
                    Deposite deposite = new Deposite();
                    deposite.CustomerId    = Convert.ToInt32(Session["Customer"]);
                    deposite.DepositeId    = DateTime.Now.ToString() + deposite.CustomerId;
                    deposite.TransectionId = TID;
                    deposite.Amount        = Bank.Amount;
                    deposite.Date          = DateTime.Now;
                    deposite.Type          = "Bank";
                    db.Deposites.Add(deposite);
                    db.SaveChanges();
                    UpdateMaturity(deposite.CustomerId);

                    //Withdraw Record Save To The Bank DB
                    Withdraw WT = new Withdraw();
                    WT.BankAccountId = BA.Id;
                    WT.DepositeId    = DateTime.Now.Year.ToString() + deposite.CustomerId;
                    WT.TransectionId = TID;
                    WT.Amount        = Bank.Amount;
                    WT.Date          = DateTime.Now;

                    db.Withdraws.Add(WT);
                    db.SaveChanges();



                    return(RedirectToAction("TransectionSuccessPage", new { Id = deposite.Id }));
                }
                else
                {
                    ViewBag.Error = "Error: Your Balance is Not Sufficient!";
                    return(View(Bank));
                }
            }
            else
            {
                ViewBag.Error = "Error: Not Found Your Card! Try Again";
                return(View(Bank));
            }
        }
        public ActionResult TransectionSuccessPage(int Id)
        {
            Deposite Deposite = db.Deposites.Find(Id);

            return(View(Deposite));
        }
Ejemplo n.º 16
0
        public ActionResult Payout(int Id, double PreviousLone, double Payout, double Discount, double Due, double InterestRate, double InterestRatePerMonth, DateTime MaturityOfThisLoan, string MortgageItemD, string ItemQuantity, double Price)
        {
            PayOut payOut = new PayOut();

            payOut.Id                   = Id;
            payOut.ItemQuantity         = ItemQuantity;
            payOut.PreviousLone         = PreviousLone;
            payOut.Payout               = Payout;
            payOut.Due                  = Due;
            payOut.MaturityOfThisLoan   = MaturityOfThisLoan;
            payOut.Price                = Price;
            payOut.Discount             = Discount;
            payOut.InterestRate         = InterestRate;
            payOut.InterestRatePerMonth = InterestRatePerMonth;
            payOut.MortgageItemD        = MortgageItemD;

            MortgageItem mortgageItem = db.MortgageItems.Find(payOut.Id);
            MortgageItem MINew        = db.MortgageItems.Find(payOut.Id);
            MortgageItem MIDelete     = db.MortgageItems.Find(payOut.Id);
            DateTime     MIDeleteMaturityOfThisLoan = DateTime.Now;

            MIDelete.MaturityOfThisLoan = MIDeleteMaturityOfThisLoan;
            MIDelete.Status             = false;

            db.Entry(MIDelete).State = EntityState.Modified;
            db.SaveChanges();



            Customer C = db.Customers.Find(MINew.CustomerId);

            ViewBag.Name                = C.FullName;
            ViewBag.MortgageItem        = MINew.Id;
            ViewBag.MortgageDescription = MINew.ItemQuantity;



            if (Due > 0)
            {
                mortgageItem.ItemQuantity       = payOut.ItemQuantity;
                mortgageItem.IssueDate          = DateTime.Now;
                mortgageItem.Price              = payOut.Price;
                mortgageItem.MaturityOfThisLoan = payOut.MaturityOfThisLoan;
                mortgageItem.Loan                 = payOut.Due;
                mortgageItem.Status               = true;
                mortgageItem.MortgageItemD        = MortgageItemD;
                mortgageItem.InterestRate         = InterestRate;
                mortgageItem.InterestRatePerMonth = InterestRatePerMonth;


                db.MortgageItems.Add(mortgageItem);
                db.SaveChanges();
            }


            //Deposite Add

            Deposite deposite = new Deposite();

            deposite.Amount        = Payout;
            deposite.CustomerId    = mortgageItem.CustomerId;
            deposite.Date          = MIDeleteMaturityOfThisLoan;
            deposite.DepositeId    = "N/A";
            deposite.TransectionId = "N/A";
            deposite.Type          = "Manual";
            db.Deposites.Add(deposite);
            db.SaveChanges();
            if (Discount > 0)
            {
                Deposite deposite2 = new Deposite();

                deposite2.Amount        = Discount;
                deposite2.CustomerId    = mortgageItem.CustomerId;
                deposite2.Date          = MIDeleteMaturityOfThisLoan;
                deposite2.DepositeId    = 1 + DateTime.Now.ToString() + mortgageItem.CustomerId.ToString();
                deposite2.TransectionId = 1 + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString();
                deposite2.Type          = "Discount";
                db.Deposites.Add(deposite2);
                db.SaveChanges();
            }



            ViewBag.Message = "Successfully Payed Out!";


            return(View(payOut));
        }
 public FormDepositeViewModel(Deposite depositeToEdit)
 {
     Id       = depositeToEdit.Id;
     StartSum = depositeToEdit.StartSum;
     Years    = depositeToEdit.Years;
 }