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)); }
// Исключаем параметр роута 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")); }
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)); }
private void SetupUserSpaceIndexViewModel(UserSpaceIndexViewModel model) { model.ImagesOfThePage = GetUserImages(model.CurrentPageSpaceId); model.Avatar = GetUserAvatar(model.CurrentPageSpaceId); }
public ActionResult Search_Get(UserSpaceIndexViewModel model) { JoinWithBaseModel(model); return(PartialView("_Search", model)); }