Пример #1
0
 // 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;
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }