public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { Distance distance; double parsedDistance; if (double.TryParse(Get(bindingContext, "distance"), out parsedDistance)) distance = new Distance(parsedDistance, controllerContext.UserDistanceUnits()); else distance = new Distance(0, controllerContext.UserDistanceUnits()); OnModelUpdating(controllerContext, bindingContext); bindingContext.ModelMetadata.Model = distance; OnModelUpdated(controllerContext, bindingContext); return bindingContext.Model; }
public ProfileModel(ControllerContext context) { if (!context.HasValidUserAccount()) { Name = ""; Weight = new WeightData(); return; } var userAccount = context.UserAccount(); Name = userAccount.DisplayName; Weight = DefaultWeightData(); var userPref = ((object)userAccount).UserPrefs().Latest(); if (userPref != null) { Weight.Units = userPref.WeightUnits; switch (Weight.Units) { case "kg": Weight.Kg = userPref.Weight; break; case "lbs": case "st": Weight.Lbs = userPref.Weight; Weight.Units = "lbs"; break; } Weight.UpdateFromUnits(); if (userPref.WeightUnits == "st") Weight.Units = "st"; } DistUnits = (int)context.UserDistanceUnits(); }
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { long? route = null; long parsedRoute; if (long.TryParse(Get(bindingContext, "route"), out parsedRoute)) route = parsedRoute; Distance distance; double parsedDistance; if (double.TryParse(Get(bindingContext, "distance"), out parsedDistance)) distance = new Distance(parsedDistance, controllerContext.UserDistanceUnits()); else distance = new Distance(0, controllerContext.UserDistanceUnits()); OnModelUpdating(controllerContext, bindingContext); bindingContext.ModelMetadata.Model = new PaceData { Calc = Get(bindingContext, "calc"), Pace = Get(bindingContext, "pace"), Distance = distance, Time = Get(bindingContext, "time"), Route = route }; OnModelUpdated(controllerContext, bindingContext); return bindingContext.Model; }
public RunLogModel(ControllerContext context, dynamic runLogEvent) { this.context = context; RunLogEvent = runLogEvent; TimeTaken = runLogEvent.TimeTaken; Route = ((object)RunLogEvent).Route(); Distance = ((object)Route).Distance().ConvertTo(context.UserDistanceUnits()); var paceData = new PaceData { Distance = Distance, Time = TimeTaken, Calc = "Pace" }; var paceCalc = new PaceCalculator(); paceCalc.Calculate(paceData); Pace = paceData; }