public ActionResult AddPost(Post model, HttpPostedFileBase imageData) { if (!ModelState.IsValid) { var postsN = dbContext.Posts.OrderByDescending(c => c.Id).ToList(); ViewBag.Posts = postsN; return(View("Index", model)); } if (imageData == null && model.Text == null) { ModelState.AddModelError(string.Empty, "Не загружено ни изображение, ни текст"); var postsN = dbContext.Posts.OrderByDescending(c => c.Id).ToList(); ViewBag.Posts = postsN; return(View("Index", model)); } model.PubishDate = 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")); }
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 emailIndb = dbContext.Users.FirstOrDefault(c => c.Email == model.Email); if (emailIndb != 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"] = 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)); } //проверка для почты 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"] = ImageUrlHelper.GetUrl(model.Photo); return(RedirectToAction("Index", "Feed")); // переход на ленту } return(View("Index", model)); }