public string getMetersForProperty(int propertyId) { string responseJSON = emAPI.getProperty(propertyId); EMResponse response = JsonConvert.DeserializeObject <EMResponse>(responseJSON); if (response.status == EMResponse.OK) { Property property = JsonConvert.DeserializeObject <Property>(response.data); List <dynamic> mobileMeters = new List <dynamic>(); foreach (Meter m in property.Meters) { string minimumReadingDateResponse = emAPI.getMinimumReadingDate(m.Id); EMResponse dateResponse = JsonConvert.DeserializeObject <EMResponse>(minimumReadingDateResponse); if (dateResponse.status == EMResponse.OK) { mobileMeters.Add(new { Id = m.Id, BelongsToProperty = property.Id, SerialNo = m.SerialNo, Fuel = m.Fuel, MinimumDate = JsonConvert.DeserializeObject <string>(dateResponse.data), NumbDigits = m.NumbDigits }); } } return(JsonConvert.SerializeObject(mobileMeters)); } else { return(EMResponse.Error.ToString()); } }
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(InvoiceViewModel model) { try { int meterId = model.MeterId; EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.createInvoice(meterId, model.Invoice.BillDate.ToString(), model.Invoice.StartDate.ToString(), model.Invoice.EndDate.ToString(), model.Invoice.KWh, model.Invoice.ConsumptionCharge, model.Invoice.StandingCharge, model.Invoice.OtherCharge, model.BelongsToProperty)); if (response.status == EMResponse.OK) { string meterType = model.Fuel; return(RedirectToAction("Home", "Meter", new { meterId = model.MeterId, propertyId = model.BelongsToProperty, type = model.Fuel })); } else { return(View("Error")); } } catch { return(View("Error")); } }
public static T convertTo <T>(string responseJSON) { EMResponse response = JsonConvert.DeserializeObject <EMResponse>(responseJSON); T result = default(T); if (response.status == EMResponse.OK) { result = JsonConvert.DeserializeObject <T>(response.data); } return(result); }
public ActionResult Delete(MeterReadingViewModel model) { ///submit deletion and check for success EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.deleteReading(model.MtrReading.Id, model.BelongsToMeter, model.BelongsToProperty)); if (response.status == EMResponse.OK) { return(RedirectToAction("Index", "Reading", new { meterId = model.BelongsToMeter, propertyId = model.BelongsToProperty, fuel = model.Fuel })); } else { return(View("Error")); } }
public ActionResult Create(PropertyViewModel model) { try { ///property type id int typeId = ResponseReader.convertTo <int>(emAPI.getPropertyTypeId(model.HeatingType.Id, model.BuildingType.Id, model.WallType.Id)); ///substitute floor area and number of bedrooms if left empty in form int numbRooms = 0; int floorArea = 0; if (model.NumbBedrooms.HasValue) { numbRooms = model.NumbBedrooms.Value; } if (model.FloorArea.HasValue) { floorArea = model.FloorArea.Value; } EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.createProperty(model.Property.Name, model.Property.Postcode, floorArea, numbRooms, typeId, int.Parse(User.Identity.Name))); if (response.status == EMResponse.OK) { return(RedirectToAction("UserHome", "Home", new { id = model.BelongsToUser })); } else { ///need to populate model with selection lists and return model with errors for users correction model.HeatingTypes = ResponseReader.convertTo <List <HeatingType> >(emAPI.getHeatingTypes()); model.BuildingTypes = ResponseReader.convertTo <List <BuildingType> >(emAPI.getBuildingTypes()); model.WallTypes = ResponseReader.convertTo <List <WallType> >(emAPI.getWallTypes()); 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")); } }
public ActionResult Delete(InvoiceViewModel model) { try { EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.deleteInvoice(model.Invoice.Id, model.BelongsToProperty)); if (response.status == EMResponse.OK) { return(RedirectToAction("Index", "Invoice", new { meterId = model.MeterId, propertyId = model.BelongsToProperty, fuel = model.Fuel })); } else { return(View("Error")); } } catch { return(View("Error")); } }
public ActionResult Delete(TariffViewModel model) { try { EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.deleteTariff(model.Id)); if (response.status == EMResponse.OK) { return(RedirectToAction("Home", "Meter", new { meterId = model.meterId, propertyId = model.BelongsToProperty, type = model.fuel })); } else { return(View("Error")); } } catch { return(View("Error")); } }
public ActionResult Delete(Property property) { try { EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.deleteProperty(property.Id)); if (response.status == EMResponse.OK) { return(RedirectToAction("UserHome", "Home", new { id = int.Parse(User.Identity.Name) })); } else { return(View("Error")); } } catch { return(View("Error")); } }
public ActionResult Validate(int invoiceId, int meterId, int propertyId, string fuel) { try { EMResponse repsonse = JsonConvert.DeserializeObject <EMResponse>(emAPI.validateInvoice(invoiceId, true)); if (repsonse.status == EMResponse.OK) { return(RedirectToAction("Index", "Invoice", new { meterId = meterId, propertyId = propertyId, fuel = fuel })); } else { return(View("Error")); } } catch { return(View("Error")); } }
public ActionResult Delete(MeterViewModel model) { try { ///submit delete and check for success EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.deleteMeter(model.Meter.Id, model.BelongsToProperty)); if (response.status == EMResponse.OK) { return(RedirectToAction("Home", "Property", new { id = model.BelongsToProperty })); } else { return(View("Error")); } } catch { return(View("Error")); } }
public ActionResult Create(MeterReadingViewModel model) { if (ModelState.IsValid) { ///create reading and check for success EMResponse response = JsonConvert.DeserializeObject <EMResponse>( emAPI.createMeterReading(model.Date.ToString(), model.MtrReading.Reading, model.BelongsToMeter, model.BelongsToProperty)); if (response.status == EMResponse.OK) { return(RedirectToAction("Home", "Meter", new { meterId = model.BelongsToMeter, propertyId = model.BelongsToProperty, type = model.Fuel })); } else { return(View("Error")); } } ///return model with errors to view for user correction return(View(model)); }
public ActionResult Edit(MeterViewModel model) { try { ///submit edits and check for success string meterJSON = JsonConvert.SerializeObject(model.Meter); EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.editMeter(model.Meter.Id, meterJSON)); if (response.status == EMResponse.OK) { return(RedirectToAction("Home", "Meter", new { meterId = model.Meter.Id, propertyId = model.BelongsToProperty, type = model.Meter.Fuel })); } else { return(View("Error")); } } catch { return(View("Error")); } }
public string getPropertiesForUser(int userId) { string responseJSON = emAPI.getPropertiesForUser(userId); EMResponse response = JsonConvert.DeserializeObject <EMResponse>(responseJSON); if (response.status == EMResponse.OK) { List <Property> properties = JsonConvert.DeserializeObject <List <Property> >(response.data); List <dynamic> mobileProperties = new List <dynamic>(); foreach (Property p in properties) { mobileProperties.Add(new { Id = p.Id, Name = p.Name, BelongsToUser = userId }); } return(JsonConvert.SerializeObject(mobileProperties)); } else { return(EMResponse.Error.ToString()); } }
public ActionResult CreateGas(GasMeterViewModel model) { try { ///submit create and check for success int propertyId = model.BelongsToProperty; EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.createGasMeter(model.Meter.SerialNo, model.Meter.MeterCoefficient, model.Meter.NumbDigits, model.StartDate.ToString(), propertyId)); if (response.status == EMResponse.OK) { return(RedirectToAction("Home", "Property", new { id = propertyId })); } else { return(View("Error")); } } catch { return(View()); } }
public ActionResult Edit(InvoiceViewModel model) { try { model.Invoice.Meter = new Meter(); model.Invoice.Meter.Id = model.MeterId; string invoiceJSON = JsonConvert.SerializeObject(model.Invoice); EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.editInvoice(model.Invoice.Id, invoiceJSON, model.BelongsToProperty)); if (response.status == EMResponse.OK) { return(RedirectToAction("Index", "Invoice", new { meterId = model.MeterId, propertyId = model.BelongsToProperty, fuel = model.Fuel })); } else { return(View("Error")); } } catch { return(View("Error")); } }
static void Main() { while (true) { var input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(input)) { continue; } var args = input.Split(' '); var command = args.First(); var argument = ""; var id = ""; var pass = ""; if (args.Length == 2) { argument = args[1]; } else if (args.Length == 3) { id = args[1]; pass = args[2]; } EMEmail emEmail; EMList emList; switch (command) { case "login": var result = Auth.Login(id, pass); Console.Clear(); Console.WriteLine(result); break; case "listcreate": emList = new EMList(); var listId = emList.Create(); Console.WriteLine($"Success - Created list id:{listId}"); break; case "listupload": emList = new EMList(); emList.Upload(int.Parse(argument)); Console.WriteLine("Success"); break; case "listdownload": emList = new EMList(); emList.Download(); Console.WriteLine("Success"); break; case "listquery": emList = new EMList(); emList.Query(); Console.WriteLine("Success"); break; case "send_anemail": emEmail = new EMEmail(); emEmail.SendAnEmail(); Console.WriteLine("Success"); break; case "send_multipleemails_withdeployment": emEmail = new EMEmail(); emEmail.SendMultipleEmailsWithGivenDeployment(); Console.WriteLine("Success"); break; case "send_multipleemails_withoutdeployment": emEmail = new EMEmail(); emEmail.SendMultipleEmailsAfterCreatingDeployment(); Console.WriteLine("Success"); break; case "createcreative": var emCreative = new EMCreative(); emCreative.Create(); Console.WriteLine("Success"); break; case "exportresponse": var emResponse = new EMResponse(); emResponse.Export(); Console.WriteLine("Success"); break; case "Unsubscribe": var emRecipient = new EMRecipient(); emRecipient.Unsubscribe(); Console.WriteLine("Success"); break; case "exit": return; } } }
public ActionResult Edit(PropertyViewModel model) { Property property = new Property(); property.Name = model.Property.Name; ///substitute number rooms and floor area if left empty on form int numbRooms = 0; int floorArea = 0; if (model.NumbBedrooms.HasValue) { numbRooms = model.NumbBedrooms.Value; } if (model.FloorArea.HasValue) { floorArea = model.FloorArea.Value; } ///poplate model object property.Postcode = model.Property.Postcode.ToUpper(); property.NumbBedrooms = numbRooms; property.FloorArea = floorArea; int heatingType = model.Property.PropertyType.Heating.Id; int buildingType = model.Property.PropertyType.Building.Id; int wallType = model.Property.PropertyType.Walls.Id; try { ///create newProperty and submit edits. int propertyTypeId = ResponseReader.convertTo <int>(emAPI.getPropertyTypeId(heatingType, buildingType, wallType)); property.PropertyType = new PropertyType { Id = propertyTypeId }; string propertyJSON = JsonConvert.SerializeObject(property); ///check for success EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.editProperty(model.Property.Id, propertyJSON)); if (response.status == EMResponse.OK) { return(RedirectToAction("Home", "Property", new { id = model.Property.Id })); } else { ///populate model with selection lists and try again model.HeatingTypes = ResponseReader.convertTo <List <HeatingType> >(emAPI.getHeatingTypes()); model.BuildingTypes = ResponseReader.convertTo <List <BuildingType> >(emAPI.getBuildingTypes()); model.WallTypes = ResponseReader.convertTo <List <WallType> >(emAPI.getWallTypes()); return(View(model)); } } catch { return(View("Error")); } }