public Task BindModelAsync(ModelBindingContext bindingContext)
        {
            bindingContext.Result = ModelBindingResult.Success(new ProfileModel
            {
                DistUnits = bindingContext.GetInt("distUnits"),
                Name      = bindingContext.GetString("name"),
                Weight    = new WeightData
                {
                    Kg    = bindingContext.GetDouble("weightKg"),
                    Lbs   = bindingContext.GetDouble("weightLbs"),
                    St    = bindingContext.GetDouble("weightSt"),
                    StLbs = bindingContext.GetDouble("weightStLbs"),
                    Units = bindingContext.GetString("weightUnits"),
                }
            });

            return(Task.CompletedTask);
        }
예제 #2
0
        public Task BindModelAsync(ModelBindingContext bindingContext)
        {
            DateTime?date = null;
            DateTime parsedDate;

            Trace.TraceInformation("Parsing date: {0}", bindingContext.GetString("date"));
            if (DateTime.TryParseExact(bindingContext.GetString("date"), "ddd, d MMM yyyy HH':'mm':'ss 'UTC'", null, DateTimeStyles.AssumeUniversal, out parsedDate))
            {
                date = parsedDate.ToUniversalTime();
            }
            else if (DateTime.TryParseExact(bindingContext.GetString("date"), "ddd, d MMM yyyy HH':'mm':'ss 'GMT'", null, DateTimeStyles.AssumeUniversal, out parsedDate))
            {
                date = parsedDate;
            }

            var model = new NewRunData {
                RunLogId = bindingContext.GetLong("runLogId"),
                Date     = date,
                Distance = bindingContext.GetDouble("distance"),
                Route    = bindingContext.GetLong("route"),
                Time     = bindingContext.GetString("time"),
                Comment  = bindingContext.GetString("comment").MaxLength(1000)
            };

            if ((model.Route ?? 0) == -2)
            {
                model.NewRoute = new RouteData {
                    Distance = bindingContext.GetDouble("distance") ?? 0.0,
                    Name     = bindingContext.GetString("newRouteName"),
                    Notes    = bindingContext.GetString("newRouteNotes"),
                    Points   = bindingContext.GetString("newRoutePoints"),
                    Public   = bindingContext.GetBool("newRoutePublic")
                }
            }
            ;

            bindingContext.Result = ModelBindingResult.Success(model);

            return(Task.CompletedTask);
        }
    }
예제 #3
0
        public Task BindModelAsync(ModelBindingContext bindingContext)
        {
            bindingContext.Result = ModelBindingResult.Success(new PaceData
            {
                Calc     = bindingContext.GetString("calc"),
                Pace     = bindingContext.GetString("pace"),
                Distance = new Distance(bindingContext.GetDouble("distance") ?? 0, bindingContext.HttpContext.UserDistanceUnits()),
                Time     = bindingContext.GetString("time"),
                Route    = bindingContext.GetLong("route")
            });

            return(Task.CompletedTask);
        }
예제 #4
0
 public Task BindModelAsync(ModelBindingContext bindingContext)
 {
     bindingContext.Result = ModelBindingResult.Success(new Distance(bindingContext.GetDouble("distance") ?? 0, bindingContext.HttpContext.UserDistanceUnits()));
     return(Task.CompletedTask);
 }