コード例 #1
0
        public ActionResult Edit([Bind(Include = "Request, NetIncome, TotalDeduction")] LoanRequest loanRequest)
        {
            Db db = new Db(DbServices.ConnectionString);

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

            ViewBag.RequestList = new SelectList(RequestServices.List(db), "Product", "Attachment", loanRequest.Request);
            return(View(loanRequest));
        }
コード例 #2
0
        public ActionResult Edit(LoanRequestViewModel model)
        {
            Db db = new Db(DbServices.ConnectionString);

            if (ModelState.IsValid)
            {
                try
                {
                    EmployeeProductCalculatorFilter f = new EmployeeProductCalculatorFilter();
                    f.EmployeeId = model.RequestProduct.Employee; f.ProductTypeId = (short)model.RequestProduct.ProductType;
                    f.Amount     = (decimal)model.Request.Amount; f.Period = (short)model.RequestProductProductRefundableProduct.PaymentPeriod;
                    List <EmployeeProductCalculatorResult> result = db.EmployeeProductCalculator(f);
                    if (result.Count > 0)
                    {
                        model.RequestProductProductRefundableProduct.NetAmount    = result[0].NetAmount.Value;
                        model.RequestProductProductRefundableProduct.ProfitAmount = result[0].ProfitAmount.Value;
                        model.RequestProductProductRefundableProduct.Installment  = result[0].Installment.Value;
                    }
                    // 1- Add Prouct
                    // set the Amount of the Produt the same as Request
                    //model.RequestProduct.Amount = model.Request.Amount;
                    ProductServices.Update(CurrentUser.Id, model.RequestProduct, db);
                    ProductServices.Update(CurrentUser.Id, model.RequestProduct, db);

                    //2-Add Request
                    //model.Request.Product = model.RequestProduct.Id;
                    // model.Request.RequestStatus = (int)RequestStatusEnum.New;
                    //model.Request.Cost = 5;
                    RequestServices.Update(CurrentUser.Id, model.Request, db);

                    //3-Add LoanRequest
                    //model.LoanRequest.Request = model.RequestProduct.Id;
                    LoanRequestServices.Update(CurrentUser.Id, model.LoanRequest, db);

                    //4- Add RefundableProduct

                    //model.RequestProductProductRefundableProduct.Product = model.RequestProduct.Id;
                    RefundableProductServices.Update(CurrentUser.Id, model.RequestProductProductRefundableProduct, db);

                    TempData["Success"] = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "UI", "UpdateConfirmed");

                    return(RedirectToAction("Index", "LoanRequest"));
                }
                catch (CfException cfex)
                {
                    TempData["Failure"] = cfex.ErrorDefinition.LocalizedMessage;
                }
                catch (Exception ex)
                {
                    TempData["Failure"] = ex.Message;
                }
            }

            // For Product
            ViewBag.EmployeeList    = new SelectList(EmployeeServices.List(db), "Id", "FirstName", model.RequestProduct.Employee);
            ViewBag.ProductTypeList = new SelectList(ProductTypeServices.List(db), "Id", "Name", model.RequestProduct.ProductType);

            // For Request
            ViewBag.BypassStatusList  = new SelectList(BypassStatusServices.List(db), "Id", "Name", model.Request.BypassStatus);
            ViewBag.ProductList       = new SelectList(ProductServices.List(db), "Id", "Notes", model.Request.Product);
            ViewBag.RequestStatusList = new SelectList(RequestStatusServices.List(db), "Id", "Name", model.Request.RequestStatus);


            return(View(model));
        }