コード例 #1
0
        public async Task <ActionResult> Index(ParamViewModel coefficient)
        {
            if (ModelState.IsValid)
            {
                ParamDTO       _coefficient = coefficient.ReplaceType(coefficient);
                PointsParabola pointPar     = new PointsParabola(coefficient.ReplaceType(coefficient));
                int            paramId      = await service.FindParamsIdAsync(_coefficient);

                List <CacheDataDTO>    cacheData = new List <CacheDataDTO>();
                List <PointsViewModel> points    = new List <PointsViewModel>();
                if (paramId == -1)
                {
                    cacheData = pointPar.GetCacheDatas(_coefficient);
                    await service.AddParamsAndCacheDataAsync(_coefficient, cacheData);
                }
                else
                {
                    cacheData = await service.GetCacheDataAsync(paramId);
                }
                foreach (var c in cacheData)
                {
                    points.Add(new PointsViewModel(c.PointX, c.PointY));
                }
                ViewBag.Result    = points;
                ViewBag.IsRotated = coefficient.A < 0;
                return(View("Index"));
            }
            return(View("Index"));
        }