public BorrowerViewModel GetBorrowerInfo(long?borrowerID)
        {
            BorrowerViewModel borrowermodel = new BorrowerViewModel();

            using (ShopDevEntities db = new ShopDevEntities())
            {
                try
                {
                    var sellerInfo = db.Borrowers.Where(m => m.BorrowID == borrowerID).FirstOrDefault();

                    var AllInstallments = db.BorrowerInstallments.Where(m => m.BorrowerID == borrowerID).ToList();

                    BorrowerModel bbModel = new BorrowerModel();
                    sellerInfo.CopyProperties(bbModel);


                    List <BorrowerInstallmentModel> lstInstallments = new List <BorrowerInstallmentModel>();
                    foreach (var cusprod in AllInstallments)
                    {
                        BorrowerInstallmentModel objcsproduct = new BorrowerInstallmentModel();
                        cusprod.CopyProperties(objcsproduct);
                        lstInstallments.Add(objcsproduct);
                    }
                    borrowermodel.Borrower        = bbModel;
                    borrowermodel.Installments    = new BorrowerInstallmentModel();
                    borrowermodel.Lstinstallments = new List <BorrowerInstallmentModel>();
                    borrowermodel.Lstinstallments.AddRange(lstInstallments);
                }
                catch (Exception) { }
            }
            return(borrowermodel);
        }
        private async void frmBorrowers_Load(object sender, EventArgs e)
        {
            if (operation == "view")
            {
                BorrowerModel b = await borrower.GetSingle(id);

                txtFirstName.Text   = b.FirstName;
                txtLastname.Text    = b.LastName;
                txtMiddlename.Text  = b.MiddleName;
                txtAddress.Text     = b.Address;
                txtContacts.Text    = b.ContactNumber;
                cboCivilStatus.Text = b.CivilStatus;
                optFemale.Checked   = (b.Gender == "FEMALE");
                optMale.Checked     = (b.Gender == "MALE");
                txtBday.Text        = $"{b.Birthday.Month:00}/{b.Birthday.Day:00}/{b.Birthday.Year}";


                txtMonthlySalary.Text = b.MonthlySalary.ToString();
                txtOccupation.Text    = b.Occupation;
                txtAge.Text           = borrower.ComputeAge(b.Birthday).ToString();
                picImage.Image        = Image.FromFile(b.Image);
                _image = b.Image;
                pnlBorrower.Enabled = false;
                btnSave.Enabled     = false;
                if (frmDashboard.user.UserType == "admin")
                {
                    btnDelete.Visible = true;
                }
                btnUpdate.Visible = true;
            }
        }
        public List <BorrowerModel> AllBorrowers(BorrowerModel objborrower)
        {
            List <BorrowerModel> Allcust = new List <BorrowerModel>();

            using (ShopDevEntities db = new ShopDevEntities())
            {
                try
                {
                    var res = from buyer in db.Borrowers
                              where (buyer.Name.Contains(objborrower.Name) ||
                                     buyer.CustCode == objborrower.CustCode) ||
                              (string.IsNullOrEmpty(objborrower.Name) && objborrower.CustCode == null)

                              select buyer;
                    foreach (var seller in res)
                    {
                        BorrowerModel sellerModel = new BorrowerModel();
                        seller.CopyProperties(sellerModel);
                        Allcust.Add(sellerModel);
                    }
                }
                catch (Exception ex)
                {
                }
                return(Allcust);
            }
        }
        private void ValidateEmail(BorrowerModel borrowerModel)
        {
            if (borrowerModel.Borrower != null && borrowerModel.Borrower.BorrowerPersonalInfo != null &&
                !borrowerModel.Borrower.IsOnline)
            {
                var borrowerParty = UserAccountServiceFacade.GetPartyByUserAccountId(borrowerModel.Borrower.UserAccountId);
                if (borrowerParty.EmailAddress != borrowerModel.Borrower.BorrowerPersonalInfo.BorrowerEmailAddress &&
                    !UserAccountServiceFacade.IsUsernameAvailability(
                        borrowerModel.Borrower.BorrowerPersonalInfo.BorrowerEmailAddress))
                {
                    ModelState.AddModelError("Borrower.BorrowerPersonalInfo.BorrowerEmailAddress",
                                             @"Email address for Borrower is already in use .");
                }
            }

            if (borrowerModel.CoBorrower != null && borrowerModel.CoBorrower.BorrowerPersonalInfo != null &&
                !borrowerModel.CoBorrower.IsOnline)
            {
                var coborrowerParty = UserAccountServiceFacade.GetPartyByUserAccountId(borrowerModel.CoBorrower.UserAccountId);
                if (coborrowerParty.EmailAddress != borrowerModel.CoBorrower.BorrowerPersonalInfo.BorrowerEmailAddress &&
                    !UserAccountServiceFacade.IsUsernameAvailability(
                        borrowerModel.CoBorrower.BorrowerPersonalInfo.BorrowerEmailAddress))
                {
                    ModelState.AddModelError("CoBorrower.BorrowerPersonalInfo.BorrowerEmailAddress",
                                             @"Email address for Co-Borrower is already in use .");
                }
            }
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="borrower"></param>
 private static void SetupLookups(BorrowerModel borrower)
 {
     borrower.PhoneTypes      = LookupServiceFacade.Lookup(LookupKeywords.PhoneType, -1).ToList();
     borrower.MaritalStatuses = LookupServiceFacade.Lookup(LookupKeywords.MaritalStatus, -1).ToList();
     borrower.States          = LookupServiceFacade.Lookup(LookupKeywords.States, -1).ToList();
     borrower.MannerTitleHeld = LookupServiceFacade.Lookup(LookupKeywords.MannerTitleHeld, -1).ToList();
 }
        private async void LoadLoan()
        {
            LoanModel l = await loans.GetSingle(loanId);

            BorrowerModel b = await borrowers.GetSingle(l.BorrowerId);

            txtId.Text                   = b.BorrowerID;
            txtName.Text                 = b.FirstName + " " + b.MiddleName[0] + ". " + b.LastName;
            txtLoanId.Text               = l.LoanId;
            txtDuration.Text             = l.Duration.ToString();
            txtEffectiveDate.Text        = ConvertDate(l.EffectiveDate);
            txtInterest.Text             = l.Interest.ToString();
            txtMaturityDate.Text         = ConvertDate(l.MaturityDate);
            txtPerRemittance.Text        = l.PerRemittance.ToString();
            txtPrincipal.Text            = l.PrincipalLoan.ToString();
            txtMaturityValue.Text        = l.MaturityValue.ToString();
            txtTotalBalance.Text         = l.TotalBalance.ToString();
            cboPaymentTerm.SelectedValue = l.InterestId;
            txtCollector.Text            = users.GetSingle(" ", l.CollectorId).Name;
            gName.Text                   = l.Guarantor.Name;
            gAddress.Text                = l.Guarantor.Address;
            gContacts.Text               = l.Guarantor.ContactNumber;
            gRelation.Text               = l.Guarantor.Relationship;
            cValue.Text                  = l.Collateral.Value.ToString();
            cItem.Text                   = l.Collateral.Item;
            cDescription.Text            = l.Collateral.Description;
            btnPrint.Visible             = true;
            int    _id      = int.Parse(cboPaymentTerm.SelectedValue.ToString());
            double interest = interests.getInterest(_id);

            txtInterestRate.Text = $"{interest: ##.##}%";

            Generate();
        }
        private static void SetupCoBorrowerInforamtion(BorrowerModel borrowerModel)
        {
            if (borrowerModel.CoBorrower != null && borrowerModel.CoBorrower.BorrowerPersonalInfo != null)
            {
                borrowerModel.CoBorrower.BorrowerPersonalInfo.FullName = String.Format("{0} {1}",
                                                                                       borrowerModel.CoBorrower.
                                                                                       BorrowerPersonalInfo.FirstName,
                                                                                       borrowerModel.CoBorrower.
                                                                                       BorrowerPersonalInfo.LastName);
                switch (borrowerModel.CoBorrowerModelInfo.PresentAddress.OwnershipType)
                {
                case OwnershipType.Own:
                    borrowerModel.CoBorrowerModelInfo.PresentAddress.IsOwn = true;
                    break;

                case OwnershipType.Rent:
                    borrowerModel.CoBorrowerModelInfo.PresentAddress.IsRent = true;
                    break;

                case OwnershipType.RentFree:
                    borrowerModel.CoBorrowerModelInfo.PresentAddress.IsRent = false;
                    break;
                }

                if (borrowerModel.CoBorrowerModelInfo.MailingAddress.IsSameAsPropertyAddress ?? false)
                {
                    //if borrower mailing address same as present than make a deep copy of present address and change address type to mailing
                    var mailingAddressId = borrowerModel.CoBorrowerModelInfo.MailingAddress.AddressId;
                    borrowerModel.CoBorrowerModelInfo.MailingAddress                         = (Address)borrowerModel.CoBorrowerModelInfo.PresentAddress.Clone();
                    borrowerModel.CoBorrowerModelInfo.MailingAddress.AddressType             = AddressType.Mailing;
                    borrowerModel.CoBorrowerModelInfo.MailingAddress.IsSameAsPropertyAddress = true;
                    borrowerModel.CoBorrowerModelInfo.MailingAddress.AddressId               = mailingAddressId;
                }



                if (borrowerModel.CoBorrower.IsOnline)
                {
                    borrowerModel.CoBorrower.BorrowerPersonalInfo.BorrowerEmailAddress = null;
                }

                if (borrowerModel.CoBorrowerModelInfo.PresentAddress.NumberOfYears > 1)
                {
                    borrowerModel.CoBorrowerModelInfo.FormerAddress = new Address()
                    {
                        AddressId = borrowerModel.CoBorrowerModelInfo.FormerAddress.AddressId
                    }
                }
                ;
                else
                {
                    borrowerModel.CoBorrowerModelInfo.FormerAddress.IsSameAsPropertyAddress = false;
                }

                borrowerModel.CoBorrowerModelInfo.PresentAddress.IsSameAsPropertyAddress = false;
            }
        }
        private async Task choose()
        {
            int           id     = int.Parse(lstBorrowers.SelectedValue.ToString());
            BorrowerModel output = await b.GetSingle(id);

            string borrowerId = output.BorrowerID;
            string name       = output.FullName;

            borrower(borrowerId, name);
            this.Close();
        }
Beispiel #9
0
 public async Task <IActionResult> Create(BorrowerModel borrower)
 {
     if (ModelState.IsValid)
     {
         try
         {
             _context.Add(borrower);
             await _context.SaveChangesAsync();
         } catch (Exception)
         {
             return(BadRequest(new { error = "There was an error creating this borrower" }));
         }
     }
     return(Ok(borrower));
 }
Beispiel #10
0
        public async Task <IActionResult> Edit(string id, BorrowerModel borrower)
        {
            if (id != borrower.ID.ToString())
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(borrower);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(NotFound());
                }
            }
            return(Ok(borrower));
        }
        public ActionResult SaveBorrowerInformation(BorrowerModel borrowerModel)
        {
            var userAccountId = GetUserID();

            if (userAccountId == -1)
            {
                ModelState.AddModelError("UserAccountId", @"User is not valid");
            }

            ValidateEmail(borrowerModel);

            try
            {
                RemoveErrors(borrowerModel);
                if (ModelState.IsValid)
                {
                    SetupLookups(borrowerModel);
                    SetupBrrowerInformation(borrowerModel);
                    SetupCoBorrowerInforamtion(borrowerModel);

                    var status = BorrowerServiceFacade.UpdateBorrowerModel(borrowerModel, userAccountId);

                    return(Json(new { success = status }));
                }
            }
            catch (Exception ex)
            {
                TraceHelper.Error(TraceCategory.LoanCenterController, ex.Message, ex, borrowerModel.LoanId, userAccountId);
                ModelState.AddModelError("UserAccountId", ex.Message);
            }

            return(Json(new
            {
                success = false,
                errors = ModelState.Keys.SelectMany(k => ModelState[k].Errors)
                         .Select(m => m.ErrorMessage).ToArray()
            }));
        }
        private async Task <bool> SaveLedger(int loanId)
        {
            Collectables             c            = new Collectables();
            List <CollectablesModel> collectables = new List <CollectablesModel>();

            foreach (ListViewItem items in lstLedger.Items)
            {
                LoanModel _loan = new LoanModel()
                {
                    Id            = loanId,
                    PerRemittance = loan.PerRemittance,
                    EffectiveDate = loan.EffectiveDate
                };

                BorrowerModel _borrower = new BorrowerModel()
                {
                    Id = loan.BorrowerId
                };
                string[] tokens  = items.Text.Split('/');
                DateTime dueDate = new DateTime(int.Parse(tokens[2]), int.Parse(tokens[0]), int.Parse(tokens[1]));
                collectables.Add(new CollectablesModel()
                {
                    Loan     = _loan,
                    Borrower = _borrower,
                    DueDate  = dueDate
                });
            }
            if (operation != "edit")
            {
                if (await c.Add(collectables))
                {
                    return(true);
                }
            }
            MessageBox.Show(c.msg);
            return(false);
        }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (this.ValidateInputs(txtFirstName.Text, txtLastname.Text, txtMiddlename.Text, txtAddress.Text, txtContacts.Text, txtBday.Text,
                                    txtOccupation.Text, txtMonthlySalary.Text))
            {
                this.Message("Warning! Please Fill Up All Fields.", "Input Validation", true);
                return;
            }

            if (ValidateAlpha(txtFirstName.Text) || ValidateAlpha(txtLastname.Text) || ValidateAlpha(txtOccupation.Text) ||
                ValidateNumeric(txtContacts.Text) || ValidateNumeric(txtMonthlySalary.Text))
            {
                this.Message("Warning! Invalid Characters are Detected. Please use letters and spaces only.", "Input Validation", true);
                return;
            }

            if (bdayValidation)
            {
                this.Message("Warning! Please input correct birthday.", "Input Validation", true);
                return;
            }

            string[]      dob      = txtBday.Text.Split('/');
            DateTime      birthday = new DateTime(int.Parse(dob[2]), int.Parse(dob[0]), int.Parse(dob[1]));
            BorrowerModel b        = new BorrowerModel()
            {
                Id            = id,
                FirstName     = txtFirstName.Text.ToUpper(),
                LastName      = txtLastname.Text.ToUpper(),
                MiddleName    = txtMiddlename.Text.ToUpper(),
                Address       = txtAddress.Text.ToUpper(),
                ContactNumber = txtContacts.Text,
                Birthday      = birthday,
                Occupation    = txtOccupation.Text.ToUpper(),
                MonthlySalary = Convert.ToDecimal(txtMonthlySalary.Text),
                Gender        = optMale.Checked == true ? "MALE" : "FEMALE",
                CivilStatus   = cboCivilStatus.SelectedItem.ToString(),
            };

            if (operation == "update")
            {
                b.Image = _image;
                if (await borrower.Update(b))
                {
                    if (b.Image.Contains("default") && b.Image != _image)
                    {
                        img.CopyImage(_image, b.Image);
                    }
                    this.Message(borrower.msg, "Borrower", false);
                    this.Hide();
                    using (frmViewBorrowers frm = new frmViewBorrowers())
                    {
                        frm.ShowDialog();
                    }
                }
                else
                {
                    this.Message(borrower.msg, "Borrower", true);
                }
            }
            else
            {
                b.Image = _image == "default.png" ? "images/" + _image : "images/" + img.RenameImage(_image);
                if (await borrower.Add(b))
                {
                    if (_image != "default.png")
                    {
                        MessageBox.Show(_image);
                        img.CopyImage(_image, b.Image);
                    }
                    this.Message(borrower.msg, "Borrower", false);
                    this.Hide();
                    using (frmViewBorrowers frm = new frmViewBorrowers())
                    {
                        frm.ShowDialog();
                    }
                }
                else
                {
                    this.Message(borrower.msg, "Borrower", true);
                }
            }
        }
Beispiel #14
0
        public void AddBorrower(BorrowerModel borrower)
        {
            using (ShopDevEntities db = new ShopDevEntities())
            {
                try
                {
                    if (borrower.CustCode == null || borrower.CustCode == 0)
                    {
                        Customer customer = new Customer
                        {
                            CustmerName = borrower.Name,
                            Address     = borrower.Address
                        };
                        db.Customers.Add(customer);
                        db.SaveChanges();
                        borrower.CustCode = customer.CustCode;
                    }
                    var todayYear    = DateTime.Now.Year;
                    var CurrentMonth = DateTime.Now.Month;
                    // calculation for interst
                    if (borrower.InterestRate != null && borrower.InterestRate != 0)
                    {
                        var     buyMonth  = borrower.Date.Value.Month;
                        var     buyYear   = borrower.Date.Value.Year;
                        var     monthDiff = ((todayYear - buyYear) * 12) + CurrentMonth - buyMonth;
                        decimal?interst   = 0;
                        if (borrower.InterstableAmount > 0)
                        {
                            interst = borrower.InterstableAmount * borrower.InterestRate * monthDiff / 100;
                        }
                        else
                        {
                            borrower.InterstableAmount = borrower.Amont;
                            interst = borrower.Amont * borrower.InterestRate * monthDiff / 100;
                        }
                        borrower.Interest    = interst;
                        borrower.Outstanding = borrower.Amont + interst;
                    }
                    Borrower borrowerdb = null;
                    if (borrower.BorrowID == 0)
                    {
                        borrowerdb = new Borrower();
                        borrower.CopyProperties(borrowerdb);
                        db.Borrowers.Add(borrowerdb);
                    }
                    else
                    {
                        borrowerdb = db.Borrowers.Where(m => m.BorrowID == borrower.BorrowID).FirstOrDefault();
                        borrower.CopyProperties(borrowerdb);
                    }
                    db.SaveChanges();

                    List <BorrowerInstallment> lstinstallments = db.BorrowerInstallments.Where(m => m.BorrowerID == borrowerdb.BorrowID).ToList();
                    lstinstallments.ForEach(m => m.BorrowerID = borrowerdb.BorrowID);
                    db.SaveChanges();
                }
                catch
                {
                }
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="borrowerModel"></param>
        private void RemoveErrors(BorrowerModel borrowerModel)
        {
            if (borrowerModel.Borrower.PropertyTitle != PropertyTitle.Individual && ModelState.ContainsKey("Borrower.PropertyTitle"))
            {
                ModelState["Borrower.PropertyTitle"].Errors.Clear();
                ModelState["TitleAndManner.MannerTitleHeld"].Errors.Clear();
                ModelState["TitleAndManner.TitleInNameValue"].Errors.Clear();
            }

            if (ModelState.ContainsKey("BorrowerModelInfo.MailingAddress.NumberOfYears"))
            {
                ModelState["BorrowerModelInfo.MailingAddress.NumberOfYears"].Errors.Clear();
            }
            if (borrowerModel.BorrowerAndCoBorrowerAddressAreSame &&
                ModelState.ContainsKey("CoBorrowerModelInfo.PresentAddress.NumberOfYears"))
            {
                ModelState["CoBorrowerModelInfo.PresentAddress.NumberOfYears"].Errors.Clear();
            }
            if (ModelState.ContainsKey("CoBorrowerModelInfo.MailingAddress.NumberOfYears"))
            {
                ModelState["CoBorrowerModelInfo.MailingAddress.NumberOfYears"].Errors.Clear();
            }

            if (borrowerModel.BorrowerModelInfo.PresentAddress.NumberOfMonths != 0 && borrowerModel.BorrowerModelInfo.PresentAddress.NumberOfYears == null &&
                ModelState.ContainsKey("BorrowerModelInfo.PresentAddress.NumberOfYears"))
            {
                ModelState["BorrowerModelInfo.PresentAddress.NumberOfYears"].Errors.Clear();
            }

            if (borrowerModel.CoBorrowerModelInfo != null && borrowerModel.CoBorrowerModelInfo.PresentAddress.NumberOfMonths != null &&
                borrowerModel.CoBorrowerModelInfo.PresentAddress.NumberOfMonths != 0 && borrowerModel.CoBorrowerModelInfo.PresentAddress.NumberOfYears == null &&
                ModelState.ContainsKey("CoBorrowerModelInfo.PresentAddress.NumberOfYears"))
            {
                ModelState["CoBorrowerModelInfo.PresentAddress.NumberOfYears"].Errors.Clear();
            }


            if (borrowerModel.BorrowerModelInfo.FormerAddress != null && borrowerModel.BorrowerModelInfo.FormerAddress.NumberOfMonths != null &&
                borrowerModel.BorrowerModelInfo.FormerAddress.NumberOfMonths != 0 && borrowerModel.BorrowerModelInfo.FormerAddress.NumberOfYears == null &&
                ModelState.ContainsKey("BorrowerModelInfo.FormerAddress.NumberOfYears"))
            {
                ModelState["BorrowerModelInfo.FormerAddress.NumberOfYears"].Errors.Clear();
            }

            if (borrowerModel.CoBorrowerModelInfo != null && borrowerModel.CoBorrowerModelInfo.FormerAddress != null &&
                borrowerModel.CoBorrowerModelInfo.FormerAddress.NumberOfMonths != 0 && borrowerModel.CoBorrowerModelInfo.FormerAddress.NumberOfYears == null &&
                ModelState.ContainsKey("CoBorrowerModelInfo.FormerAddress.NumberOfYears"))
            {
                ModelState["CoBorrowerModelInfo.FormerAddress.NumberOfYears"].Errors.Clear();
            }

            if (borrowerModel.BorrowerAndCoBorrowerAddressAreSame || borrowerModel.BorrowerModelInfo.PresentAddress.NumberOfYears > 1 ||
                (borrowerModel.CoBorrowerModelInfo != null && borrowerModel.CoBorrowerModelInfo.PresentAddress.NumberOfYears > 1))
            {
                for (var i = 0; i < ModelState.Keys.Count; i++)
                {
                    if ((((borrowerModel.BorrowerAndCoBorrowerAddressAreSame || (borrowerModel.CoBorrowerModelInfo != null && borrowerModel.CoBorrowerModelInfo.PresentAddress.NumberOfYears > 1)) &&
                          ModelState.Keys.ElementAt(i).Contains("CoBorrowerModelInfo.FormerAddress")) ||
                         (borrowerModel.BorrowerModelInfo.PresentAddress.NumberOfYears > 1 && ModelState.Keys.ElementAt(i).Contains("BorrowerModelInfo.FormerAddress") &&
                          !ModelState.Keys.ElementAt(i).Contains("CoBorrowerModelInfo.FormerAddress"))) &&
                        ModelState.Values.ElementAt(i).Errors.Count > 0)
                    {
                        ModelState.Values.ElementAt(i).Errors.Clear();
                    }
                }
            }
        }