private List <NoteCategory> mapStringCategoriesToNoteCategory(NotesDbContext context,
                                                                      List <string> stringCategories,
                                                                      Note note)
        {
            List <NoteCategory> noteCategories = new List <NoteCategory> ();

            foreach (string stringCategory in stringCategories)
            {
                var category = context.Categories.FirstOrDefault(it => it.Title == stringCategory);

                if (category == null)
                {
                    category = new Category {
                        Title = stringCategory
                    };
                    context.Categories.Add(category);
                }

                noteCategories.Add(new NoteCategory {
                    Note = note, Category = category
                });
            }

            return(noteCategories);
        }
Beispiel #2
0
 public User ById(int id)
 {
     using (var db = new NotesDbContext())
     {
         return(db.Users.FirstOrDefault(u => u.Id == id));
     }
 }
Beispiel #3
0
 public IEnumerable <Note> GetNotes(int id)
 {
     using (var db = new NotesDbContext())
     {
         return(db.Notes.Where(n => n.OwnerId == id).ToList());
     }
 }
Beispiel #4
0
        public IActionResult Profile(int id)
        {
            if (!this.User.IsAuthenticated)
            {
                return(RedirectToAction("/users/login"));
            }

            //this.Model["error"] = string.Empty;
            this.Model["username"] = this.User.Name;
            this.Model["userid"]   = id.ToString();

            using (var db = new NotesDbContext())
            {
                var notes = db
                            .Notes
                            .Where(n => n.UserId == id)
                            .ToList();

                this.Model["notes"] = string.Join(
                    string.Empty,
                    notes.Select(u => $"<li>{u.Title}: {u.Content}</li>"));
            }

            return(View());
        }
Beispiel #5
0
 public SqliteDataProvider()
 {
     using (NotesDbContext notescontext = new NotesDbContext())
     {
         notescontext.Database.Migrate();
     }
 }
Beispiel #6
0
 public bool Exist(string username)
 {
     using (var ctx = new NotesDbContext())
     {
         return(ctx.Users.Any(u => u.Username == username));
     }
 }
        public IActionResult <AllUsernamesViewModel> All()
        {
            // Get users from db
            List <UsernameViewModel> usernames = null;

            using (var context = new NotesDbContext())
            {
                usernames = context
                            .Users
                            .Select(u => new UsernameViewModel
                {
                    UserId   = u.Id,
                    Username = u.Username
                })
                            .ToList();
            }

            // Create view model
            var allUsernamesViewModel = new AllUsernamesViewModel
            {
                UsernamesWithIds = usernames
            };

            return(View(allUsernamesViewModel));
        }
Beispiel #8
0
        public IActionResult Profile()
        {
            int id = int.Parse(this.Request.UrlParameters["id"]);

            User user = null;

            using (var context = new NotesDbContext())
            {
                user = context.Users.FirstOrDefault(u => u.Id == id);


                if (user == null)
                {
                    this.ViewModel["username"] = "******";
                    this.ViewModel["message"]  = "";
                    return(View());
                }


                this.ViewModel["username"] = user.Username.ToString();
                this.ViewModel["message"]  = "";
                this.ViewModel["userId"]   = user.Id.ToString();

                var notes = context.Notes.Where(n => n.OwnerId == user.Id).ToArray();

                this.ViewModel["notes"] = notes.Any()
                ? string.Join(string.Empty, notes
                              .Select(u => $"<li><a href=\"/users/note?id={u.Id}\">{u.Title}</a>  -  {u.Content}</li>"))
                    : $"<p>No notes for this user !</p>";
            }
            return(View());
        }
Beispiel #9
0
        public IActionResult Login(LoginUserBindingModel loginUserBindingModel)
        {
            if (loginUserBindingModel.Username == "" || loginUserBindingModel.Password == "")
            {
                this.ViewModel["message"] = "Empty input fields !";
                return(View());
            }

            using (var context = new NotesDbContext())
            {
                var foundUser = context
                                .Users
                                .FirstOrDefault(u => u.Username == loginUserBindingModel.Username &&
                                                u.Password == PasswordUtilities.GenerateHash256(loginUserBindingModel.Password));

                if (foundUser == null)
                {
                    this.ViewModel["message"] = "Invalid Username or password !";
                    return(View());
                }

                //we add it to the session storage
                context.SaveChanges();
                this.SignIn(foundUser.Username);
            }

            return(Redirect("/home/index"));
        }
 public HomePageDataController(NotesDbContext db,
                               UserManager <IdentityUser> userManager
                               )
 {
     _db          = db;
     _userManager = userManager;
 }
Beispiel #11
0
        public IActionResult Profile(int id)
        {
            using (var context = new NotesDbContext())
            {
                var user = context.Users
                           .FirstOrDefault(u => u.Id == id);

                this.Model["notes"] = string.Join(Environment.NewLine, user.Notes.Select(n => $"<li>{n.Title}</li>"));
            }

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

            return(this.View());
        }
Beispiel #12
0
 public MyAccessController(NotesDbContext db,
                           UserManager <IdentityUser> userManager
                           )
 {
     _db          = db;
     _userManager = userManager;
 }
 public void Initialize()
 {
     using (var db = new NotesDbContext())
     {
         db.Database.Migrate();
     }
 }
 public EnterAndDisplayController(NotesDbContext db,
                                  UserManager <IdentityUser> userManager
                                  )
 {
     _db          = db;
     _userManager = userManager;
 }
Beispiel #15
0
        public IActionResult Register(RegisterBindingModel model)
        {
            if (!this.IsValidModel(model))
            {
                return(this.View());
            }
            using (var db = new NotesDbContext())
            {
                if (db.Users.Any(u => u.Username == model.Username))
                {
                    throw new ArgumentException("Username already taken!");
                }

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

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

            return(this.View());
        }
Beispiel #16
0
        public IActionResult All()
        {
            // Authenticate user
            if (!this.User.IsAuthenticated)
            {
                return(Redirect(LoginPath));
            }

            using (var context = new NotesDbContext())
            {
                // Get users from db
                var users = context
                            .Users
                            .Select(u => new
                {
                    Id       = u.Id,
                    Username = u.Username
                })
                            .ToList();

                // Get users view data
                this.ViewModel["users"] =
                    users.Any()
                    ? string.Join(string.Empty,
                                  users.Select(u => $"<li><a href=\"/users/profile?id={u.Id}\">{u.Username}</a></li>"))
                    : string.Empty;
            }

            return(View());
        }
Beispiel #17
0
        public IActionResult Profile(int id)
        {
            string username = null;

            using (var db = new NotesDbContext())
            {
                var user = db.Users
                           .Where(u => u.Id == id)
                           .Select(u => new
                {
                    u.Username,
                    Notes = u.Notes.ToList()
                })
                           .SingleOrDefault();

                if (user == null)
                {
                    throw new ArgumentException("User doesn't exist!");
                }

                this.Model["username"] = user.Username;
                this.Model["userid"]   = id.ToString();

                var notes = user.Notes.ToList();


                this.Model["users"] = notes.Any()
                    ? string.Join(string.Empty,
                                  notes.Select(n => $@"<li>{n.Title} - {n.Content}</li>"))
                    : string.Empty;

                return(this.View());
            }
        }
Beispiel #18
0
        public IActionResult Profile(AddNoteBindingModel model)
        {
            // Validate model
            if (!this.IsValidModel(model))
            {
                return(View());
            }

            using (var context = new NotesDbContext())
            {
                // Check if user exists
                var foundUser = context.Users.Any(u => u.Id == model.UserId);
                if (!foundUser)
                {
                    return(Redirect(UsersAllPath));
                }

                // Add note to db
                var note = new Note
                {
                    Title   = model.Title,
                    Content = model.Content,
                    OwnerId = model.UserId
                };

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

            return(Profile(model.UserId));
        }
 public SequencerController(NotesDbContext db,
                            UserManager <IdentityUser> userManager
                            )
 {
     _db          = db;
     _userManager = userManager;
 }
Beispiel #20
0
        public IActionResult Register(RegisterUserBindingModel model)
        {
            // Validate model
            if (!this.IsValidModel(model))
            {
                return(View());
            }

            // Add user to db
            using (var context = new NotesDbContext())
            {
                var user = new User
                {
                    Username = model.Username,
                    Password = model.Password
                };

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

            // SignIn user
            this.SignIn(model.Username);

            return(Redirect(HomePath));
        }
        public IActionResult <UserProfileViewModel> Profile(int id)
        {
            // Get data from db
            UserProfileViewModel userViewModel = null;

            using (var context = new NotesDbContext())
            {
                userViewModel = context
                                .Users
                                .Where(u => u.Id == id)
                                .Select(u => new UserProfileViewModel
                {
                    UserId   = u.Id,
                    Username = u.Username,
                    Notes    = u.Notes
                               .Select(n => new NoteViewModel
                    {
                        Title   = n.Title,
                        Content = n.Content
                    })
                               .ToList()
                })
                                .FirstOrDefault();
            }

            return(View(userViewModel));
        }
Beispiel #22
0
        public IActionResult Login(LoginUserBindingModel model)
        {
            // Validate model
            if (!this.IsValidModel(model))
            {
                return(View());
            }

            // Validate user credentials
            using (var context = new NotesDbContext())
            {
                var foundUser = context.Users
                                .Any(u => u.Username == model.Username &&
                                     u.Password == model.Password);

                if (!foundUser)
                {
                    return(Redirect(LoginPath));
                }
            }

            // SignIn user
            this.SignIn(model.Username);

            return(Redirect(HomePath));
        }
Beispiel #23
0
        public IActionResult All()
        {
            if (!this.User.IsAuthenticated)
            {
                return(RedirectToAction("/users/login"));
            }

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

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

            this.Model["users"] = string.Empty;

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

            return(View());
        }
 public SubscriptionController(NotesDbContext db,
                               UserManager <IdentityUser> userManager
                               )
 {
     _db          = db;
     _userManager = userManager;
 }
 public NoteIndexController(NotesDbContext db,
                            UserManager <IdentityUser> userManager
                            )
 {
     _db          = db;
     _userManager = userManager;
 }
 public NoteFileAdminStdController(NotesDbContext db,
                                   UserManager <IdentityUser> userManager
                                   )
 {
     _db          = db;
     _userManager = userManager;
 }
 public ApiLoginController(UserManager <IdentityUser> userManager,
                           SignInManager <IdentityUser> signInManager, NotesDbContext context)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _context       = context;
 }
 public SQLFilesController(
     UserManager <IdentityUser> userManager,
     SignInManager <IdentityUser> signInManager,
     NotesDbContext sqlcontext) : base(userManager, signInManager, sqlcontext)
 {
     _sqlcontext = sqlcontext;
 }
Beispiel #29
0
 public ForwardController(NotesDbContext db,
                          UserManager <IdentityUser> userManager
                          )
 {
     _db          = db;
     _userManager = userManager;
 }
        public string Render()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("<a href=\"/home/index\">Back Home</a>");
            sb.AppendLine("<h3> All Users </h3>");
            sb.AppendLine("<ul>");

            using (var context = new NotesDbContext())
            {
                var users = context.Users.ToList();

                foreach (var username in Model.Usernames)
                {
                    int userId = users
                                 .FirstOrDefault(u => u.Username == username)
                                 .Id;

                    sb.AppendLine($"<li><a href=\"/users/profile?id={userId}\">{username}</a></li>");
                }
            }

            sb.AppendLine("</ul>");
            return(sb.ToString());
        }
        public void TestMethod1()
        {
            using (var conn = new SqlCeConnection(CONNECTION_STRING))
            {
                var dbContext = new NotesDbContext(conn.ConnectionString);
                var target = new NotesManagerService(new EfUnitOfWork(dbContext));
                target.Save(new Note() {Title = "Test"});

                var notes = target.GetNotes().ToList();

                Assert.AreEqual(1, notes.Count());
            }
        }