Esempio n. 1
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            Task1Repo.SeedData();
            Task2Repo.SeedData();
            Task3Repo.SeedData();

            app.UseStaticFiles();
            app.UseCookiePolicy();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }
Esempio n. 2
0
        public void Restore(Guid id)
        {
            ToDoList selected = Task3Repo.GetToDo(id);

            if (selected != null)
            {
                selected.Restore();
            }
        }
Esempio n. 3
0
        public void Archive(Guid id)
        {
            ToDoList selected = Task3Repo.GetToDo(id);

            if (selected != null)
            {
                selected.Archive();
            }
        }
Esempio n. 4
0
        public bool IsLoggedIn(string id)
        {
            User user = Task3Repo.GetUser(id);

            if (user == null)
            {
                return(false);
            }

            return(user.IsLoggedIn);
        }
Esempio n. 5
0
        public bool Logout(string id)
        {
            User user = Task3Repo.GetUser(id);

            if (user == null)
            {
                return(false);
            }

            user.IsLoggedIn = false;

            return(true);
        }
Esempio n. 6
0
        public bool RegisterUser(RegisterUserModel model)
        {
            if (Task3Repo.GetUsers().Any(u => u.Username == model.Username))
            {
                return(false);
            }

            string passHash = ComputeSha256Hash(model.Password);

            User newUser = new User(model.Username, passHash);

            Task3Repo.AddUser(newUser);

            return(true);
        }
Esempio n. 7
0
        public void EditToDoList(EditToDoListModel model)
        {
            User currentUser = this.GetCurrentUser();

            if (currentUser.Id != model.UserId)
            {
                throw new ArgumentException("Invalid creator id");
            }

            ToDoList selectedToDo = Task3Repo.GetToDo(model.Id);

            if (selectedToDo == null)
            {
                throw new ArgumentException("No such to-do");
            }

            selectedToDo.EditContent(model.Content);
        }
Esempio n. 8
0
        public User SignIn(string username, string password)
        {
            string passHash = ComputeSha256Hash(password);

            List <User> users = Task3Repo.GetUsers().ToList();

            User user = users.FirstOrDefault(u => u.Username == username && u.PassHash == passHash);

            if (user == null)
            {
                return(null);
            }

            users.ForEach(u => u.IsLoggedIn = false);

            user.IsLoggedIn = true;

            return(user);
        }
Esempio n. 9
0
        public void CreateToDoList(CreateToDoListModel model)
        {
            Guid creatorId;

            if (!Guid.TryParse(model.UserId, out creatorId))
            {
                throw new ArgumentException("Invalid creator id");
            }

            User currentUser = this.GetCurrentUser();

            if (currentUser.Id != creatorId)
            {
                throw new ArgumentException("Invalid creator id");
            }

            ToDoList toDo = new ToDoList(creatorId, model.Content);

            Task3Repo.AddToDo(toDo);
        }
Esempio n. 10
0
 public User GetCurrentUser()
 {
     return(Task3Repo.GetUsers().FirstOrDefault(u => u.IsLoggedIn));
 }
Esempio n. 11
0
 public IReadOnlyCollection <ToDoList> GetArchivedTodoLists(User currentUser)
 {
     return(Task3Repo.GetArchivedToDosForUser(currentUser.Id));
 }
Esempio n. 12
0
 public IReadOnlyCollection <User> GetUsers()
 {
     return(Task3Repo.GetUsers());
 }