public IHttpActionResult SaveElectricity(decimal v, decimal c, decimal units, int deviceid, string devicename) { try { using (kernels1_itiEntities DB = new kernels1_itiEntities()) { BiharITI.DATA.ElectricityMeter se = new ElectricityMeter(); se.voltage = v; se.currentamp = c; se.Units = units; TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); DateTime timeUtc = DateTime.UtcNow; DateTime result = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, timeZoneInfo); se.updatedDate = result; se.deviceid = deviceid; se.devicename = devicename; DB.ElectricityMeters.Add(se); DB.SaveChanges(); } var response = new { Success = true, Message = "Electricity data saved", }; return(Ok(response)); } catch (Exception ex) { return(Content(HttpStatusCode.BadRequest, "Error Found")); } }
// // GET: /Meter/Details/5 public ActionResult Home(int meterId, int propertyId, string type) { if (type == "Electricity") { try { ///get elec meter object from API ElectricityMeter meter = ResponseReader.convertTo <ElectricityMeter>(emAPI.getMeter(meterId)); MeterViewModel model = new MeterViewModel(meter); model.BelongsToProperty = propertyId; model.Meter.Invoices = model.Meter.Invoices.OrderByDescending(inv => inv.BillDate).ToList(); ///forecast invoice if possible Invoice nextInvoice = ResponseReader.convertTo <Invoice>(emAPI.forecastNextInvoice(meterId)); if (nextInvoice != null) { model.ForecastedInvoice = nextInvoice; } return(View(model)); } catch { return(View("Error")); } } else if (type == "Gas") { try { ///get gas meter from API GasMeter meter = ResponseReader.convertTo <GasMeter>(emAPI.getMeter(meterId)); MeterViewModel model = new MeterViewModel(meter); model.BelongsToProperty = propertyId; model.Meter.Invoices = model.Meter.Invoices.OrderByDescending(inv => inv.BillDate).ToList(); ///forecast invoice if possible Invoice nextInvoice = ResponseReader.convertTo <Invoice>(emAPI.forecastNextInvoice(meterId)); if (nextInvoice != null) { model.ForecastedInvoice = nextInvoice; } return(View(model)); } catch { return(View("Error")); } } else { ///unrecognised meter type /// return(View("Home", "User")); } }
public void ShouldNotSaveADuplicatedDevice() { var device = new ElectricityMeter { ID = "1", SerialNumber = "1" }; Assert.True(dbAccessUT.SaveDevice(device)); Assert.False(dbAccessUT.SaveDevice(device)); var actual = dbAccessUT.GetDevices().Count(); var expected = 1; Assert.That(actual, Is.EqualTo(expected)); }
//* * * CREATE METHODS public int createElectricityMeter(string serialNo, double scalingFactor, int numbDigits, string startDate, int propertyId) { ElectricityMeter newMeter = new ElectricityMeter { SerialNo = serialNo, ScalingFactor = scalingFactor, KWhtoCO2ConversionFactor = EMConverter.eleckWhFactor, NumbDigits = numbDigits, StartDate = Convert.ToDateTime(startDate) }; ///add meter to property int meterId = mediator.DataManager.saveMeter(newMeter); mediator.DataManager.addMeterToProperty(meterId, propertyId); return(meterId); }
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); } }