Пример #1
0
 private static void InitializeDatabase()
 {
     using (var db = new SimpleAppDb())
     {
         db.Database.Migrate();
     }
 }
Пример #2
0
        public IActionResult Login(LoginUserBindingModel model)
        {
            using (var db = new SimpleAppDb())
            {
                var foundUser = db.Users.FirstOrDefault(u => u.Username == model.Username);

                if (foundUser == null)
                {
                    return(RedirectToAction("/home/login"));
                }

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

            return(RedirectToAction("home/index"));
        }
Пример #3
0
        public IActionResult All()
        {
            if (!this.User.IsAuthenticated)
            {
                return(RedirectToAction("/users/login"));
            }

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

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

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

            return(View());
        }
Пример #4
0
        public IActionResult Register(RegisterUserBindingModel model)
        {
            if (!this.IsValidModel(model))
            {
                return(View());
            }

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

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

            return(View());
        }
Пример #5
0
        public IActionResult Profile(int id)
        {
            if (!this.User.IsAuthenticated)
            {
                return(RedirectToAction("/users/login"));
            }

            using (var db = new SimpleAppDb())
            {
                var currentUser      = db.Users.Include(u => u.Notes).FirstOrDefault(u => u.Id == id);
                var currentUserNotes = currentUser.Notes.ToList();

                this.Model["username"] = currentUser.Username;
                this.Model["userid"]   = currentUser.Id.ToString();
                this.Model["notes"]    =
                    currentUserNotes.Any()
                    ? string.Join(string.Empty, currentUserNotes.Select(n => $"<li><strong>{n.Title}</strong> {n.Content}</li>"))
                    : "No Notes";
            }

            return(View());
        }
Пример #6
0
        public IActionResult Profile(AddNoteBindingModel model)
        {
            if (!this.IsValidModel(model))
            {
                return(View());
            }

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

            using (var db = new SimpleAppDb())
            {
                db.Notes.Add(note);
                db.SaveChanges();
            }

            return(this.Profile(model.UserId));
        }