Exemple #1
0
 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"));
 }
Exemple #2
0
        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));
        }