Example #1
0
        public async Task <ActionResult> UserCommentCreate(CommentViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var user = await userMgr.FindByNameAsync(User.Identity.Name);

            var comment = new Comment
            {
                Text        = model.Text,
                Datetime    = DateTime.Now,
                CommentType = commentTypeRepository.Get(model.CommentTypeId),
                Cinema      = cinemaRepository.Get(model.CinemaId),
                Movie       = movieRepository.Get(model.MovieId)
            };

            user.Comments.Add(comment);
            var result = await userMgr.UpdateAsync(user);

            if (result.Succeeded)
            {
                var commentDatetime = comment.Datetime.ToString();
                return(Json(new { comment.Id, commentDatetime, model.Text, model.CommentTypeId, model.CinemaId, model.MovieId }));
            }

            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
Example #2
0
        public async Task <ActionResult> Settings(ProfileSettingsViewModel model, HttpPostedFileBase file)
        {
            var user = await userMgr.FindByNameAsync(User.Identity.Name);

            List <CinemaEntity> listCinema = new List <CinemaEntity> {
                new CinemaEntity {
                    Id = 0, Name = "Не вибрано"
                }
            };

            listCinema.AddRange(cinemaRepository.GetAll());
            List <City> listCity = new List <City> {
                new City {
                    Id = 0, Name = "Не вибрано"
                }
            };

            listCity.AddRange(cityRepository.GetAll());
            int userFavoriteCinema = (user.FavotiteCinema == null) ? 0 : user.FavotiteCinema.Id;
            int userCity           = (user.City == null) ? 0 : user.City.Id;

            ViewBag.FavoriteCinemaId = new SelectList(listCinema, "id", "name", userFavoriteCinema);
            ViewBag.CityId           = new SelectList(listCity, "id", "name", userCity);

            if ((file != null && !IsImageOk(file)) || !ModelState.IsValid)
            {
                return(View(model));
            }

            user.FirstName      = model.FirstName;
            user.LastName       = model.LastName;
            user.Birthday       = model.Birthday;
            user.FavotiteCinema = cinemaRepository.Get(model.FavoriteCinemaId);
            user.City           = cityRepository.Get(model.CityId);

            // зберігаю зображення
            if (file != null && IsImageOk(file))
            {
                if (user.PicturePath != null && System.IO.File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, user.PicturePath)))
                {
                    System.IO.File.Delete(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, user.PicturePath));
                }

                var pictureSm = MakeThumbnail(Image.FromStream(file.InputStream), 100, 100);

                string picture_folder      = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Content", "UserData", "Avatar");
                string picture_name        = Guid.NewGuid().ToString() + Path.GetExtension(file.FileName);
                string picture_folder_name = Path.Combine(picture_folder, picture_name);
                pictureSm.Save(picture_folder_name);
                //file.SaveAs(picture_folder_name);
                user.PicturePath = Path.Combine("Content", "UserData", "Avatar", picture_name);
            }

            var result = await userMgr.UpdateAsync(user);

            if (result.Succeeded)
            {
                return(RedirectToAction("Index", "Profile"));
            }

            return(View(model));
        }