public ActionResult Edit(int id, TariffViewModel model) { try { if (ModelState.IsValid) { Tariff updatedTariff = TariffConverter.createTariffFromViewModel(model); string updatedTariffJSON = JsonConvert.SerializeObject(updatedTariff); EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.editTariff(id, updatedTariffJSON)); if (response.status == EMResponse.OK) { return(RedirectToAction("Home", "Meter", new { meterId = model.meterId, propertyId = model.BelongsToProperty, type = model.fuel })); } else { return(View("Error")); } } return(View(model)); } catch { return(View("Error")); } }
public ActionResult Create(TariffViewModel tariffViewModel) { string fuel = tariffViewModel.fuel; int meterId = tariffViewModel.meterId; int propertyId = tariffViewModel.BelongsToProperty; try { if (ModelState.IsValid) { Tariff tariff = TariffConverter.createTariffFromViewModel(tariffViewModel); EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.createTariff(tariff.SCValue, tariff.StartDate.ToString(), tariff.SCPeriod.Id, tariff.BandPeriod.Id, tariffViewModel.meterId)); if (response.status == EMResponse.OK) { int tariffId = JsonConvert.DeserializeObject <int>(response.data); foreach (TariffBand band in tariff.Bands) { EMResponse bandResponse = JsonConvert.DeserializeObject <EMResponse>(emAPI.createTariffBand(band.UpperkWhLimit, band.LowerkWhLimit, band.UnitRate, tariffId)); if (bandResponse.status != EMResponse.OK) { return(View("Error")); } } return(RedirectToAction("Home", "Meter", new { meterId = tariffViewModel.meterId, propertyId = tariffViewModel.BelongsToProperty, type = tariffViewModel.fuel })); } } else { return(View(tariffViewModel)); } return(View(tariffViewModel)); } catch { return(View("Error")); } }
// // GET: /Tariff/Delete/5 public ActionResult Delete(int tariffId, int meterId, int propertyId, string type) { try { Tariff tariff = ResponseReader.convertTo <Tariff>(emAPI.getTariff(tariffId)); TariffViewModel model = TariffConverter.createTariffViewFromTariff(tariff, true); model.meterId = meterId; model.Id = tariffId; model.fuel = type; model.BelongsToProperty = propertyId; TimeSpan oneDay = new TimeSpan(1, 0, 0, 0); model.MinimumStartDate = Convert.ToDateTime(ResponseReader.convertTo <string>(emAPI.getMinimumTariffDate(meterId))); model.StartDate = model.MinimumStartDate + oneDay; return(PartialView(model)); } catch { return(View("Error")); } }
public MeterViewModel(Meter m) { ///populate fiel specific properties /// ElectricityMeter elecMeter = m as ElectricityMeter; GasMeter gasMeter = m as GasMeter; if (elecMeter != null) { this.ScalingFactor = elecMeter.ScalingFactor; } else if (gasMeter != null) { this.MeterCoefficient = gasMeter.MeterCoefficient; this.CorrectionFactor = gasMeter.CorrectionFactor; this.CalorificValue = gasMeter.CalorificValue; if (gasMeter.MeterCoefficient == 0.028316846) { this.MeterUnits = "cubic feet"; } if (gasMeter.MeterCoefficient == 0.28316846) { this.MeterUnits = "10s of cubic feet"; } if (gasMeter.MeterCoefficient == 2.8316846) { this.MeterUnits = "100s of cubic feet"; } if (gasMeter.MeterCoefficient == 1) { this.MeterUnits = "cubic meters"; } } ///load tariff view model with data from meter /// Meter = m; Tariff = new TariffViewModel(); if (Meter.Tariffs.Count == 0) { ///no tariff set yet /// Tariff = null; } else { ///get most recent tariff /// Meter.Tariffs = Meter.Tariffs.OrderByDescending(t => t.StartDate).ToList(); Tariff currentTariff = Meter.Tariffs.ElementAt(0); currentTariff.Bands = Meter.Tariffs.ElementAt(0).Bands.ToList(); ///convert model to viewModel /// Tariff = TariffConverter.createTariffViewFromTariff(currentTariff, false); } }