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