public ValueforCalCulation GetCalculationValues(string aadhar) { //provider = new ProcessProvider(); ValueforCalCulation value = provider.GetCalculationValues(aadhar); return(value); }
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>()); }
public void GetCalculationValues_Returns_CorrectValues(string aadhar) { pro.Setup(r => r.GetCalculationValues(aadhar)).Returns(valueforCalCulation); ValueforCalCulation values = pro.Object.GetCalculationValues(aadhar); Assert.AreEqual(values, valueforCalCulation); }
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 }; }
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>()); }
/// <summary> /// Getting the values for calculation /// </summary> /// <param name="aadhar"></param> /// <returns>Values required for calculation</returns> public ValueforCalCulation GetCalculationValues(string aadhar) { PensionerDetail res = new PensionerDetail(); HttpResponseMessage response = PensionDetail(aadhar); if (response == null) { res = null; return(null); } string responseValue = response.Content.ReadAsStringAsync().Result; res = JsonConvert.DeserializeObject <PensionerDetail>(responseValue); ValueforCalCulation Values = new ValueforCalCulation() { SalaryEarned = res.SalaryEarned, Allowances = res.Allowances, BankType = (int)res.BankType, PensionType = (PensionType)res.PensionType }; return(Values); }
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)); }