// Constructor chaining with parameters public UserSettings(string userName, string homeAddress, string homeCity, string workAddress, int precison, TemperatureUOM temperatureUOM, DistanceUOM distanceUOM) : this(userName, homeAddress, homeCity, workAddress) { Precision = precison; TemperatureUOM = temperatureUOM; DistanceUOM = distanceUOM; }
protected TrafficModel CalculateUnMappableValues(TrafficModel model, DistanceUOM distanceUOM) { model.Minutes = (model.Minutes / 60); model.TrafficDensity = CalculateTrafficDensity(model.NumberOfIncidents); model.HourOfArrival = DateTime.Now.AddMinutes(model.Minutes); model.DistanceMiles = DistanceHelper.KiloMetersToMiles(model.DistanceKilometers); switch (distanceUOM) { case DistanceUOM.Imperial: model.Distance = model.DistanceMiles + " miles"; break; case DistanceUOM.Metric: model.Distance = model.DistanceKilometers + " km"; break; default: model.Distance = model.DistanceKilometers + " km"; break; } return(model); }
public async Task <TrafficModel> GetModelAsync(string homeAddress, string homeCity, string workAddress, DistanceUOM distanceUOM = DistanceUOM.Metric) { try { _repo = new TrafficRepo($"{homeAddress}, {homeCity}", workAddress); // Get Entity var entity = await _repo.GetEntityAsync(); // Map entity to model TrafficModel model = MapEntityToModel(entity); // Calculate non-mappable values model = CalculateUnMappableValues(model, distanceUOM); return(model); } catch (HttpRequestException) { throw; } catch (Exception ex) { throw new ArgumentException("Unable to retrieve Traffic Model", ex); } }