Example #1
0
        public IActionResult <UserProfileViewModel> Profile(int id)
        {
            User user = null;

            using (var context = new SimpleMvcDbContext())
            {
                user = context.Users
                       .Include(u => u.Notes)
                       .SingleOrDefault(u => u.Id == id);
            }

            UserProfileViewModel model = new UserProfileViewModel()
            {
                UserId   = user.Id,
                Username = user.Username,
                Notes    = user.Notes
                           .Select(n => new NoteViewModel
                {
                    Title   = n.Title,
                    Content = n.Content
                })
            };

            return(View(model));
        }
Example #2
0
        public IActionResult <AllUsernamesViewModel> All()
        {
            Dictionary <int, string> usersAndIds;

            using (var db = new SimpleMvcDbContext())
            {
                usersAndIds = new Dictionary <int, string>();

                var usersFromDb = db
                                  .Users
                                  .Select(u => new
                {
                    u.Id,
                    u.Username
                });

                foreach (var userFromDb in usersFromDb)
                {
                    usersAndIds[userFromDb.Id] = userFromDb.Username;
                }
            }

            var viewModel = new AllUsernamesViewModel
            {
                UsersWithIds = usersAndIds
            };

            return(this.View(viewModel));
        }
Example #3
0
        public IActionResult Profile(int id)
        {
            using (var db = new SimpleMvcDbContext())
            {
                var user  = db.Users.FirstOrDefault(u => u.Id == id);
                var notes = db.Notes.Where(n => n.UserId == user.Id).ToList();

                var viewModel = new UserProfileViewModel
                {
                    UserId   = user.Id,
                    Username = user.Username,
                    Notes    = notes.Select(
                        n => new NoteViewModel
                    {
                        Title   = n.Title,
                        Content = n.Content
                    })
                };

                this.Model["username"] = string.Join(string.Empty, viewModel.Username);
                this.Model["userId"]   = string.Join(string.Empty, viewModel.UserId);
                this.Model["notes"]    = viewModel.Notes.Any() ?
                                         string.Join(string.Empty, viewModel.Notes.Select(
                                                         n => $"<li>{n.Title} - {n.Content}</li>"))
                    : string.Empty;

                return(View());
            }
        }
        public static void Main(string[] args)
        {
            var server = new WebServer.WebServer(1337, new ControllerRouter());

            var db = new SimpleMvcDbContext();

            db.Database.EnsureCreated();

            MvcEngine.Run(server);
        }
Example #5
0
        public static void Main()
        {
            WebServer server = new WebServer(1337, new ControllerRouter());

            using (SimpleMvcDbContext database = new SimpleMvcDbContext())
            {
                database.Database.Migrate();
            }

            MvcEngine.Run(server);
        }
Example #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Initializing database...");

            using (var context = new SimpleMvcDbContext())
            {
                context.Database.Migrate();
            }

            var server = new WebServer.WebServer(8000, new ControllerRouter());

            MvcEngine.Run(server);
        }
Example #7
0
        public IActionResult <UsersViewModel> All()
        {
            Dictionary <int, string> usersById = new Dictionary <int, string>();

            using (var context = new SimpleMvcDbContext())
            {
                usersById = context.Users.ToDictionary(u => u.Id, u => u.Username);
            }

            var viewModel = new UsersViewModel()
            {
                Users = usersById
            };

            return(View(viewModel));
        }
Example #8
0
        public IActionResult Register(RegisterUserBindingModel registerUserBinding)
        {
            var user = new User()
            {
                Username = registerUserBinding.Username,
                Password = registerUserBinding.Password
            };

            using (var context = new SimpleMvcDbContext())
            {
                context.Users.Add(user);
                context.SaveChanges();
            }

            return(View());
        }
Example #9
0
        public IActionResult Register(RegisterUserBindingModel model)
        {
            var user = new User()
            {
                UserName = model.Username,
                Password = model.Password
            };

            using (var db = new SimpleMvcDbContext())
            {
                db.Users.Add(user);
                db.SaveChanges();
            }

            return(this.View());
        }
Example #10
0
        public IActionResult Profile(AddNoteBindingModel model)
        {
            using (var db = new SimpleMvcDbContext())
            {
                var user = db.Users.Find(model.UserId);
                var note = new Note
                {
                    Title   = model.Title,
                    Content = model.Content,
                };

                user.Notes.Add(note);
                db.SaveChanges();

                return(Profile(model.UserId));
            }
        }
Example #11
0
        public IActionResult <UserProfileViewModel> Profile(AddNoteBindingModel model)
        {
            using (var context = new SimpleMvcDbContext())
            {
                var user = context.Users.Find(model.UserId);
                var note = new Note()
                {
                    Title   = model.Title,
                    Content = model.Content
                };

                user.Notes.Add(note);
                context.SaveChanges();
            }

            return(Profile(model.UserId));
        }
Example #12
0
        public IActionResult Login(LoginUserBindingModel loginUserBinding)
        {
            using (var db = new SimpleMvcDbContext())
            {
                var foundUser = db.Users
                                .FirstOrDefault(u => u.Username == loginUserBinding.Username);

                if (foundUser == null)
                {
                    return(this.RedirectToAction("/users/login"));
                }

                db.SaveChanges();
                this.SignIn(foundUser.Username);
            }

            return(this.RedirectToAction("/home/index"));
        }
        public IActionResult <UserProfileViewModel> Profile(AddNoteBindingModel model)
        {
            using (SimpleMvcDbContext database = new SimpleMvcDbContext())
            {
                User user = database.Users.FirstOrDefault(u => u.Id == model.UserId);

                Note note = new Note
                {
                    Title   = model.Title,
                    Content = model.Content
                };

                user.Notes.Add(note);
                database.SaveChanges();
            }

            return(this.Profile(model.UserId));
        }
        public IActionResult <AllUsersViewModel> All()
        {
            IList <UserViewModel> users = null;

            using (SimpleMvcDbContext database = new SimpleMvcDbContext())
            {
                users = database.Users
                        .Select(u => new UserViewModel
                {
                    UserId   = u.Id,
                    Username = u.Username
                }).ToList();
            }

            AllUsersViewModel model = new AllUsersViewModel
            {
                Users = users
            };

            return(this.View(model));
        }
        public IActionResult <UserProfileViewModel> Profile(int id)
        {
            using (SimpleMvcDbContext database = new SimpleMvcDbContext())
            {
                User user = database.Users.Include(u => u.Notes).FirstOrDefault(u => u.Id == id);

                UserProfileViewModel model = new UserProfileViewModel
                {
                    UserId   = user.Id,
                    Username = user.Username,
                    Notes    = user.Notes
                               .Select(n => new NoteViewModel
                    {
                        Title   = n.Title,
                        Content = n.Content
                    })
                };

                return(this.View(model));
            }
        }
        public IActionResult Register(RegisterUserBindingModel model)
        {
            if (string.IsNullOrEmpty(model.Username) || string.IsNullOrEmpty(model.Password))
            {
                return(this.Register());
            }

            User user = new User
            {
                Username = model.Username,
                Password = model.Password
            };

            using (SimpleMvcDbContext database = new SimpleMvcDbContext())
            {
                database.Users.Add(user);
                database.SaveChanges();
            }

            return(this.View());
        }
Example #17
0
        public IActionResult Register(RegisterUserBindingModel model)
        {
            using (var db = new SimpleMvcDbContext())
            {
                if (db.Users.Any(u => u.Username == model.Username))
                {
                    throw new BadRequestException("Username is already in use.");
                }

                var user = new User
                {
                    Username = model.Username,
                    Password = model.Password
                };


                db.Users.Add(user);
                db.SaveChanges();
            }

            return(this.View());
        }
Example #18
0
        public IActionResult <UserProfileViewModel> Profile(int id)
        {
            using (var db = new SimpleMvcDbContext())
            {
                var user  = db.Users.FirstOrDefault(u => u.Id == id);
                var notes = db.Notes.Where(n => n.UserId == user.Id).ToList();

                var viewModel = new UserProfileViewModel
                {
                    UserId   = user.Id,
                    Username = user.Username,
                    Notes    = notes.Select(
                        n => new NoteViewModel
                    {
                        Title   = n.Title,
                        Content = n.Content
                    })
                };

                return(View(viewModel));
            }
        }
Example #19
0
        public IActionResult All()
        {
            if (!this.User.IsAuthenticated)
            {
                return(this.RedirectToAction("/users/login"));
            }

            Dictionary <int, string> usersAndIds = new Dictionary <int, string>();

            using (var db = new SimpleMvcDbContext())
            {
                usersAndIds = db.Users.ToDictionary(u => u.Id, u => u.Username);
            }

            this.Model["users"] =
                usersAndIds.Any()
                    ? string.Join(string.Empty, usersAndIds.Select(
                                      u => $"<li><a href=\"/users/profile?id={u.Key}\">{u.Value}</a></li>"))
                    : string.Empty;

            return(this.View());
        }
Example #20
0
 private static void InitializeDatabase()
 {
     using (var context = new SimpleMvcDbContext())
     { }
 }