public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            var model = new StackSearchModel();

            model.Numbers = new List <double>();
            var doubles = controllerContext.HttpContext.Request.Form["Numbers"]
                          .Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            var    sum      = controllerContext.HttpContext.Request.Form["SearchSum"];
            string validSum = sum.Replace('.', ',');
            double outerSum;

            if (double.TryParse(validSum, out outerSum))
            {
                model.SearchSum = outerSum;
            }
            foreach (var item in doubles)
            {
                double tmp;
                string dbl = item.Replace('.', ',');
                if (double.TryParse(dbl, out tmp))
                {
                    model.Numbers.Add(tmp);
                }
            }
            return(model);
        }
Exemple #2
0
 public JsonResult StackSearch(StackSearchModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             var service = new StackSearchService();
             model.Pairs = service.GetPairFor(model.Numbers.ToArray(), model.SearchSum);
             return(Json(new
             {
                 ok = true,
                 resultHtml = this.RenderPartialViewToString("_StackSearchResult", model)
             }));
         }
         catch (Exception e)
         {
             return(Json(new
             {
                 ok = false,
                 errormessage = e.Message
             }));
         }
     }
     else
     {
         return(Json(new
         {
             ok = false,
             errormessage = "Неверные значения"
         }));
     }
 }