Exemplo n.º 1
0
 public ActionResult Search(UserSpaceIndexViewModel model)
 {
     if (!String.IsNullOrWhiteSpace(model.SearchString))
     {
         JoinWithBaseModel(model);
         var userId     = userService.GetUserByUserSpaceId(Int32.Parse(model.CurrentPageSpaceId)).Id;
         var searchlist = imageService.Search(model.SearchString, userId);
         List <ImageViewModel> images = MapImageResults(searchlist);
         model.ImagesOfThePage = images;
         model.Avatar          = GetUserAvatar(model.CurrentPageSpaceId);
         return(PartialView("_Images", model));
     }
     return(PartialView("_Images", model));
 }
Exemplo n.º 2
0
        // Исключаем параметр роута id из проверки
        public ActionResult Index_Post([Bind(Include = "Image")] UserSpaceIndexViewModel model)
        {
            ViewBag.Title = "User Space";
            JoinWithBaseModel(model);
            SetupUserSpaceIndexViewModel(model);

            // Если неправильный id в uri (не число) или нет такой страницы пользовалеля (что тоже неправильный uri)
            // Перенаправить на NotFoundPage
            if (!IsPageExist(Convert.ToString(model.UserSpaceId)))
            {
                return(Redirect("~/Error/NotFoundPage"));
            }

            // Такого быть не должно, добавлять картинки можно только на своей странице
            // Перенаправить на свою страницу для добавления картинки
            if (model.CurrentPageSpaceId != model.UserSpaceId)
            {
                RouteData.Values["id"] = model.UserSpaceId;
                return(RedirectToAction("Index"));
            }

            // Если модель не валидируется, перенаправить назад
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // Это мы проверяли при валидации, но проверим еще раз (если валидация изменится в будущем)
            if (model.Image.File != null && model.Image.File.ContentLength > 0)
            {
                FileName    = model.Image.File.FileName;
                Name        = model.Image.Name;
                Description = model.Image.Description;
                bool goodResult;
                using (Stream stream = model.Image.File.InputStream)
                {
                    goodResult = TrySaveImage(stream);
                }
                if (!goodResult)
                {
                    ModelState.AddModelError("Image.Image.File", "Что-то пошло не так с загрузкой картинки");
                    return(View(model));
                }
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        public ActionResult Index_Get(UserSpaceIndexViewModel model)
        {
            ViewBag.Title = "User Space";
            JoinWithBaseModel(model);
            SetupUserSpaceIndexViewModel(model);

            // Перенаправляем на свою страницу, если не указан {id} прямо в uri
            if (RouteData.Values["id"] == null && model.UserSpaceId != null)
            {
                RouteData.Values["id"] = model.UserSpaceId;
                return(RedirectToAction("Index", new { id = model.UserSpaceId }));
            }

            // Если неправильный {id} в uri (не число) или нет такой страницы пользовалеля (что тоже неправильный uri)
            // Перенаправить на NotFoundPage
            if (model.Avatar == null || !IsPageExist(Convert.ToString(RouteData.Values["id"])))
            {
                return(Redirect("~/Error/NotFoundPage"));
            }
            return(View(model));
        }
Exemplo n.º 4
0
 private void SetupUserSpaceIndexViewModel(UserSpaceIndexViewModel model)
 {
     model.ImagesOfThePage = GetUserImages(model.CurrentPageSpaceId);
     model.Avatar          = GetUserAvatar(model.CurrentPageSpaceId);
 }
Exemplo n.º 5
0
 public ActionResult Search_Get(UserSpaceIndexViewModel model)
 {
     JoinWithBaseModel(model);
     return(PartialView("_Search", model));
 }