public void ShouldReturnFCAChargesWhenUnitsConsumedForSlab4() { FCAChargesBilled result = fcaController.Calculation(301); double actual = result.FcaChargesTotal; double expected = 39.13; Assert.AreEqual(expected, actual); }
public FCAChargesBilled Calculation(int units) { FCAChargesBilled fcabilled = new FCAChargesBilled(); fcabilled.fcacharges = units * 0.13; return(fcabilled); }
public FCAChargesBilled GetFcaSlabCharges() { string strResponseContent; using (StreamReader reader = new StreamReader(fFilePath)) { strResponseContent = reader.ReadToEnd(); } FCAChargesBilled fcaSlab = JsonConvert.DeserializeObject <FCAChargesBilled>(strResponseContent); return(fcaSlab); }
public bool SetFcaSlabCharges(FCAChargesBilled model) { bool dutySlabAdded = false; var json = System.IO.File.ReadAllText(fFilePath); var fcaSlabList = JsonConvert.DeserializeObject <List <FCAChargesBilled> >(json); if (model != null) { fcaSlabList.Add(model); System.IO.File.WriteAllText(fFilePath, JsonConvert.SerializeObject(fcaSlabList, Formatting.Indented)); dutySlabAdded = true; } return(dutySlabAdded); }
public DutyFcaBilled DutyChargesCalculation1(int units) { DutyFcaBilled dutyModel = new DutyFcaBilled(); DutyChargesBilled dtySlab = GetDutySlabCharges(); FCAChargesBilled fcaSlab = GetFcaSlabCharges(); dutyModel.DutyChargesBilled = new DutyChargesBilled(); dutyModel.FCAChargesBilled = new FCAChargesBilled(); if (units == 0) { dutyModel.DutyChargesBilled.SlabDutyCharges = 0; dutyModel.DutyChargesBilled.FcaDutyCharges = 0; dutyModel.DutyChargesBilled.TotalDutyCharges = 0; } else if (units >= (int)slab1range.min && units <= (int)slab1range.max) { dutyModel.DutyChargesBilled.SlabDutyCharges = units * dtySlab.Slab1Rate; dutyModel.DutyChargesBilled.FcaDutyCharges = Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges * fcaSlab.Slab1Rate), 3); } else if (units >= (int)slab2range.min && units <= (int)slab2range.max) { dutyModel.DutyChargesBilled.SlabDutyCharges = (50 * dtySlab.Slab1Rate) + ((units - 50) * dtySlab.Slab2Rate); dutyModel.DutyChargesBilled.FcaDutyCharges = Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges * fcaSlab.Slab2Rate), 3); } else if (units >= (int)slab3range.min && units <= (int)slab3range.max) { dutyModel.DutyChargesBilled.SlabDutyCharges = (50 * dtySlab.Slab1Rate) + (100 * dtySlab.Slab2Rate) + ((units - 150) * dtySlab.Slab3Rate); dutyModel.DutyChargesBilled.FcaDutyCharges = Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges * fcaSlab.Slab3Rate), 3); } else if (units >= (int)slab4range.min) { dutyModel.DutyChargesBilled.SlabDutyCharges = (50 * dtySlab.Slab1Rate) + (100 * dtySlab.Slab2Rate) + (150 * dtySlab.Slab3Rate) + (units - 300) * dtySlab.Slab1Rate; dutyModel.DutyChargesBilled.FcaDutyCharges = Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges * fcaSlab.Slab4Rate), 3); } dutyModel.DutyChargesBilled.SlabDutyCharges = Math.Round(dutyModel.DutyChargesBilled.SlabDutyCharges, 3); dutyModel.DutyChargesBilled.TotalDutyCharges = Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges + dutyModel.DutyChargesBilled.FcaDutyCharges), 3); return(dutyModel); }
public FCAChargesBilled callwebapi(string parameters) { using (var httpClient = new HttpClient()) { using (var response = httpClient.GetAsync(parameters).Result) { if (response.IsSuccessStatusCode) { //string apiResponse = response.Content.ReadAsStringAsync().Result; //expectedresult = Convert.ToDouble(apiResponse); string apiResponse = response.Content.ReadAsStringAsync().Result; expectedresult = JsonConvert.DeserializeObject <FCAChargesBilled>(apiResponse); fcacharges = expectedresult.fcacharges; } } } return(expectedresult); }
public FCAChargesBilled FcaChargesCalculation(int units) { FCAChargesBilled fcaSlabRate = GetFcaSlabCharges(); FCAChargesBilled fcaModel = new FCAChargesBilled(); if (units == 0) { fcaModel.FcaChargesTotal = 0; } else if (units >= (int)slab1range.min && units <= (int)slab1range.max) { fcaModel.Slab1FcaCharges = units * fcaSlabRate.Slab1Rate; fcaModel.FcaChargesTotal = fcaModel.Slab1FcaCharges; } else if (units >= (int)slab2range.min && units <= (int)slab2range.max) { fcaModel.Slab1FcaCharges = (50 * fcaSlabRate.Slab1Rate); fcaModel.Slab2FcaCharges = ((units - 50) * fcaSlabRate.Slab2Rate); fcaModel.FcaChargesTotal = (fcaModel.Slab1FcaCharges + fcaModel.Slab2FcaCharges); } else if (units >= (int)slab3range.min && units <= (int)slab3range.max) { fcaModel.Slab1FcaCharges = (50 * fcaSlabRate.Slab1Rate); fcaModel.Slab2FcaCharges = (100 * fcaSlabRate.Slab2Rate); fcaModel.Slab3FcaCharges = ((units - 150) * fcaSlabRate.Slab3Rate); fcaModel.FcaChargesTotal = (fcaModel.Slab1FcaCharges + fcaModel.Slab2FcaCharges + fcaModel.Slab3FcaCharges); } else if (units >= (int)slab4range.min) { fcaModel.Slab1FcaCharges = (50 * fcaSlabRate.Slab1Rate); fcaModel.Slab2FcaCharges = (100 * fcaSlabRate.Slab2Rate); fcaModel.Slab3FcaCharges = (150 * fcaSlabRate.Slab3Rate); fcaModel.Slab4FcaCharges = ((units - 300) * fcaSlabRate.Slab4Rate); fcaModel.FcaChargesTotal = (fcaModel.Slab1FcaCharges + fcaModel.Slab2FcaCharges + fcaModel.Slab3FcaCharges + fcaModel.Slab4FcaCharges); } fcaModel.FcaChargesTotal = Math.Round((fcaModel.FcaChargesTotal), 3); return(fcaModel); }
public bool SetCharges([FromBody] FCAChargesBilled fModel) { return(fcaCharges.SetFcaSlabCharges(fModel)); }
public FCAChargesBilled Calculation(int units) { FCAChargesBilled fcaModel = fcaCharges.FcaChargesCalculation(units); return(fcaModel); }
public void WhenTheStateMOGElectricityBillGetsGenerated() { // webapi = webapi + "FCACalculation?units=" + Units; expectedresult = callwebapi(webapi); }
public void WhenTheStateXOZElectricityBillGetsGenerated() { expectedresult = JsonConvert.DeserializeObject <FCAChargesBilled>(apiResponse); fcachargestotal = expectedresult.FcaChargesTotal; }