Example #1
0
 public Loan()
 {
     Status       = LoanStatus.Grace;
     elapsedTime  = 0;
     warningCount = 0;
     warningMax   = 3;
 }
Example #2
0
        private void dgvCurrentLoans_CellClick_1(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (dgvCurrentLoans.Rows[e.RowIndex].Cells["chkDamage"].Selected == true)
                {
                    int             index       = e.RowIndex;
                    DataGridViewRow selectedRow = dgvCurrentLoans.Rows[index];
                    loanStatus = (LoanStatus)2;
                    resourcrId = Convert.ToInt32(selectedRow.Cells[4].Value);
                }

                if (dgvCurrentLoans.Rows[e.RowIndex].Cells["chkLost"].Selected == true)
                {
                    int             index       = e.RowIndex;
                    DataGridViewRow selectedRow = dgvCurrentLoans.Rows[index];
                    loanStatus = (LoanStatus)3;
                    resourcrId = Convert.ToInt32(selectedRow.Cells[4].Value);
                }

                if (dgvCurrentLoans.Rows[e.RowIndex].Cells["chkReturn"].Selected == true)
                {
                    int             index       = e.RowIndex;
                    DataGridViewRow selectedRow = dgvCurrentLoans.Rows[index];
                    loanStatus = (LoanStatus)1;
                    resourcrId = Convert.ToInt32(selectedRow.Cells[4].Value);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        public async Task UpdateLoanStatus(Guid loanId, LoanStatus loanStatus)
        {
            LoanEntity loanToUpdateStatus = await _loansContext.Loans
                                            .FirstOrDefaultAsync(l => l.ID == loanId);

            loanToUpdateStatus.LoanStatus = loanStatus;
            await _loansContext.SaveChangesAsync();
        }
Example #4
0
 /// <summary>
 /// Returns a string that represents the current object.
 /// </summary>
 /// <returns>
 /// A string that represents the current object.
 /// </returns>
 public override string ToString()
 {
     return(string.Join(";",
                        Counter,
                        LoanStatus.ToString(),
                        LoanAmount,
                        RepaidPrincipal
                        ));
 }     // ToString
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            LoanStatus loanStatus = await db.LoanStatus.FindAsync(id);

            db.LoanStatus.Remove(loanStatus);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Example #6
0
 public async Task <IEnumerable <Loan> > GetLoansByStatus(LoanStatus status)
 {
     return(await _context.FromQueryAsync <Loan>(new QueryOperationConfig()
     {
         IndexName = "by_status",
         Filter = new QueryFilter("status", QueryOperator.Equal, status.ToString())
     }, Cfg())
            .GetRemainingAsync());
 }
Example #7
0
        public CarLoan ApproveLoanBL(string loanID, LoanStatus updatedStatus)
        {
            if (BusinessLogicUtil.validate(loanID) == false)
            {
                throw new InvalidStringException("Invalid loan ID");
            }

            CarLoanDAL carDAL = new CarLoanDAL();

            return(carDAL.ApproveLoanDAL(loanID, updatedStatus));
        }
Example #8
0
        public EduLoan ApproveLoanBL(string loanID, LoanStatus updatedStatus)
        {
            if (BusinessLogicUtil.validate(loanID) == false)
            {
                throw new InvalidStringException("Invalid loan ID");
            }

            EduLoanDAL EduLoanDALobj = new EduLoanDAL();

            return(EduLoanDALobj.ApproveLoanDAL(loanID, updatedStatus));
        }
Example #9
0
        public async Task ChangeStatusAsync(int loanId, LoanStatus newStatus)
        {
            var loan = await RepoDbSet.FindAsync(loanId);

            if (loan == null)
            {
                throw new NullReferenceException("Didn't find Loan");
            }

            loan.Status = newStatus;
        }
        public async Task <ActionResult> Edit([Bind(Include = "LoanStatusId,Title,DateCreated,MessageContent")] LoanStatus loanStatus)
        {
            if (ModelState.IsValid)
            {
                db.Entry(loanStatus).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(loanStatus));
        }
        public async Task <ActionResult> Create([Bind(Include = "LoanStatusId,Title,DateCreated,MessageContent")] LoanStatus loanStatus)
        {
            if (ModelState.IsValid)
            {
                db.LoanStatus.Add(loanStatus);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(loanStatus));
        }
Example #12
0
 public Loan(Reservation reservation)
 {
     if (reservation == null)
     {
         throw new ArgumentNullException($"O parâmetro {nameof(reservation)} não pode ser nulo.");
     }
     Reservation    = reservation;
     Status         = LoanStatus.Borrowed;
     ExpirationDate = CalculateExpirationDate();
     LoanStart      = DateTime.Now;
     LoanEnd        = ExpirationDate;
 }
        public async Task <Result> AddLoanStatus(LoanStatusDto loanStatusToAdd)
        {
            var entity = new LoanStatus
            {
                LoanStatusName = loanStatusToAdd.LoanStatusName
            };

            await _context.LoanStatuses.AddAsync(entity);

            await _context.SaveChangesAsync();

            return(Result.Success("Loan status was created successfully"));
        }
Example #14
0
        public async Task <int> ChangeLoanStatusAsync(int loanId, LoanStatus newStatus, int userId)
        {
            var loan = await Uow.Loans.FindAsync(loanId);

            if (loan == null)
            {
                return(-1);
            }
            if (loan.LoanGiverId != userId && loan.LoanTakerId != userId)
            {
                return(-1);
            }

            if (loan.Status == LoanStatus.Paid)
            {
                return(-1);                                // Paid loans can't be changed
            }
            if (loan.Status == newStatus)
            {
                return((int)newStatus);
            }

            if (loan.LoanGiverId == userId)
            {
                if (loan.Status == LoanStatus.AwaitingConfirmation && newStatus == LoanStatus.Paid ||
                    loan.Status == LoanStatus.AwaitingConfirmation && newStatus == LoanStatus.Rejected ||
                    loan.Status == LoanStatus.NotPaid && newStatus == LoanStatus.Paid ||
                    loan.Status == LoanStatus.Rejected && newStatus == LoanStatus.Paid)
                {
                    await Uow.Loans.ChangeStatusAsync(loanId, newStatus);

                    await Uow.SaveChangesAsync();

                    return((int)newStatus);
                }

                return(-1);
            }

            if ((loan.Status == LoanStatus.NotPaid || loan.Status == LoanStatus.Rejected) &&
                newStatus == LoanStatus.AwaitingConfirmation)
            {
                await Uow.Loans.ChangeStatusAsync(loanId, newStatus);

                await Uow.SaveChangesAsync();

                return((int)newStatus);
            }

            return(-1);
        }
        // GET: LoanStatus/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LoanStatus loanStatus = await db.LoanStatus.FindAsync(id);

            if (loanStatus == null)
            {
                return(HttpNotFound());
            }
            return(View(loanStatus));
        }
Example #16
0
 void GiveWarning()
 {
     if (warningCount < warningMax)
     {
         warningCount++;
         Status = LoanStatus.Late;
     }
     else
     {
         LoanManager.Defaulted = true;
         Status = LoanStatus.Defaulted;
         Co2.WaitForFixedUpdate(() => { Group.Remove(this); });
     }
 }
Example #17
0
        public async Task <IActionResult> UpdateLoanRequestStatus(int loanId, [Required] int statusId)
        {
            LoanStatus status = (LoanStatus)statusId;

            if (!Enum.IsDefined(status))
            {
                return(BadRequest());
            }

            await _loanRepo.UpdateLoanStatusAsync(loanId, status);

            await _loanRepo.SaveChangesAsync();

            return(Ok());
        }
Example #18
0
        /// <summary>
        /// Parse text to loan status
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        public static bool TryParseLoanType(string text, out LoanStatus loanStatus)
        {
            switch (text.Trim().Replace(' ', default(char)))
            {
            case var name when name.Equals("Current", StringComparison.InvariantCultureIgnoreCase):
                loanStatus = LoanStatus.Current;

                return(true);

            case var name when name.Equals("GracePeriod", StringComparison.InvariantCultureIgnoreCase):
                loanStatus = LoanStatus.GracePeriod;

                return(true);

            case var name when name.Equals("1-15DaysLate", StringComparison.InvariantCultureIgnoreCase):
                loanStatus = LoanStatus.DaysLate1to15;

                return(true);

            case var name when name.Equals("16-30DaysLate", StringComparison.InvariantCultureIgnoreCase):
                loanStatus = LoanStatus.DaysLate16to30;

                return(true);

            case var name when name.Equals("31-60DaysLate", StringComparison.InvariantCultureIgnoreCase):
                loanStatus = LoanStatus.DaysLate31to60;

                return(true);

            case var name when name.Equals("60+DaysLate", StringComparison.InvariantCultureIgnoreCase):
                loanStatus = LoanStatus.DaysLate60plus;

                return(true);

            case var name when name.Equals("Default", StringComparison.InvariantCultureIgnoreCase):
                loanStatus = LoanStatus.Default;

                return(true);

            case var name when name.Equals("BadDebt", StringComparison.InvariantCultureIgnoreCase):
                loanStatus = LoanStatus.BadDebt;

                return(true);
            }

            loanStatus = default(LoanStatus);
            return(false);
        }
        // GET: LoanStatus/Delete/5
        public ActionResult Delete(Nullable <byte> id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Db         db         = new Db(DbServices.ConnectionString);
            LoanStatus loanStatus = LoanStatusServices.Get(id.Value, db);

            if (loanStatus == null)
            {
                return(HttpNotFound());
            }
            return(View(loanStatus));
        }
Example #20
0
        public Loan(int lenderId, int borrowerId, string message, DateTimeOffset pickUpDate, DateTimeOffset returnDate, int addressId, IEnumerable <int> loanedBooks, LoanStatus status)
        {
            if (lenderId <= 0)
            {
                throw new ArgumentException("The lenderId must be greater than 0.", nameof(lenderId));
            }
            if (borrowerId <= 0)
            {
                throw new ArgumentException("The borrowId must be greater than 0.", nameof(borrowerId));
            }
            if (pickUpDate >= returnDate)
            {
                throw new ArgumentException("The pickup date and time must be before the return date and time.");
            }
            if (addressId <= 0)
            {
                throw new ArgumentException("The addressId must be greater than 0.", nameof(addressId));
            }
            if (loanedBooks is null)
            {
                throw new ArgumentNullException(nameof(loanedBooks));
            }

            if (!loanedBooks.Any())
            {
                throw new ArgumentException("The number of loan books must be at least 1.");
            }

            if (loanedBooks.Distinct().Count() != loanedBooks.Count())
            {
                throw new ArgumentException("A loan cannot contain multiple of the same owned book.");
            }

            if (!Enum.IsDefined(status))
            {
                throw new ArgumentException("The loan status must be a valid value.");
            }

            Lender      = lenderId;
            Borrower    = borrowerId;
            Message     = message;
            DropoffDate = pickUpDate;
            ReturnDate  = returnDate;
            ExchangeLocationAddressId = addressId;
            LoanedBookIds             = new ReadOnlyCollection <int>(loanedBooks.ToList());
            Status = status;
        }
 public static string GetLoanStatusText(LoanStatus loanStatus)
 {
     string loanStatusText = "";
     switch (loanStatus)
     {
         case LoanStatus.Pending:
             loanStatusText = "Pending";
             break;
         case LoanStatus.Paid:
             loanStatusText = "Paid";
             break;
         case LoanStatus.Overdue:
             loanStatusText = "Overdue";
             break;
     }
     return loanStatusText;
 }
Example #22
0
        public CarLoan ApproveLoanDAL(string loanID, LoanStatus updatedStatus)
        {
            List <CarLoan> carLoans    = DeserializeFromJSON("CarLoans.txt");
            CarLoan        objToReturn = new CarLoan();

            foreach (var Loan in carLoans)
            {
                if (Loan.LoanID == loanID)
                {
                    Loan.Status = updatedStatus;
                    objToReturn = Loan;
                    break;
                }
            }
            SerializeIntoJSON(carLoans, "CarLoans.txt");
            return(objToReturn);
        }
Example #23
0
        public EduLoan ApproveLoanDAL(string loanID, LoanStatus updatedStatus)
        {
            List <EduLoan> eduLoans    = DeserializeFromJSON("EduLoans.txt");
            EduLoan        objToReturn = new EduLoan();

            foreach (EduLoan Loan in eduLoans)
            {
                if (Loan.LoanID == loanID)
                {
                    Loan.Status = updatedStatus;
                    objToReturn = Loan;
                    break;
                }
            }

            SerializeIntoJSON(eduLoans, "EduLoans.txt");
            return(objToReturn);
        }
Example #24
0
        public HomeLoan ApproveLoanDAL(string loanID, LoanStatus updatedStatus)
        {
            List <HomeLoan> homeLoans   = DeserializeFromJSON("HomeLoans.txt");
            HomeLoan        objToReturn = new HomeLoan();

            foreach (HomeLoan Loan in homeLoans)
            {
                if (Loan.LoanID == loanID)
                {
                    Loan.Status = updatedStatus;
                    objToReturn = Loan;
                    break;
                }
            }

            SerializeIntoJSON(homeLoans, "HomeLoans.txt");
            return(objToReturn);
        }
Example #25
0
 public LoanView(Guid id,
                 decimal amount,
                 decimal balance,
                 string description,
                 LoanStatus loanStatus,
                 DateTime createDate,
                 DateTime expiredDate)
 {
     Id          = id;
     Amount      = amount;
     Balance     = balance;
     Description = description;
     CreateDate  = createDate;
     ExpiredDate = expiredDate;
     LoanStatus  = expiredDate < DateTime.UtcNow &&
                   !((IList) new[] { LoanStatus.Paid, LoanStatus.Canceled, LoanStatus.Expired }).Contains(loanStatus)
              ? LoanStatus.Expired
              : loanStatus;
 }
        public ActionResult LoanApplication(LoanStatus loanStatus)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            if (loanStatus.Status == "New")
            {
                return(RedirectToAction("New"));
            }
            else if (loanStatus.Status == "Approve")
            {
                return(RedirectToAction("ApproveList"));
            }
            else
            {
                return(RedirectToAction("DeniedList"));
            }
        }
Example #27
0
        public JsonResult ListActive(LoanStatus status)
        {
            var model = DbContext.Loans
                        .Include(l => l.Book)
                        .Include(u => u.User)
                        .Where(l => l.Status == status)
                        .OrderBy(lr => lr.ApprovingDate)
                        .ToList()
                        .Select(l => new LoanViewModel
            {
                LoanId                   = l.Id,
                BookTitle                = l.Book.Title,
                UserName                 = l.User.UserName,
                ApprovingDate            = l.ApprovingDate.HasValue ? l.ApprovingDate.Value.ToShortDateString() : "unknown",
                IsApprovedLoanLate       = l.BookPickUpLimitDate.HasValue && (l.BookPickUpLimitDate < DateTime.Now),
                ExpectedReturnDate       = l.ExpectedReturnDate.HasValue ? l.ExpectedReturnDate.Value.ToShortDateString() : "undefined",
                IsExpectedReturnDateLate = l.ExpectedReturnDate.HasValue && (l.ExpectedReturnDate < DateTime.Now)
            });

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Example #28
0
 public void AddTime()
 {
     elapsedTime++;
     if (elapsedTime > settings.GracePeriod)
     {
         /*if (PlayerItemGroup.Count < Payment) {
          *      GiveWarning ();
          *      elapsedTime --;
          * } else {
          * }*/
         Status = LoanStatus.Repayment;
         PlayerItemGroup.Remove(Payment);
     }
     if (elapsedTime == settings.GracePeriod + settings.RepaymentLength)
     {
         Co2.WaitForFixedUpdate(() => { Group.Remove(this); });
     }
     if (onUpdate != null)
     {
         onUpdate();
     }
 }
        public ActionResult LoanStatus(LoanStatus loanStatus)
        {
            List <CustomerLoanMortage> loanList = null;

            if (!ModelState.IsValid)
            {
                return(View());
            }



            loanList = context.CustomerLoanMortages.Where(c => c.Contact.ToString() == loanStatus.Status).ToList();


            if (loanList.Count == 0)
            {
                ModelState.AddModelError("", "Enter a Valid Credentials !!");
                return(View());
            }

            return(RedirectToAction("FewInfoLoan", new { id = loanStatus.Status }));
        }
        public async Task GetLoanByStatusTest()
        {
            var testLoans = AutoFaker.Generate <Loan>(50);
            const LoanStatus loanStatus = LoanStatus.Approved;
            var expectedLoans           = testLoans.Where(x => x.Status == loanStatus).ToList();

            var resolver = TestSasServices.DefaultServiceCollection()
                           .WithDefaultFunctionHandlers()
                           .WithTestLoans(testLoans)
                           .BuildServiceProvider();

            var handler = resolver.GetRequiredService <GetLoansByStatusHandler>();
            var request = new ApiGatewayProxyRequestBuilder()
                          .WithPathParameter("status", loanStatus.ToString())
                          .Build();

            var response = await handler.HandleAsync(request, new TestLambdaContext());

            response
            .ShouldHaveStatusCode(200)
            .Body
            .ShouldBeParseableAs <List <Loan> >()
            .ShouldDeepEqual(expectedLoans);
        }
        public ActionResult Create([Bind(Include = "Id, Name")] LoanStatus loanStatus)
        {
            Db db = new Db(DbServices.ConnectionString);

            if (ModelState.IsValid)
            {
                try
                {
                    LoanStatusServices.Insert(CurrentUser.Id, loanStatus, db);
                    TempData["Success"] = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "UI", "InsertConfirmed");
                    return(RedirectToAction("Index"));
                }
                catch (CfException cfex)
                {
                    TempData["Failure"] = cfex.ErrorDefinition.LocalizedMessage;
                }
                catch (Exception ex)
                {
                    TempData["Failure"] = ex.Message;
                }
            }

            return(View(loanStatus));
        }
Example #32
0
 public LoanIterationResult(LoanStatus status, double payment)
 {
     this.Status = status;
     this.Payment = payment;
 }