示例#1
0
        public ActionResult CreateSave(PensionType model, string returnUrl = "Index")
        {
            ViewBag.Path1 = "参数设置";
            if (ModelState.IsValid)
            {
                try
                {
                    db.PensionType.Add(model);
                    db.PPSave();
                    Common.RMOk(this, "记录:'" + model.Name + "'新建成功!");
                    return(Redirect(Url.Content(returnUrl)));
                }
                catch (Exception e)
                {
                    if (e.InnerException.Message.Contains("Cannot insert duplicate key row"))
                    {
                        ModelState.AddModelError(string.Empty, "相同名称的记录已存在,保存失败!");
                    }
                }
            }

            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            ViewBag.ReturnUrl = returnUrl;
            return(View("Create", model));
        }
示例#2
0
        public ActionResult EditSave(PensionType model, string returnUrl = "Index")
        {
            ViewBag.Path1 = "参数设置";
            //检查记录在权限范围内
            var result = Common.GetPensionTypeQuery(db).Where(a => a.Id == model.Id).SingleOrDefault();

            if (result == null)
            {
                Common.RMError(this);
                return(Redirect(Url.Content(returnUrl)));
            }
            //end

            if (ModelState.IsValid)
            {
                try
                {
                    result.Name = model.Name;
                    db.PPSave();
                    Common.RMOk(this, "记录:" + model + "保存成功!");
                    return(Redirect(Url.Content(returnUrl)));
                }
                catch (Exception e)
                {
                    if (e.InnerException.Message.Contains("Cannot insert duplicate key row"))
                    {
                        ModelState.AddModelError(string.Empty, "相同名称的记录已存在,保存失败!");
                    }
                }
            }
            ViewBag.ReturnUrl = returnUrl;

            return(View("Edit", model));
        }
示例#3
0
        public ActionResult RestoreSave(PensionType record, string returnUrl = "Index")
        {
            ViewBag.Path1 = "参数设置";
            //检查记录在权限范围内
            var result = Common.GetPensionTypeQuery(db, true).Where(a => a.IsDeleted == true).Where(a => a.Id == record.Id).SingleOrDefault();

            if (result == null)
            {
                Common.RMError(this);
                return(Redirect(Url.Content(returnUrl)));
            }
            //end

            try
            {
                result.IsDeleted = false;
                db.PPSave();
                Common.RMOk(this, "记录:" + result + "恢复成功!");
                return(Redirect(Url.Content(returnUrl)));
            }
            catch (Exception e)
            {
                Common.RMOk(this, "记录" + result + "恢复失败!" + e.ToString());
            }
            return(Redirect(Url.Content(returnUrl)));
        }
        public double CalcPensionAmount(int salary, int allowances, int bankType, PensionType pensionType)
        {
            double pensionAmt;

            //provider = new ProcessProvider();

            pensionAmt = provider.CalcPensionAmount(salary, allowances, bankType, pensionType);
            return(pensionAmt);
        }
        public double CalcPensionAmount(int salary, int allowances, int bankType, PensionType pensionType)
        {
            double pensionAmount;

            if (pensionType == PensionType.Self)
            {
                pensionAmount = (0.8 * salary) + allowances;
            }
            else
            {
                pensionAmount = (0.5 * salary) + allowances;
            }

            if (bankType == 1)
            {
                pensionAmount = pensionAmount + 500;
            }
            else
            {
                pensionAmount = pensionAmount + 550;
            }

            return(pensionAmount);
        }
示例#6
0
 /// <summary>
 /// Validating the Pension Amount
 /// </summary>
 /// <param name="salaryEarned"></param>
 /// <param name="allowances"></param>
 /// <param name="charge"></param>
 /// <param name="type"></param>
 /// <returns>validated pension amount</returns>
 private double CalculatePensionLogic(int salaryEarned, int allowances, int charge, PensionType type)
 {
     if (type == PensionType.Self)
     {
         return((salaryEarned * 0.8) + allowances + charge);
     }
     else
     {
         return((salaryEarned * 0.5) + allowances + charge);
     }
 }
        private double CalculatePensionAmount(int salary, int allowances, int bankType, PensionType pensionType)
        {
            double pensionAmount;

            //repo = new ProcessRepo(pro);

            pensionAmount = _repo.CalcPensionAmount(salary, allowances, bankType, pensionType);

            return(pensionAmount);
        }
        public PensionDetail ProcessPension(ProcessPensionInput processPensionInput)
        {
            _log4net.Info("Pensioner details invoked from Client Input");
            ProcessPensionInput client = new ProcessPensionInput();

            client.Name         = processPensionInput.Name;
            client.AadharNumber = processPensionInput.AadharNumber;
            client.Pan          = processPensionInput.Pan;
            client.DateOfBirth  = processPensionInput.DateOfBirth;
            client.PensionType  = processPensionInput.PensionType;

            PensionDetailCall   pension       = new PensionDetailCall(configuration);
            ProcessPensionInput pensionDetail = pension.GetClientInfo(client.AadharNumber);

            if (pensionDetail == null)
            {
                PensionDetail mvc = new PensionDetail();
                mvc.name          = "";
                mvc.pan           = "";
                mvc.pensionAmount = 0;
                mvc.dateOfBirth   = new DateTime(2000, 01, 01);
                mvc.bankType      = 1;
                mvc.aadharNumber  = "***";
                mvc.status        = 20;
                return(mvc);
            }

            int bankType = pension.GetCalculationValues(client.AadharNumber).BankType;

            PensionType pensionType = pension.GetCalculationValues(client.AadharNumber).PensionType;
            double      pensionAmount;

            double salary     = pension.GetCalculationValues(client.AadharNumber).SalaryEarned;
            double allowances = pension.GetCalculationValues(client.AadharNumber).Allowances;

            if (pensionType == PensionType.Self)
            {
                pensionAmount = (0.8 * salary) + allowances;
            }
            else
            {
                pensionAmount = (0.5 * salary) + allowances;
            }

            if (pension.GetCalculationValues(client.AadharNumber).BankType == 1)
            {
                pensionAmount = pensionAmount + 500;
            }
            else
            {
                pensionAmount = pensionAmount + 550;
            }

            int statusCode;

            PensionDetail mvcClientOutput = new PensionDetail();

            if (client.Pan.Equals(pensionDetail.Pan) && client.Name.Equals(pensionDetail.Name) && client.PensionType.Equals(pensionDetail.PensionType) && client.DateOfBirth.Equals(pensionDetail.DateOfBirth))
            {
                mvcClientOutput.name          = pensionDetail.Name;
                mvcClientOutput.pan           = pensionDetail.Pan;
                mvcClientOutput.pensionAmount = pensionAmount;
                mvcClientOutput.dateOfBirth   = pensionDetail.DateOfBirth.Date;
                mvcClientOutput.pensionType   = pension.GetCalculationValues(client.AadharNumber).PensionType;
                mvcClientOutput.bankType      = bankType;
                mvcClientOutput.aadharNumber  = pensionDetail.AadharNumber;
                mvcClientOutput.status        = 20;
            }
            else
            {
                mvcClientOutput.name          = "";
                mvcClientOutput.pan           = "";
                mvcClientOutput.pensionAmount = 0;
                mvcClientOutput.dateOfBirth   = new DateTime(2000, 01, 01);
                mvcClientOutput.pensionType   = pension.GetCalculationValues(client.AadharNumber).PensionType;
                mvcClientOutput.bankType      = 1;
                mvcClientOutput.aadharNumber  = "****";
                mvcClientOutput.status        = 21;

                return(mvcClientOutput);
            }


            string uriConn2 = configuration.GetValue <string>("MyUriLink:PensionDisbursementLink");
            HttpResponseMessage response = new HttpResponseMessage();

            using (var client1 = new HttpClient())
            {
                client1.BaseAddress = new Uri(uriConn2);
                StringContent content = new StringContent(JsonConvert.SerializeObject(mvcClientOutput), Encoding.UTF8, "application/json");
                client1.DefaultRequestHeaders.Clear();
                client1.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                try
                {
                    response = client1.PostAsync("api/PensionDisbursement", content).Result;
                }
                catch (Exception e)
                {
                    _log4net.Error("Exception Occured" + e);
                    response = null;
                }
            }
            if (response != null)
            {
                string status = response.Content.ReadAsStringAsync().Result;
                //statusCode = Int32.Parse(status);
                Result result = JsonConvert.DeserializeObject <Result>(status);
                statusCode             = result.result;
                mvcClientOutput.status = statusCode;

                return(mvcClientOutput);
            }
            return(mvcClientOutput);
        }
        public void CalculatePensionAmount_Returns_IncorrectValue(int salary, int allowances, int bankType, PensionType pensionType)
        {
            pro.Setup(r => r.CalcPensionAmount(salary, allowances, bankType, pensionType)).Returns(21500.00);
            double amount = pro.Object.CalcPensionAmount(salary, allowances, bankType, pensionType);

            Assert.AreNotEqual(21000.00, amount);
        }