public ActionResult AddPost(Post model, HttpPostedFileBase imageData)
        {
            if (!ModelState.IsValid)
            {
                var posts1 = dBContext.Posts.OrderByDescending(c => c.Id).ToList();
                ViewBag.Posts = posts1;

                return(View("Index", model));
            }


            if (imageData == null && model.Text == null)
            {
                ModelState.AddModelError(string.Empty, "Не загружено изображение или отсутствует текст");
                var posts1 = dBContext.Posts.OrderByDescending(c => c.Id).ToList();
                ViewBag.Posts = posts1;
                return(View("Index", model));
            }

            model.PublishDate = DateTime.Now;


            if (imageData != null)
            {
                if (!ImageFormatHelper.IsJpg(imageData))
                {
                    ModelState.AddModelError(string.Empty, "Загруженное изображение не картинка формата JPG");
                    var postsdb = dBContext.Posts.OrderByDescending(c => c.Id).ToList();
                    ViewBag.Posts = postsdb;
                    return(View("Index", model));
                }

                model.Photo = ImageSaveHelper.SaveImage(imageData);
            }

            var userId   = Convert.ToInt32(Session["UserId"]);
            var userInDb = dBContext.Users.FirstOrDefault(c => c.Id == userId);

            if (userInDb == null)
            {
                TempData["errorMessage"] = "Время сессии истекло. Авторизуйетсь повторно!";
                return(RedirectToAction("Index", "Home"));
            }

            model.Author = userInDb;

            dBContext.Posts.Add(model);
            dBContext.SaveChanges();
            var posts = dBContext.Posts.OrderByDescending(c => c.Id).ToList();

            ViewBag.Posts = posts;


            ModelState.Clear();
            return(View("Index"));
        }
예제 #2
0
        public ActionResult Register(User model, HttpPostedFileBase imageData)
        {
            if (ModelState.IsValid)
            {
                //регистрация
                if (model.Password != model.PasswordConfirm)
                {
                    ModelState.AddModelError(string.Empty, "Введенные пароли не совпадают!");
                    return(View("Index", model));
                }

                var userInDb = dBContext.Users.FirstOrDefault(c => c.Nickname == model.Nickname);
                if (userInDb != null)
                {
                    ModelState.AddModelError(string.Empty, "Пользователь с таким псевдонимом уже существует!");
                    return(View("Index", model));
                }

                var userEmailInDb = dBContext.Users.FirstOrDefault(c => c.Email == model.Email);
                if (userEmailInDb != null)
                {
                    ModelState.AddModelError(string.Empty, "Данный адрес электронной почты уже использован!");
                    return(View("Index", model));
                }


                if (imageData != null)
                {
                    if (!ImageFormatHelper.IsJpg(imageData))
                    {
                        ModelState.AddModelError(string.Empty, "Загруженное изображение не картинка формата JPG");
                        return(View("Index", model));
                    }

                    model.Photo = ImageSaveHelper.SaveImage(imageData);
                }

                dBContext.Users.Add(model);
                dBContext.SaveChanges();

                FormsAuthentication.SetAuthCookie(model.Nickname, false);
                Session["UserId"]   = model.Id.ToString();
                Session["Nickname"] = model.Nickname;
                // Session["Photo"] = userInDb.Photo.ToString();
                Session["Photo"] = ImageUrlHelper.GetUrl(model.Photo);

                return(RedirectToAction("Index", "Feed"));
            }

            return(View("Index", model));
        }
        public ActionResult Register(User model, HttpPostedFileBase imageData)
        {
            if (ModelState.IsValid)
            {
                if (model.Password != model.PasswordConfirm)
                {
                    ModelState.AddModelError(string.Empty, "Пароли не совпадают");
                    return(View("Index", model));
                }
                var userInDb = dBContext.Users.FirstOrDefault(c => c.Nickname == model.Nickname);
                if (userInDb != null)
                {
                    ModelState.AddModelError(string.Empty, "Такой псевдоним уже занят");
                    return(View("Index", model));
                }
                userInDb = null;
                userInDb = dBContext.Users.FirstOrDefault(c => c.Email == model.Email);
                if (userInDb != null)
                {
                    ModelState.AddModelError(string.Empty, "Такая почта уже зарегистрированна");
                    return(View("Index", model));
                }
                if (imageData != null)
                {
                    if (!ImageFormatHelper.IsJpg(imageData))
                    {
                        ModelState.AddModelError(string.Empty, "Загруженное изображение не jpeg");
                        return(View("Index", model));
                    }
                    model.Photo = ImageSaveHelper.SaveImage(imageData);
                }
                dBContext.Users.Add(model);
                dBContext.SaveChanges();

                FormsAuthentication.SetAuthCookie(model.Nickname, false);
                Session["UserId"]   = model.Id.ToString();
                Session["Nickname"] = model.Nickname.ToString();
                Session["Photo"]    = ImageUrlHelper.GetUrl(model.Photo);

                return(RedirectToAction("Index", "Feed"));
            }
            return(View("Index", model));
        }