/// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Details(Nullable <int> request)
        {
            if (request == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LoanRequestVwViewModel loanRequestVwViewModel = new LoanRequestVwViewModel();

            Db db = new Db(DbServices.ConnectionString);

            // loanRequestVwViewModel.Instance = LoanRequestVwServices.Get(request.Value, db);
            loanRequestVwViewModel.Instance = LoanRequestVwServices.GetChildren(request.Value, db);
            if (loanRequestVwViewModel.Instance == null)
            {
                return(HttpNotFound());
            }


            @ViewBag.ExceptionalAmountVwTitle = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "ExceptionalAmount", "ModuleNamePlural");
            // loanRequestVwViewModel.ExceptionalAmountVwViewModel.List = ExceptionalAmountVwServices.GetByLoanRequestId(request.Value, db);
            loanRequestVwViewModel.ExceptionalAmountVwViewModel.List = loanRequestVwViewModel.Instance.ExceptionalAmountVwList;


            return(View(loanRequestVwViewModel));
        }
 private void FormLoanRequestView_Load(object sender, EventArgs e)
 {
     if (dataSource == null)
     {
         DateTime dt = DateTime.Now;
         DataSource = LoanRequestVwServices.List(new Db(DbServices.ConnectionString));
         slblEllapsedTimeValue.Text = (DateTime.Now.Subtract(dt).TotalMilliseconds / 1000).ToString();
     }
 }
Example #3
0
        public ActionResult CreateLoanRequestDecision()
        {
            Db db = new Db(DbServices.ConnectionString);
            ManageLoanDecision vm = new ManageLoanDecision();

            vm.LoanRequestVwViewModel.List = LoanRequestVwServices.List(db).Where(c => c.RequestRequestStatusId.Value == (int)RequestStatusEnum.FinanciallyApproved).ToList();

            return(View(vm));
        }
        public string Validate(decimal?Amount, int?RequestId)
        {
            if (RequestId == 0)
            {
                return("Error");// RedirectToAction("ManageNewRequests");
            }
            try
            {
                Db db = new Db(DbServices.ConnectionString);

                LoanRequestVw       request    = LoanRequestVwServices.Get(RequestId.Value);
                RefundableProductVw refendable = RefundableProductVwServices.Get(RequestId.Value);
                int numOfGuarantorsNeeded      = 0;

                EmployeeProductCalculatorFilter f = new EmployeeProductCalculatorFilter();
                f.EmployeeId = request.RequestProductEmployeeId; f.ProductTypeId = (short)request.RequestProductProductTypeId;
                f.Amount     = (decimal)request.RequestAmount; f.Period = (short)refendable.PaymentPeriod;
                List <EmployeeProductCalculatorResult> result = db.EmployeeProductCalculator(f);
                if (result.Count > 0)
                {
                    numOfGuarantorsNeeded = result[0].GuarantorsCount.Value;
                }

                int numOfGuarantors = GuarantorVwServices.GetByRefundableProductProductId(RequestId.Value).Count;
                if (numOfGuarantors == numOfGuarantorsNeeded)
                {
                    Product p = ProductServices.Get(RequestId.Value, db);
                    p.Amount = Amount.Value;
                    ProductServices.Update(p);
                    Request r = RequestServices.Get(RequestId.Value);
                    r.RequestStatus = (int)RequestStatusEnum.Valid;
                    RequestServices.Update(r);
                }
                else
                {
                    //TempData["Failure"] = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "Guarantors", "NumberOfGuarantors");
                    return(ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "Guarantors", "NumberOfGuarantors"));
                }
            }
            catch (Exception e)
            {
                //EventLog eventLog = DbServices.Log(CurrentUser.Id, db, (int)EventCategoryEnum.Department, (int)EventSourceEnum.Department, (int)EventStatusEnum.Insert, new DepartmentVwXmlFormatter(instance), handler);
                //if (eventLog != null)
                //    throw DbServices.LogError(eventLog, ex, "Department", db);
                //else
                //    throw ex;
            }
            return("Success");// RedirectToAction("ManageNewRequests");
        }
        public ActionResult Index(LoanRequestVwViewModel Model)
        {
            Db db = new Db(DbServices.ConnectionString);

            ViewBag.ProductTypeList   = new SelectList(LoanTypeVwServices.List(db), "ProductTypeId", "ProductTypeName");
            ViewBag.RequestStatusList = new SelectList(RequestStatusServices.List(db), "Id", "Name");

            if (Model.Filter.HasCriteria)
            {
                Model.List = LoanRequestVwServices.Get(Model.Filter, db);
            }
            else
            {
                Model.List = new List <LoanRequestVw>();
            }
            return(View(Model));
        }
        public ActionResult ManageRejectedRequest()
        {
            LoanRequestVwViewModel vm = new LoanRequestVwViewModel();

            try
            {
                Db db = new Db(DbServices.ConnectionString);
                List <LoanRequestVw> requests = null;
                requests = LoanRequestVwServices.List(db).Where(c => c.RequestRequestStatusId == RequestStatusEnum.Invalid.GetHashCode()).ToList();
                vm.List  = requests;
            }
            catch (Exception exc)
            {
                throw;
            }

            return(View(vm));
        }
        public ActionResult ManageNewRequests()
        {
            LoanRequestVwViewModel vm = new LoanRequestVwViewModel();

            try
            {
                Db db = new Db(DbServices.ConnectionString);
                List <LoanRequestVw> requests = null;
                requests = LoanRequestVwServices.List(db).Where(c => (c.RequestRequestStatusId == RequestStatusEnum.New.GetHashCode()) && c.RequestDate >= new DateTime(2017, 11, 1)).ToList();
                vm.List  = requests;
            }
            catch (Exception exc)
            {
                throw;
            }

            return(View(vm));
        }
        public ActionResult Details(int?id)
        {
            ViewBag.TitleGuarantor        = TitleGuarantor;
            ViewBag.TitleExceptionalAount = TitleExceptionalAount;

            // Details Of Products

            if (id == null)
            {
                //return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                return(RedirectToAction("Index"));
            }

            Db db = new Db(DbServices.ConnectionString);

            ProductVwViewModel productVwViewModel = new ProductVwViewModel();

            productVwViewModel.Instance = ProductVwServices.GetChildren(id.Value, db);
            if (productVwViewModel.Instance == null)
            {
                return(HttpNotFound());
            }
            productVwViewModel.RequestVwViewModel.Instance = RequestVwServices.Get(id.Value);
            productVwViewModel.RequestVwViewModel.LoanRequestVwViewModel.Instance = LoanRequestVwServices.Get(id.Value);
            productVwViewModel.RefundableProductVwViewModel.Instance = RefundableProductVwServices.Get(id.Value);

            List <GuarantorVw> Guarantors = GuarantorVwServices.GetByRefundableProductProductId(id.Value);

            productVwViewModel.RefundableProductVwViewModel.GuarantorVwViewModel.List = Guarantors;

            //productVwViewModel.RefundableProductVwViewModel.GuarantorVwViewModel.Instance.GuarantorStatementVw=GuarantorStatementVwServices.

            productVwViewModel.RequestVwViewModel.LoanRequestVwViewModel.ExceptionalAmountVwViewModel.List = ExceptionalAmountVwServices.GetByLoanRequestRequestProductId(id.Value);

            List <ExceptionalAmountVw> NetDeduction         = ExceptionalAmountVwServices.GetByLoanRequestRequestProductId(id.Value).Where(c => c.ExceptionalAmountTypeId == (int)ExceptionalAmountTypeEnum.NetDeduction).ToList();
            List <ExceptionalAmountVw> ExceptionalIncome    = ExceptionalAmountVwServices.GetByLoanRequestRequestProductId(id.Value).Where(c => c.ExceptionalAmountTypeId == (int)ExceptionalAmountTypeEnum.ExceptionalIncome).ToList();
            List <ExceptionalAmountVw> ExceptionalDeduction = ExceptionalAmountVwServices.GetByLoanRequestRequestProductId(id.Value).Where(c => c.ExceptionalAmountTypeId == (int)ExceptionalAmountTypeEnum.ExceptionalDeduction).ToList();

            ViewBag.NetDeduction         = NetDeduction;
            ViewBag.ExceptionalIncome    = ExceptionalIncome;
            ViewBag.ExceptionalDeduction = ExceptionalDeduction;

            return(PartialView(productVwViewModel));
        }
        // GET: ManageLoanRequests
        public ActionResult Index()
        {
            Db db = new Db(DbServices.ConnectionString);
            List <LoanRequestVw> requests = null;

            requests = LoanRequestVwServices.List(db);


            ViewBag.DecisionType = (int)LoanDecisionTypeEnum.Normal;

            ViewBag.NewLoanRequestsCount         = requests.Where(c => (c.RequestRequestStatusId == (int)RequestStatusEnum.New) && c.RequestDate >= new DateTime(2017, 11, 1)).ToList().Count;
            ViewBag.ValidLoanRequestsCount       = requests.Where(c => (c.RequestRequestStatusId == (int)RequestStatusEnum.Valid)).ToList().Count;
            ViewBag.ApprovedLoanRequestsCount    = requests.Where(c => (c.RequestRequestStatusId == (int)RequestStatusEnum.Approved)).ToList().Count;
            ViewBag.ExceptionalLoanRequestsCount = requests.Where(c => (c.RequestRequestStatusId == (int)RequestStatusEnum.ExcludedFromValidation)).ToList().Count;
            ViewBag.RejectedLoanRequestsCount    = requests.Where(c => (c.RequestRequestStatusId == (int)RequestStatusEnum.Invalid)).ToList().Count;

            LoanRequestVwViewModel vm = new LoanRequestVwViewModel();

            vm.List = requests;
            return(View(vm));
        }
        public ActionResult Details(int?id)
        {
            ViewBag.TitleGuarantor        = TitleGuarantor;
            ViewBag.TitleExceptionalAount = TitleExceptionalAount;
            ViewBag.ExceptionalIncome     = exceptionalIncome;
            ViewBag.ExceptionalDeduction  = exceptionalDeduction;
            ViewBag.NetDeduction          = netDeduction;

            // Details Of Products
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }

            Db db = new Db(DbServices.ConnectionString);

            // Product
            ProductVwViewModel productVwViewModel = new ProductVwViewModel();

            productVwViewModel.Instance = ProductVwServices.GetChildren(id.Value, db);
            if (productVwViewModel.Instance == null)
            {
                return(HttpNotFound());
            }

            productVwViewModel.RequestVwViewModel.Instance = RequestVwServices.Get(id.Value);
            productVwViewModel.RequestVwViewModel.LoanRequestVwViewModel.Instance = LoanRequestVwServices.Get(id.Value);
            productVwViewModel.RefundableProductVwViewModel.Instance = RefundableProductVwServices.Get(id.Value);

            List <GuarantorVw> Guarantors = GuarantorVwServices.GetByRefundableProductProductId(id.Value);

            productVwViewModel.RefundableProductVwViewModel.GuarantorVwViewModel.List = Guarantors;


            productVwViewModel.RequestVwViewModel.LoanRequestVwViewModel.ExceptionalAmountVwViewModel.List = ExceptionalAmountVwServices.GetByLoanRequestRequestProductId(id.Value);

            List <ExceptionalAmountVw> NetDeduction         = ExceptionalAmountVwServices.GetByLoanRequestRequestProductId(id.Value).Where(c => c.ExceptionalAmountTypeId == (int)ExceptionalAmountTypeEnum.NetDeduction).ToList();
            List <ExceptionalAmountVw> ExceptionalIncome    = ExceptionalAmountVwServices.GetByLoanRequestRequestProductId(id.Value).Where(c => c.ExceptionalAmountTypeId == (int)ExceptionalAmountTypeEnum.ExceptionalIncome).ToList();
            List <ExceptionalAmountVw> ExceptionalDeduction = ExceptionalAmountVwServices.GetByLoanRequestRequestProductId(id.Value).Where(c => c.ExceptionalAmountTypeId == (int)ExceptionalAmountTypeEnum.ExceptionalDeduction).ToList();

            ViewBag.NetDeductionList         = NetDeduction;
            ViewBag.ExceptionalIncomeList    = ExceptionalIncome;
            ViewBag.ExceptionalDeductionList = ExceptionalDeduction;

            // Calculate Solvency and Boundries

            EmployeeProductCalculatorFilter f = new EmployeeProductCalculatorFilter()
            {
                EmployeeId    = productVwViewModel.Instance.EmployeeId,
                ProductTypeId = productVwViewModel.Instance.ProductTypeId,
                Amount        = productVwViewModel.RequestVwViewModel.Instance.Amount,
                Period        = productVwViewModel.RefundableProductVwViewModel.Instance.PaymentPeriod
            };

            EmployeeProductCalculatorResult result = db.EmployeeProductCalculatorFirstOrDefault(f);

            if (result != null)
            {
                GetEmployeeSolvencyFilter filter = new GetEmployeeSolvencyFilter()
                {
                    EmployeeId  = productVwViewModel.Instance.EmployeeId,
                    Amount      = productVwViewModel.RequestVwViewModel.Instance.Amount,
                    Date        = System.DateTime.Now,
                    Installment = result.Installment,
                    GrossSalary = productVwViewModel.RequestVwViewModel.LoanRequestVwViewModel.Instance.NetIncome,
                    NetSalary   = productVwViewModel.RequestVwViewModel.LoanRequestVwViewModel.Instance.NetIncome
                };
                GetEmployeeSolvencyResult solvencyResult = db.GetEmployeeSolvencyFirstOrDefault(filter);
                ViewBag.Calculator = result;
                ViewBag.Solvency   = solvencyResult;
            }


            return(View(productVwViewModel));
        }