Exemplo n.º 1
0
        static void Main(string[] args)
        {
            logger.Info("Program started");
            string userchoice = "";
            var    db         = new BloggingContext();

            try
            {
                do
                {
                    Console.WriteLine("Please type 1 to create a blog, 2 to display all blogs, 3 to post to a blog, or 4 to display posts");
                    userchoice = Console.ReadLine();

                    if (userchoice == "1")
                    {
                        // Create and save a new Blog
                        Console.Write("Enter a name for a new Blog: ");
                        var name = Console.ReadLine();

                        var blog = new Blog {
                            Name = name
                        };
                        // ill need to assign a blogid to the create blog bit of code and then connect it with the add post method

                        db.AddBlog(blog);
                        logger.Info("Blog added - {name}", name);
                    }

                    if (userchoice == "2")
                    {
                        // Display all Blogs from the database
                        var query = db.Blogs.OrderBy(b => b.Name);

                        Console.WriteLine("All blogs in the database:");
                        foreach (var item in query)
                        {
                            Console.WriteLine(item.Name);
                        }
                    }
                    if (userchoice == "3")
                    {
                        Console.WriteLine("Please enter the id of the blog you wish to post to");
                        int bloggerId = int.Parse(Console.ReadLine());
                        Console.WriteLine("What is the title of your post?");
                        var title = Console.ReadLine();
                        Console.WriteLine("Please enter all content of the post");
                        var content = Console.ReadLine();
                        var post    = new Post {
                            Title = title, Content = content, BlogId = bloggerId
                        };
                        db.AddPost(post);
                        db.SaveChanges();
                        // Blog blog23 = db.Blogs.FirstOrDefault(c => c.BlogId == bloggerId);
                        // blog23.Posts.Add(post);
                    }
                    if (userchoice == "4")
                    {
                        Console.WriteLine("Type '1' to display all posts from all blogs, or enter 2 to show posts from a specific blog");
                        int choice = int.Parse(Console.ReadLine());

                        if (choice == 1)
                        {
                            var query = db.Blogs.OrderBy(b => b.BlogId);
                            foreach (var item in query)
                            {
                                Console.WriteLine(item.Name);
                                foreach (Post p in item.Posts)
                                {
                                    Console.WriteLine(p.Title + "\n" + p.Content);
                                }
                            }
                        }
                        else if (choice == 2)
                        {
                            var dbb   = new BloggingContext();
                            var query = db.Blogs.OrderBy(b => b.BlogId);
                            Console.WriteLine("select the blog whose post you would like to see");
                            foreach (var item in query)
                            {
                                Console.WriteLine(item.BlogId + " " + item.Name);
                            }
                            int id = int.Parse(Console.ReadLine());
                            Console.Clear();
                            Blog blog2 = db.Blogs.FirstOrDefault(c => c.BlogId == id);
                            Console.WriteLine(blog2.BlogId + " " + blog2.Name);
                            foreach (Post p in blog2.Posts)
                            {
                                Console.WriteLine(p.Title + "\n" + p.Content);
                            }
                        }
                    }
                }while (userchoice == "1" || userchoice == "2" || userchoice == "3" || userchoice == "4");
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
            }

            logger.Info("Program ended");
        }
Exemplo n.º 2
0
        public static void Main(string[] args)
        {
            logger.Info("Program started");
            try
            {
                var db = new BloggingContext();

                // Ask user for new Blog name
                Console.Write("Enter a name for a new Blog: ");
                var name = Console.ReadLine();

                // save blog
                var newBlog = new Blog {
                    Name = name
                };
                db.Blogs.Add(newBlog);
                db.SaveChanges();
                logger.Info("new blog saved");

                // Show all blogs
                var blogs = db.Blogs;
                Console.WriteLine("Here are all the blogs:");
                foreach (var item in blogs)
                {
                    Console.WriteLine(item.Name);
                }

                // Ask user to select blog
                Console.Write("Enter a Blog name: ");
                var userChoice = Console.ReadLine();
                var blog       = blogs.FirstOrDefault(b => b.Name == userChoice);

                // Ask user to enter post details
                Console.WriteLine("Enter a Post");

                Console.WriteLine("Enter a title");
                var title = Console.ReadLine();

                Console.WriteLine("Enter some content");
                var content = Console.ReadLine();

                // save the post
                var newPost = new Post
                {
                    Title   = title,
                    Content = content,
                    BlogId  = blog.BlogId
                };

                db.Posts.Add(newPost);
                db.SaveChanges();
                logger.Info("new post saved");

                // display the posts
                Console.WriteLine("Here are the posts:");
                foreach (var item in db.Posts)
                {
                    Console.WriteLine($"title: {item.Title}; content: {item.Content}");
                }

                // ask the user to select a post
                Console.Write("Enter a Post name: ");
                var postChoice = Console.ReadLine();
                var post       = db.Posts.FirstOrDefault(p => p.Title == postChoice);

                // edit the existing post
                Console.Write("Enter new post content: ");
                var newContent = Console.ReadLine();
                post.Title = newContent;

                // save the post
                db.SaveChanges();
                logger.Info("posted edited");

                // display the posts again
                Console.WriteLine("Here are the posts again:");
                foreach (var item in db.Posts)
                {
                    Console.WriteLine($"title: {item.Title}; content: {item.Content}");
                }

                // delete a post
                // ask the user to select a post
                Console.Write("Enter a Post name: ");
                var postToDelete = Console.ReadLine();
                var deletePost   = db.Posts.FirstOrDefault(p => p.Title == postToDelete);

                db.Posts.Remove(deletePost);
                db.SaveChanges();
                logger.Info("posted deleted");

                // display the posts one last time
                Console.WriteLine("Here are the posts again:");
                foreach (var item in db.Posts)
                {
                    Console.WriteLine($"title: {item.Title}; content: {item.Content}");
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
            }
            logger.Info("Program ended");
        }
Exemplo n.º 3
0
        public static void Main(string[] args)
        {
            var inProgram = true;

            logger.Info("Program started");
            do
            {
                // Create and save a new Blog
                Console.WriteLine("\nEnter Your Selection:");
                Console.WriteLine("1) Display Blogs");
                Console.WriteLine("2) Add Blog");
                Console.WriteLine("3) Create Post");
                Console.WriteLine("4) Display Posts");
                Console.WriteLine("5) To Exit Program");

                var choice = int.Parse(Console.ReadLine());
                logger.Info("Selection " + choice + " was selected.");

                switch (choice)
                {
                case 1:
                {
                    var db = new BloggingContext();
                    // Display all Blogs from the database
                    var query = db.Blog.OrderBy(b => b.Name);
                    Console.WriteLine(query.Count() + " blogs returned");

                    Console.WriteLine("All blogs in the database:");
                    foreach (var item in query)
                    {
                        Console.WriteLine(item.Name);
                    }
                    db.SaveChanges();

                    break;
                }

                case 2:
                {
                    var nameIsValid = false;
                    do
                    {
                        Console.Write("Enter a name for your new blog");
                        var name = Console.ReadLine();

                        if (name is null)
                        {
                            logger.Info("Name cannot be null");
                        }
                        else
                        {
                            nameIsValid = true;
                            var blog = new Blog {
                                Name = name
                            };

                            var db = new BloggingContext();
                            db.AddBlog(blog);
                            logger.Info("Blog added - {name}", name);
                        }
                    } while (!nameIsValid);

                    break;
                }

                case 3:
                {
                    Console.WriteLine("Select the ID number of the blog you'd like to post to\n");

                    var db = new BloggingContext();
                    // Display all Blogs from the database
                    var query     = db.Blog;
                    var post      = new Post();
                    var validBlog = false;

                    do
                    {
                        Console.WriteLine("All blogs in the database:\n");

                        foreach (var item in query)
                        {
                            Console.WriteLine(item.BlogId + ") " + item.Name);
                        }

                        var blogChoice = 0;

                        try
                        {
                            blogChoice = int.Parse(Console.ReadLine());
                        }
                        catch
                        {
                            logger.Info(blogChoice + "is not a valid integer.");
                        }

                        var blogs = db.Blog.Where(p => p.BlogId == blogChoice);

                        if (blogs.Count() == 0)
                        {
                            logger.Info("\n{choice} is not a valid Blog Id", blogChoice);
                        }
                        else
                        {
                            var title        = "";
                            var titleIsValid = false;
                            do
                            {
                                Console.Write("\nEnter a title for your post");
                                title = Console.ReadLine();

                                if (title is null)
                                {
                                    logger.Info("Name cannot be null");
                                }
                                else
                                {
                                    titleIsValid = true;
                                }
                            } while (!titleIsValid);


                            Console.WriteLine("\nEnter the post content:");
                            var content = Console.ReadLine();

                            post = new Post {
                                Title = title, Content = content, BlogId = blogChoice
                            };
                        }
                    } while (!validBlog);

                    db.AddPost(post);
                    logger.Info("\nPost added to - {name}", post.Blog.Name);
                    break;
                }

                case 4:
                {
                    var db = new BloggingContext();
                    // Display all Blogs from the database
                    var query         = db.Blog;
                    var choiceIsValid = false;

                    do
                    {
                        Console.WriteLine("Select the blog's posts to display:");
                        Console.WriteLine("0) Display all posts");
                        foreach (var item in query)
                        {
                            Console.WriteLine(item.BlogId + ") Display all posts from " + item.Name);
                        }

                        var postChoice = 0;

                        try
                        {
                            postChoice = int.Parse(Console.ReadLine());
                        }
                        catch
                        {
                            logger.Info(postChoice + "is not a valid integer.");
                        }

                        if (postChoice == 0)
                        {
                            var posts = db.Post;
                            Console.WriteLine($"{posts.Count()} post(s) returned");
                            foreach (var p in posts)
                            {
                                Console.WriteLine("Blog: " + p.Blog.Name);
                                Console.WriteLine("Title: " + p.Title);
                                Console.WriteLine("Content: " + p.Content);
                            }
                            choiceIsValid = true;
                        }
                        else
                        {
                            if (db.Blog.Where(p => p.BlogId == postChoice).Count() == 0)
                            {
                                logger.Info("\n{choice} is not a valid Blog Id", postChoice);
                            }
                            else
                            {
                                var posts = db.Post.Where(p => p.BlogId == postChoice);
                                Console.WriteLine($"{posts.Count()} post(s) returned");
                                foreach (var p in posts)
                                {
                                    Console.WriteLine("Title: " + p.Title);
                                    Console.WriteLine("Content: " + p.Content);
                                }
                                choiceIsValid = true;
                            }
                        }
                    } while (!choiceIsValid);

                    db.SaveChanges();

                    break;
                }

                case 5:
                {
                    Console.WriteLine("Are you sure you'd like to exit the program? (Y/N)");

                    var exitChoice = Console.ReadLine().ToUpper();
                    if (exitChoice == "Y")
                    {
                        inProgram = false;
                    }
                    break;
                }

                default:
                {
                    break;
                }
                }
            } while (inProgram);
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            string response = "";
            string name     = "";
            int    rating;
            int    id;
            string content = "";
            string title   = "";
            bool   isValid = true;

            logger.Info("Program started");

            try
            {
                do
                {
                    System.Console.WriteLine("\nEnter your selection: \n1) Display all Blogs \n2) Add a Blog \n3) Display Posts \n4) Create a Post \nEnter any other to key to quit");
                    response = Console.ReadLine();

                    if (response == "1")
                    {
                        // Displaying Blog
                        using (var db = new BloggingContext())
                        {
                            foreach (var blog in db.Blogs)
                            {
                                System.Console.WriteLine("\nName:" + blog.Url + " \nRating:" + blog.Rating);
                            }
                        }
                    }
                    else if (response == "2")
                    {
                        System.Console.WriteLine("What is the name of the Blog?");
                        name = Console.ReadLine();

                        System.Console.WriteLine("What rating would you give the Blog? (1-5)");
                        try
                        {
                            rating = Int32.Parse(Console.ReadLine());
                        }
                        catch (Exception ex)
                        {
                            logger.Error(ex.Message);
                            throw new Exception("Please input a valid response!");
                        }

                        using (var db = new BloggingContext())
                        {
                            var blog = new Blog()
                            {
                                Url    = name,
                                Rating = rating
                            };
                            db.Blogs.Add(blog);
                            db.SaveChanges();
                        }
                    }
                    else if (response == "3")
                    {
                        System.Console.WriteLine("Which blog would you like to see the Posts of? (BlogId)");

                        using (var db = new BloggingContext())
                        {
                            foreach (var blog in db.Blogs)
                            {
                                System.Console.WriteLine("\nBlog ID: " + blog.BlogId + " Name: " + blog.Url);
                            }

                            try
                            {
                                id = Int32.Parse(Console.ReadLine());
                            }
                            catch (Exception ex)
                            {
                                logger.Error(ex.Message);
                                throw new Exception("Please input a valid response!");
                            }


                            var blogs = db.Blogs
                                        .Include(b => b.Posts).ToList();

                            foreach (var blog in blogs)
                            {
                                blog.Posts.Where(x => x.BlogId.Equals(id))
                                .ToList()
                                .ForEach(x =>
                                {
                                    if (id == x.BlogId)
                                    {
                                        System.Console.WriteLine($"({x.PostId}) {x.Title}");
                                    }
                                });
                            }
                        }
                    }
                    else if (response == "4")
                    {
                        System.Console.WriteLine("Which Blog would you like to create a Post for?(BlogId)");
                        using (var db = new BloggingContext())
                        {
                            foreach (var blog in db.Blogs)
                            {
                                System.Console.WriteLine("\nBlog ID: " + blog.BlogId + " Name: " + blog.Url);
                            }

                            try
                            {
                                id = Int32.Parse(Console.ReadLine());
                            }
                            catch (Exception ex)
                            {
                                logger.Error(ex.Message);
                                throw new Exception("Please input a valid response!");
                            }

                            System.Console.WriteLine("Enter a Title for your post");
                            title = Console.ReadLine();

                            System.Console.WriteLine("Please Enter your Posts Contents");
                            content = Console.ReadLine();

                            var post = new Post()
                            {
                                BlogId  = id,
                                Content = content,
                                Title   = title
                            };
                            db.Posts.Add(post);
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        System.Console.WriteLine("Thank you for using our services");
                        isValid = false;
                    }
                } while (isValid);

                // // Create and save a new Blog
                // Console.Write("Enter a name for a new Blog: ");
                // var name = Console.ReadLine();

                // var blog = new Blog { Name = name };

                // var db = new BloggingContext();
                // db.AddBlog(blog);
                // logger.Info("Blog added - {name}", name);

                // // Display all Blogs from the database
                // var query = db.Blogs.OrderBy(b => b.Name);

                // Console.WriteLine("All blogs in the database:");
                // foreach (var item in query)
                // {
                //     Console.WriteLine(item.Name);
                // }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
            }

            logger.Info("Program ended");
        }
Exemplo n.º 5
0
        public static void Main(string[] args)
        {
            //logger.Info("Program started");
            //try
            //{

            bool inProgram = true;

            do
            {
                Console.WriteLine("Enter your selection: ");
                Console.WriteLine("1) Display all Blogs");
                Console.WriteLine("2) Add Blog");
                Console.WriteLine("3) Edit Blog");
                Console.WriteLine("4) Delete Blog");
                Console.WriteLine("5) Create Post");
                Console.WriteLine("6) Display Posts");
                Console.WriteLine("7) Edit Post");
                Console.WriteLine("8) Delete Post");
                Console.WriteLine("Enter q to quit");
                string response = Console.ReadLine();

                switch (response)
                {
                case "1":
                {
                    var db = new BloggingContext();
                    db.DisplayBlogs();
                    db.SaveChanges();
                    break;
                }

                case "2":
                {
                    var db = new BloggingContext();
                    db.AddBlogs();
                    db.SaveChanges();
                    break;
                }

                case "3":
                {
                    var db = new BloggingContext();
                    db.EditBlog();
                    db.SaveChanges();
                    break;
                }

                case "4":
                {
                    var db = new BloggingContext();
                    db.DeleteBlog();
                    db.SaveChanges();
                    break;
                }

                case "5":
                {
                    var db = new BloggingContext();
                    db.CreatePost();
                    db.SaveChanges();
                    break;
                }

                case "6":
                {
                    var db = new BloggingContext();
                    db.DisplayPosts();
                    db.SaveChanges();
                    break;
                }

                case "7":
                {
                    var db = new BloggingContext();
                    db.EditPost();
                    db.SaveChanges();
                    break;
                }

                case "8":
                {
                    var db = new BloggingContext();
                    db.DeletePost();
                    db.SaveChanges();
                    break;
                }

                case "q":
                {
                    inProgram = false;
                    break;
                }
                }
            } while (inProgram);



            //    // Display all Blogs from the database
            //    var query = db.Blogs.OrderBy(b => b.Name);

            //    Console.WriteLine("All blogs in the database:");
            //    foreach (var item in query)
            //    {
            //        Console.WriteLine(item.Name);
            //    }
        }
Exemplo n.º 6
0
        public void selectOption()
        {
beginning:
            string select = "";

            select = Console.ReadLine();
            switch (select)
            {
            case "1":     // DISPLAY BLOGS
                var orderQueryName = db.Blogs.OrderBy(b => b.Name);
                Console.WriteLine("All blogs in the database:");
                foreach (var item in orderQueryName)
                {
                    Console.WriteLine(item.Name);
                }
                startUp();
                goto beginning;

            case "2":     // ADD BLOG
tryAgain:
                Console.Write("Enter a name for a new Blog: ");
                var name = Console.ReadLine();
                if (String.IsNullOrEmpty(name))
                {
                    goto tryAgain;
                }
                var blog = new Blog {
                    Name = name
                };
                db.AddBlog(blog);
                logger.Info("Blog added - {name}", name);
                startUp();
                goto beginning;

            case "3":     // DISPLAY POSTS

                int blogIdL = selectBlog();

                using (var context = new BloggingContext())
                {
                    var blogs = context.Blogs
                                .FromSqlInterpolated($"SELECT * FROM dbo.Blogs Where BlogId = ({blogIdL})").ToList();

                    Console.ForegroundColor = ConsoleColor.DarkRed;
                    foreach (Blog blogName in blogs)
                    {
                        System.Console.WriteLine($"Blog: " + blogName.Name);
                    }
                    Console.ForegroundColor = ConsoleColor.White;
                }

                using (var context = new BloggingContext())
                {
                    var posts = context.Posts
                                .FromSqlInterpolated($"SELECT * FROM dbo.Posts Where BlogId = ({blogIdL})").ToList();
                    foreach (Post post in posts)
                    {
                        System.Console.WriteLine($"Title: " + post.Title + "\tContent: " + post.Content);
                    }
                }



                startUp();
                goto beginning;

            case "4":      // ADD POST
                int workingBlogId = selectBlog();
oppsNoTitle:
                Console.Write("Enter a title for the new Post: ");
                var title = Console.ReadLine();
                if (String.IsNullOrEmpty(title))
                {
                    goto oppsNoTitle;
                }

                Console.Write("Enter content for the new Post: ");
                var content = Console.ReadLine();
                using (var db = new BloggingContext())
                {
                    var post = new Post()
                    {
                        BlogId  = workingBlogId,
                        Content = content,
                        Title   = title
                    };
                    db.Posts.Add(post);
                    db.SaveChanges();
                }
                logger.Info("Post added!");
                startUp();
                goto beginning;

            case "q":
                Console.WriteLine("Quit");
                db.QuitProgram();
                break;

            default:
                Console.WriteLine("Wrong input try again");
                startUp();
                goto beginning;
            }
        }