示例#1
0
        public async Task <IActionResult> PensionerValues(PensionerInput input)
        {
            if (ModelState.IsValid)
            {
                using (var client = new HttpClient())
                {
                    StringContent content = new StringContent(JsonConvert.SerializeObject(input), Encoding.UTF8, "application/json");

                    client.BaseAddress = new Uri("http://52.143.250.249/");
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
                    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                    using (var response = await client.GetAsync("https://localhost:44317/api/CustomerCareService/" + content))    //Get Post Mai check kar lena
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        pen = JsonConvert.DeserializeObject <PensionDetail>(apiResponse);
                    }
                }
                return(RedirectToAction("PensionervaluesDisplayed"));
            }

            else
            {
                ViewBag.invalid = "Pensioner Values are Invalid";
                return(View());
            }
        }
        public PensionDetail GetClientInfo(string aadhar)
        {
            //provider = new ProcessProvider();
            PensionDetail proInput = provider.GetClientInfo(aadhar);

            return(proInput);
        }
        public void GetClientInfo_Returns_Incorrect_PensionDetails(string aadhar)
        {
            pro.Setup(r => r.GetClientInfo(aadhar)).Returns(pensionDetail);
            PensionDetail detail = pro.Object.GetClientInfo(aadhar);

            Assert.AreNotEqual(detail, null);
        }
示例#4
0
        public void ProcessPension_WhenCalled_Returns_BadRequest()
        {
            ProcessPensionInput processpensioninput = new ProcessPensionInput()
            {
                AadhaarNumber = "222122223333",
                BankCharge    = 550,
                PensionAmount = 25500
            };
            ValueforCalCulation valueforCalculation = new ValueforCalCulation()
            {
                BankType     = 1,
                SalaryEarned = 25000,
                Allowances   = 1000,
                PensionType  = PensionType.Self
            };
            PensionDetail pensionDetail = null;

            repo = new Mock <IProcessRepo>();
            processPensionController = new ProcessPensionController(repo.Object);

            repo.Setup(r => r.GetClientInfo(pensionerInput.AadhaarNumber)).Returns(pensionDetail);
            repo.Setup(r => r.GetCalculationValues(pensionerInput.AadhaarNumber)).Returns(valueforCalculation);
            repo.Setup(r => r.GetDisbursementMessage(processpensioninput)).Returns(new HttpResponseMessage(HttpStatusCode.BadRequest));
            repo.Setup(r => r.CalcPensionAmount(25000, 1000, 1, PensionType.Self)).Returns(21500.00);


            var result = processPensionController.ProcessPension(pensionerInput);

            Assert.That(result, Is.Not.InstanceOf <OkObjectResult>());
        }
        /// <summary>
        /// Getting the Values from Process Management Portal
        /// </summary>
        /// <param name="aadhar"></param>
        /// <returns></returns>
        public PensionDetail GetClientInfo(string aadhar)
        {
            PensionDetail       res      = new PensionDetail();
            HttpResponseMessage response = PensionDetail(aadhar);

            if (response == null)
            {
                res = null;
                return(null);
            }
            string responseValue = response.Content.ReadAsStringAsync().Result;

            res = JsonConvert.DeserializeObject <PensionDetail>(responseValue);
            if (res == null)
            {
                return(null);
            }
            return(res);
        }
 public void Setup()
 {
     //pro = new Mock<IProcessProvider>();
     responseMessage = new HttpResponseMessage(statusCode);
     pensionDetail   = new PensionDetail()
     {
         Name          = "Ritik",
         Pan           = "BCFPN1234F",
         PensionAmount = 25000,
         DateOfBirth   = new DateTime(2000, 01, 01),
         PensionType   = PensionType.Self,
         BankType      = 1,
         AadharNumber  = "111122223333",
         Status        = 21
     };
     valueforCalCulation = new ValueforCalCulation()
     {
         Allowances = 1000, BankType = 1, PensionType = PensionType.Self, SalaryEarned = 25000
     };
 }
示例#7
0
        public void ProcessPension_WhenCalled_ReturnsPensionDetail()
        {
            ProcessPensionInput processpensioninput = new ProcessPensionInput()
            {
                AadhaarNumber = "111122223333",
                BankCharge    = 550,
                PensionAmount = 25500
            };
            ValueforCalCulation valueforCalculation = new ValueforCalCulation()
            {
                BankType     = 1,
                SalaryEarned = 25000,
                Allowances   = 1000,
                PensionType  = PensionType.Self
            };
            PensionDetail pensionDetail = new PensionDetail()
            {
                Name          = "Sahil",
                DateOfBirth   = new DateTime(1998 - 03 - 01),
                Pan           = "BCFPN1234F",
                AadharNumber  = "111122223333",
                PensionType   = PensionType.Self,
                PensionAmount = 35000,
                BankType      = 1,
                Status        = 21,
            };

            repo = new Mock <IProcessRepo>();
            processPensionController = new ProcessPensionController(repo.Object);

            repo.Setup(r => r.GetClientInfo(pensionerInput.AadhaarNumber)).Returns(pensionDetail);
            repo.Setup(r => r.GetCalculationValues(pensionerInput.AadhaarNumber)).Returns(valueforCalculation);
            repo.Setup(r => r.GetDisbursementMessage(processpensioninput)).Returns(new HttpResponseMessage(HttpStatusCode.OK));
            repo.Setup(r => r.CalcPensionAmount(25000, 1000, 1, PensionType.Self)).Returns(21500.00);


            var result = processPensionController.ProcessPension(pensionerInput);

            Assert.That(result, Is.InstanceOf <OkObjectResult>());
        }
 public ActionResult PensionervaluesDisplayed(PensionDetail detail)
 {
     return(View(detail));
 }
        public async Task <ActionResult> PensionPortal(PensionerInput input)
        {
            if (HttpContext.Session.GetString("token") == null)
            {
                _log4net.Info("Pensioner is not logged in");
                ViewBag.Message = "Please Login First";
                return(View("Login"));
            }

            _log4net.Info("Processing the pension began");


            string processValue = configuration.GetValue <string>("MyLinkValue:processUri");

            if (ModelState.IsValid)
            {
                using (var client = new HttpClient())
                {
                    StringContent content = new StringContent(JsonConvert.SerializeObject(input), Encoding.UTF8, "application/json");
                    client.BaseAddress = new Uri(processValue);

                    try
                    {
                        using (var response = await client.PostAsync("api/ProcessPension/ProcessPension/", content))
                        {
                            var apiResponse = await response.Content.ReadAsStringAsync();

                            ProcessResponse res = JsonConvert.DeserializeObject <ProcessResponse>(apiResponse);
                            penDetailObj.Status        = res.Result.Status;
                            penDetailObj.PensionAmount = res.Result.PensionAmount;

                            ResDetails.PensionAmount = penDetailObj.PensionAmount;
                            ResDetails.Status        = penDetailObj.Status;
                        }
                    }
                    catch (Exception e)
                    {
                        _log4net.Error("Some Microservice is Down!!");
                        penDetailObj = null;
                    }
                }

                if (penDetailObj == null)
                {
                    _log4net.Error("Some Microservice is Down!!");
                    ViewBag.erroroccured = "Some Error Occured";
                    return(View());
                }
                if (penDetailObj.Status.Equals(21))
                {
                    _log4net.Error("Some Microservice is Down!!");
                    ViewBag.erroroccured = "Some Error Occured";
                    return(View());
                }
                if (penDetailObj.Status.Equals(10))
                {
                    // Storing the Values in Database
                    _log4net.Info("Pensioner details have been matched with the Csv and data is successfully saved in local Database!!");
                    repo.AddResponse(ResDetails);
                    repo.Save();
                    return(RedirectToAction("PensionervaluesDisplayed", ResDetails));
                }
                else
                {
                    _log4net.Error("Persioner details does not match with the Csv!!");
                    ViewBag.notmatch = "Pensioner Values not match";
                    return(View());
                }
            }
            _log4net.Warn("Proper details are not given by the Admin!!");
            ViewBag.invalid = "Pensioner Values are Invalid";
            return(View());
        }
示例#10
0
        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);
            }



            double pensionAmount;

            ValueforCalCulation pensionerInfo = pension.GetCalculationValues(client.AadharNumber);

            pensionAmount = CalculatePensionAmount(pensionerInfo.SalaryEarned, pensionerInfo.Allowances, pensionerInfo.BankType, pensionerInfo.PensionType);

            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   = pensionerInfo.PensionType;
                mvcClientOutput.BankType      = pensionerInfo.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   = pensionerInfo.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 IActionResult ProcessPension(PensionerInput processPensionInput)
        {
            _log4net.Info("Pensioner details invoked from Client Input");
            PensionerInput client = new PensionerInput();

            client.Name          = processPensionInput.Name;
            client.AadhaarNumber = processPensionInput.AadhaarNumber;
            client.PAN           = processPensionInput.PAN;
            client.DateOfBirth   = processPensionInput.DateOfBirth;
            client.PensionType   = processPensionInput.PensionType;

            //repo = new ProcessRepo(pro);
            PensionDetail pensionDetail = _repo.GetClientInfo(client.AadhaarNumber);

            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(NotFound());
            }



            double pensionAmount;

            ValueforCalCulation pensionerInfo = _repo.GetCalculationValues(client.AadhaarNumber);

            pensionAmount = CalculatePensionAmount(pensionerInfo.SalaryEarned, pensionerInfo.Allowances, pensionerInfo.BankType, pensionerInfo.PensionType);

            int statusCode;

            PensionDetail mvcClientOutput = new PensionDetail();

            if (client.AadhaarNumber.Equals(pensionDetail.AadharNumber))
            {
                mvcClientOutput.Name          = pensionDetail.Name;
                mvcClientOutput.Pan           = pensionDetail.Pan;
                mvcClientOutput.PensionAmount = pensionAmount;
                mvcClientOutput.DateOfBirth   = pensionDetail.DateOfBirth.Date;
                mvcClientOutput.PensionType   = pensionerInfo.PensionType;
                mvcClientOutput.BankType      = pensionerInfo.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   = pensionerInfo.PensionType;
                mvcClientOutput.BankType      = 1;
                mvcClientOutput.AadharNumber  = "****";
                mvcClientOutput.Status        = 21;

                //return mvcClientOutput;
            }

            ProcessPensionInput input = new ProcessPensionInput();

            input.AadhaarNumber = mvcClientOutput.AadharNumber;
            input.PensionAmount = mvcClientOutput.PensionAmount;
            if (mvcClientOutput.BankType == 1)
            {
                input.BankCharge = 500;
            }
            else
            {
                input.BankCharge = 550;
            }



            HttpResponseMessage response = _repo.GetDisbursementMessage(input);

            if (response != null)
            {
                string status = response.Content.ReadAsStringAsync().Result;
                //statusCode = Int32.Parse(status);
                ProcessPensionResponse res = JsonConvert.DeserializeObject <ProcessPensionResponse>(status);

                statusCode      = res.processPensionStatusCode;
                processResponse = new ProcessResponse()
                {
                    Status        = statusCode,
                    PensionAmount = mvcClientOutput.PensionAmount
                };

                return(Ok(processResponse));
            }
            return(Ok(processResponse));
        }
示例#12
0
        public async Task <IActionResult> PensionerValues(PensionerInput input)
        {
            // string status;

            if (ModelState.IsValid)
            {
                using (var client = new HttpClient())
                {
                    StringContent content = new StringContent(JsonConvert.SerializeObject(input), Encoding.UTF8, "application/json");

                    client.BaseAddress = new Uri("https://localhost:44394/");
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
                    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                    try
                    {
                        using (var response = await client.PostAsync("api/ProcessPension/GetClient", content))    //Get Post Mai check kar lena
                        {
                            //var response = await client.GetAsync("api/ProcessPension/");
                            string apiResponse = await response.Content.ReadAsStringAsync();

                            penDetailObj = JsonConvert.DeserializeObject <PensionDetail>(apiResponse);
                        }
                    }
                    catch (Exception e)
                    {
                        penDetailObj = null;
                    }
                }

                //return RedirectToAction("PensionervaluesDisplayed",pen);


                if (penDetailObj == null)
                {
                    ViewBag.erroroccured = "Some Error Occured";
                    return(View());
                }
                if (penDetailObj.status.Equals(20))
                {
                    ViewBag.erroroccured = "Some Error Occured";
                    return(View());
                }
                if (penDetailObj.status.Equals(10))
                {
                    // ViewBag.invalid = "Pensioner Values are Invalid";
                    _context.pensionDetails.Add(penDetailObj);
                    _context.SaveChanges();
                    return(RedirectToAction("PensionervaluesDisplayed", penDetailObj));
                }
                else
                {
                    ViewBag.notmatch = "Pensioner Values not match";
                    return(View());
                }
            }

            else
            {
                ViewBag.invalid = "Pensioner Values are Invalid";
                return(View());
            }
        }
示例#13
0
 public IActionResult PensionervaluesDisplayed(PensionDetail penObj)
 {
     return(View(penObj));
 }
 public void AddResponse(PensionDetail detail)
 {
     context.Responses.Add(detail);
 }
 public IActionResult PensionervaluesDisplayed(PensionDetail penObj)
 {
     _log4net.Info("Pension Amount of Pensioner is Displayed!!");
     return(View(penObj));
 }
        public async Task <IActionResult> PensionerValues(PensionerInput input)
        {
            // string status;
            string processValue = configuration.GetValue <string>("MyLinkValue:processUri");

            if (ModelState.IsValid)
            {
                using (var client = new HttpClient())
                {
                    StringContent content = new StringContent(JsonConvert.SerializeObject(input), Encoding.UTF8, "application/json");

                    client.BaseAddress = new Uri(processValue);
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
                    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                    try
                    {
                        using (var response = await client.PostAsync("api/ProcessPension/ProcessPension", content))    //Get Post Mai check kar lena
                        {
                            string apiResponse = await response.Content.ReadAsStringAsync();

                            Result res = JsonConvert.DeserializeObject <Result>(apiResponse);
                            penDetailObj = res.result;
                        }
                    }
                    catch (Exception e)
                    {
                        _log4net.Error("Some Microservice is Down!!");
                        penDetailObj = null;
                    }
                }

                if (penDetailObj == null)
                {
                    _log4net.Error("Some Microservice is Down!!");
                    ViewBag.erroroccured = "Some Error Occured";
                    return(View());
                }
                if (penDetailObj.Status.Equals(20))
                {
                    _log4net.Error("Some Microservice is Down!!");
                    ViewBag.erroroccured = "Some Error Occured";
                    return(View());
                }
                if (penDetailObj.Status.Equals(10))
                {
                    // Storing the Values in Database
                    _log4net.Info("Pensioner details have been matched with the Csv and data is successfully saved in local Database!!");
                    _context.pensionDetails.Add(penDetailObj);
                    _context.SaveChanges();
                    return(RedirectToAction("PensionervaluesDisplayed", penDetailObj));
                }
                else
                {
                    _log4net.Error("Persioner details does not match with the Csv!!");
                    ViewBag.notmatch = "Pensioner Values not match";
                    return(View());
                }
            }

            else
            {
                _log4net.Warn("Proper details are not given by the Admin!!");
                ViewBag.invalid = "Pensioner Values are Invalid";
                return(View());
            }
        }