Exemplo n.º 1
0
        public ActionResult Create()
        {
            EditVM model = new EditVM();

            model.SubRedditsList = new List <SelectListItem>();
            model.UserId         = AuthManager.LoggedUser.Id;

            SubRedditsRepository subRedditsRepo       = new SubRedditsRepository();
            List <SubReddit>     subscribedSubReddits = subRedditsRepo.GetMySubscribes(AuthManager.LoggedUser.Id).ToList();

            foreach (SubReddit subReddit in subscribedSubReddits)
            {
                model.SubRedditsList.Add(
                    new SelectListItem()
                {
                    Value    = subReddit.Id.ToString(),
                    Text     = "r/" + subReddit.Name,
                    Selected = subReddit.Id == model.SelectedSubReddit,
                    Disabled = (((AuthManager.LoggedUser.BannedInSubReddits.Any(sr => sr.Id == subReddit.Id &&
                                                                                sr.BannedUsers.Any(u => u.Id == AuthManager.LoggedUser.Id))) ||
                                 (AuthManager.LoggedUser.MutedInSubReddits.Any(sr => sr.Id == subReddit.Id &&
                                                                               sr.MutedUsers.Any(u => u.Id == AuthManager.LoggedUser.Id)))))
                                    ? true : false
                });
            }

            return(PartialView("~/Views/Partials/Edits/_CreatePost.cshtml", model));
        }
Exemplo n.º 2
0
        public ActionResult Edit(int id)
        {
            PostsRepository repo = new PostsRepository();
            Post            item = repo.GetById(id);

            EditVM model = new EditVM(item);

            model.SubRedditsList = new List <SelectListItem>();

            SubRedditsRepository subRedditsRepo       = new SubRedditsRepository();
            List <SubReddit>     subscribedSubReddits = subRedditsRepo.GetMySubscribes(AuthManager.LoggedUser.Id).ToList();

            foreach (SubReddit subReddit in subscribedSubReddits)
            {
                if (!(AuthManager.LoggedUser.BannedInSubReddits.Any(sr => sr.BannedUsers.Any(u => u.Id == AuthManager.LoggedUser.Id)) ||
                      AuthManager.LoggedUser.MutedInSubReddits.Any(sr => sr.MutedUsers.Any(u => u.Id == AuthManager.LoggedUser.Id))))
                {
                    model.SubRedditsList.Add(
                        new SelectListItem()
                    {
                        Value    = subReddit.Id.ToString(),
                        Text     = subReddit.Name,
                        Selected = subReddit.Id == model.SelectedSubReddit
                    });
                }
            }

            //model.SubRedditId = model.SelectedSubReddit;

            return(PartialView("~/Views/Partials/Edits/_EditPost.cshtml", model));
        }
Exemplo n.º 3
0
        public ActionResult Edit(EditVM model, FormCollection form)
        {
            if (!ModelState.IsValid)
            {
                return(View("Create"));
            }
            SubRedditsRepository subRedditsRepo = new SubRedditsRepository();
            PostsRepository      postsRepo      = new PostsRepository();

            Post item = new Post();

            if (model.SubRedditId == 0)
            {
                model.SubRedditId = model.SelectedSubReddit;
            }

            if ((Request.Files["image"] != null) && (!String.IsNullOrEmpty(Request.Files["image"].FileName)) && (Request.Files["image"].ContentLength > 0))
            {
                if (FileFormats.Formats.ImageFormats.Contains(Request.Files["image"].FileName.Split('.').Last().ToLower()) ||
                    FileFormats.Formats.VideoFormats.Contains(Request.Files["image"].FileName.Split('.').Last().ToLower()))
                {
                    string file_path = Server.MapPath("~/Content/img/post_images/");
                    Request.Files["image"].SaveAs(file_path + Request.Files["image"].FileName);
                    model.Content = file_path + Request.Files["image"].FileName;
                    model.PopulateEntity(item);
                    postsRepo.Save(item);
                    return(RedirectToAction("Index", "Posts", new { SubRedditId = model.SubRedditId }));
                }
                else
                {
                    ModelState.AddModelError("notSupportedFormat", "This format is not supported :(");

                    model.SubRedditsList = new List <SelectListItem>();

                    List <SubReddit> subscribedSubReddits = subRedditsRepo.GetMySubscribes(AuthManager.LoggedUser.Id).ToList();

                    foreach (SubReddit subReddit in subscribedSubReddits)
                    {
                        if (!(AuthManager.LoggedUser.BannedInSubReddits.Any(sr => sr.BannedUsers.Any(u => u.Id == AuthManager.LoggedUser.Id)) ||
                              AuthManager.LoggedUser.MutedInSubReddits.Any(sr => sr.MutedUsers.Any(u => u.Id == AuthManager.LoggedUser.Id))))
                        {
                            model.SubRedditsList.Add(
                                new SelectListItem()
                            {
                                Value    = subReddit.Id.ToString(),
                                Text     = subReddit.Name,
                                Selected = subReddit.Id == model.SelectedSubReddit
                            });
                        }
                    }
                    return(View("Create", model));
                }
            }

            model.PopulateEntity(item);
            postsRepo.Save(item);

            return(RedirectToAction("Index", "Posts", new { SubRedditId = model.SubRedditId }));

            //return Content("");
        }