public override object BindModel(ControllerContext controllerContext, 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;
            if (DateTime.TryParseExact(bindingContext.GetString("date"), "ddd, d MMM yyyy HH':'mm':'ss 'GMT'", null, DateTimeStyles.AssumeUniversal, out parsedDate))
                date = parsedDate;

            OnModelUpdating(controllerContext, bindingContext);
            bindingContext.ModelMetadata.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),
                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")
                }
            };
            OnModelUpdated(controllerContext, bindingContext);
            return bindingContext.Model;
        }
 public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
 {
     OnModelUpdating(controllerContext, bindingContext);
     bindingContext.ModelMetadata.Model = 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"),
         }
     };
     OnModelUpdated(controllerContext, bindingContext);
     return bindingContext.Model;
 }