示例#1
0
        public NewPostPage()
        {
            InitializeComponent();

            var dataService = DependencyService.Resolve <IDataRepository>();

            BindingContext = new NewPostVM(dataService);
        }
示例#2
0
        public IActionResult AddPost(string CategoryCode, string headerCode)
        {
            var model = new NewPostVM();

            model.HeaderCode   = headerCode;
            model.CategoryCode = CategoryCode;

            return(View(model));
        }
示例#3
0
        private NewPostVM CreateNewPostVM()
        {
            if (newPostVM == null)
            {
                newPostVM = new NewPostVM(messenger, dbPost, dbGroup, dbUser);
            }

            return(newPostVM);
        }
示例#4
0
        public IActionResult AddPost(NewPostVM model)
        {
            if (ModelState.IsValid)
            {
                if (_headerService.AddNewPost(HttpContext.User, model))
                {
                    return(Redirect(this.Action <HomeController>(nameof(Index), new { categoryCode = model.CategoryCode, headerCode = model.HeaderCode })));
                }
            }

            return(View(model));
        }
示例#5
0
        public async Task <IActionResult> AddPost(NewPostVM model)
        {
            var userId = _userManager.GetUserId(User);
            var user   = await _userManager.FindByIdAsync(userId);

            var post = BuildPost(model, user);

            await _postService.Add(post);

            await _userService.BumpRating(userId, typeof(Post));

            return(RedirectToAction("Index", "Forum", model.ForumId));
        }
示例#6
0
        public IActionResult Edit(int postId)
        {
            var post = _postService.GetById(postId);

            var model = new NewPostVM
            {
                Title       = post.Title,
                Content     = post.Content,
                DateCreated = post.DateCreated,
            };

            return(View(model));
        }
示例#7
0
        public IActionResult Create(int id)
        {
            // note id here is Forum.Id
            var forum = _forumService.GetById(id);

            var model = new NewPostVM
            {
                ForumName     = forum.Title,
                ForumId       = forum.Id,
                AuthorName    = User.Identity.Name,
                ForumImageUrl = forum.Image
            };

            return(View(model));
        }
示例#8
0
        public Post BuildPost(NewPostVM post, ApplicationUser user)
        {
            var now   = DateTime.Now;
            var forum = _forumService.GetById(post.ForumId);

            return(new Post
            {
                Title = post.Title,
                Content = post.Content,
                DateCreated = now,
                Forum = forum,
                User = user,
                IsArchived = false
            });
        }
        public IActionResult Createpost(NewPostVM model)
        {
            if (ModelState.IsValid)
            {
                var userId = _userManager.GetUserId(HttpContext.User);

                Post post = new Post
                {
                    Title    = model.Title,
                    Content  = model.Content,
                    Thumb    = model.Thumb,
                    Category = model.Category,
                    Date     = DateTime.Now,
                    AuthorId = userId
                };

                _service.Post.Create(post);
                _service.Commit();
                return(RedirectToAction("Dashboard"));
            }

            return(View(model));
        }
示例#10
0
        public bool AddNewPost(ClaimsPrincipal contextUser, NewPostVM model)
        {
            var user = _userService.GetUserWithRoles(contextUser);

            var header = _headerRepository.Get(x => x.IdCode == model.HeaderCode);

            if (header != null)
            {
                var post = new Post()
                {
                    Content    = model.Content,
                    HeaderId   = header.Id,
                    UserId     = user.Id,
                    CreateDate = DateTime.Now
                };

                _postService.Add(post);
                _postService.Save();

                return(true);
            }

            return(false);
        }
示例#11
0
 public AddNewPostCommand(NewPostVM viewModel)
 {
     _viewModel = viewModel;
 }