public ActionResult SetAvatar_Post([Bind(Include = "File")] SetAvatarViewModel model) { JoinWithBaseModel(model); if (!ModelState.IsValid) { return(View(model)); } // Это мы проверяли при валидации, но проверим еще раз (если валидация изменится в будущем) if (model.File != null && model.File.ContentLength > 0) { FileName = model.File.FileName; Name = model.UserSpaceId; Description = model.UserNickName; bool goodResult; using (Stream stream = model.File.InputStream) { goodResult = TrySaveImage(stream); } // Если картинка не сохранена как следует, выдаем ошибку валидации if (!goodResult) { ModelState.AddModelError("Image.File", "Что-то пошло не так с загрузкой картинки"); return(View(model)); } } return(RedirectToAction("Index")); }
public ActionResult SetAvatar_Get() { SetAvatarViewModel model = new SetAvatarViewModel(); JoinWithBaseModel(model); return(View(model)); }
public async Task <ActionResult> SetAvatar(SetAvatarViewModel model) { if (ModelState.IsValid) { var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); // In this project AvatarUrl == ImgUrl (Server Space Saver) user.AvatarUrl = model.AvatarUrl; user.ImgUrl = model.AvatarUrl; await UserManager.UpdateAsync(user); return(RedirectToAction("Logoff", "Account")); } // Si llegamos a este punto, es que se ha producido un error, volvemos a mostrar el formulario return(View(model)); }