Пример #1
0
        public static bool TrysavePost(PostViewModel postView)
        {
            bool emptyCategory = string.IsNullOrWhiteSpace(postView.Category);
            bool emptytitle    = string.IsNullOrWhiteSpace(postView.Title);
            bool emptyContent  = !postView.Content.Any();

            if (emptyCategory || emptyContent || emptytitle)
            {
                return(false);
            }
            ForumData forumData = new ForumData();
            Category  category  = EnsureCategory(postView, forumData);

            var postId  = forumData.Posts.LastOrDefault()?.Id + 1 ?? 1;
            var author  = UserServices.GetUser(postView.Author, forumData);
            var content = string.Join("", postView.Content);
            var post    = new Post(postId, postView.Title, content, category.Id, author.Id, new List <int>());

            forumData.Posts.Add(post);
            category.PostsIds.Add(postId);
            author.PostIds.Add(postId);
            forumData.SaveChenges();

            postView.PostId = postId;

            return(true);
        }
Пример #2
0
        public static SignUpStatus TrySignUpUser(string username, string password)
        {
            var validUsername = !string.IsNullOrWhiteSpace(username) && username.Length > 3;
            var validPassword = !string.IsNullOrWhiteSpace(password) && password.Length > 3;

            if (!validPassword || !validUsername)
            {
                return(SignUpStatus.DetailsError);
            }
            var forumData = new ForumData();

            var userAlreadyExist = forumData.Users.Any(u => u.Username == username);

            if (!userAlreadyExist)
            {
                //Create user
                var id   = forumData.Users.LastOrDefault()?.Id + 1 ?? 1;
                var user = new User(id, username, password, new List <int>());
                forumData.Users.Add(user);
                forumData.SaveChenges();

                return(SignUpStatus.Success);
            }
            return(SignUpStatus.UsernameTakenError);
        }
Пример #3
0
        public static bool TrySaveReply(ReplyViewModel replyView, int postId)
        {
            if (!replyView.Content.Any())
            {
                ForumData forumData = new ForumData();

                var author  = UserServices.GetUser(replyView.Author, forumData);
                var post    = forumData.Posts.Single(p => p.Id == postId);
                var replyId = forumData.Replies.LastOrDefault()?.Id + 1 ?? 1;
                var content = string.Join("", replyView.Content);
                var reply   = new Reply(replyId, content, author.Id, postId);

                forumData.Replies.Add(reply);
                post.ReplyIds.Add(replyId);
                forumData.SaveChenges();

                return(true);
            }
            return(false);
        }