public IActionResult InviteUserToFamily(int userId, int familyId, int invited_by) { Invite invite = new Invite() { FamilyId = familyId, Invitee = userId, InvitedBy = new User() { Id = invited_by } }; if (userDAL.GetUser(userId).FamilyId == 0) { if (userDAL.InviteUserToFamily(invite)) { //todo: Email user when they receive an invite emailProvider.Invite(userDAL.GetUser(userId), userDAL.GetUser(invited_by), familyDAL.GetFamily(familyId)); return(Ok()); } else { return(StatusCode(500)); } } else { return(StatusCode(500)); } }
public ActionResult NewUser(NewUserViewModel model) { if (IsAuthenticated) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { var currentUser = usersDAL.GetUser(model.Username); if (currentUser != null) { ModelState.AddModelError("Username", "This username is unavailable."); return(View("newUser", model)); } var hashProvider = new HashProvider(); var hashedPassword = hashProvider.HashPassword(model.Password); var salt = hashProvider.SaltValue; var newUser = new UserModel { Username = model.Username, Password = hashedPassword, Salt = salt }; usersDAL.RegisterNewUser(newUser); LogUserIn(model.Username); return(RedirectToAction("Index", "Home")); } return(View("NewUser", model)); }
public ActionResult ReadingList() { UserModel user = usersDAL.GetUser(base.CurrentUser); List <ReadingListModel> readingList = readingListDAL.GetReadingList(user.UserID); MyEchoBooksViewModel model = new MyEchoBooksViewModel(); model.ReadingList = readingList; model.CurrentUser = user; return(View("ReadingList", model)); }
/// <summary> /// Signs the user in and saves their email in session. /// </summary> /// <param name="email"></param> /// <param name="password"></param> /// <returns></returns> public bool SignIn(string email, string password) { var user = userDAL.GetUser(email); var hashProvider = new HashProvider(); if (user != null && hashProvider.VerifyPasswordMatch(user.Password, password, user.Salt)) { Session.SetString(SessionKey, user.Email); return(true); } return(false); }
// GET: Forum public ActionResult ViewPosts(int threadID) { List <PostModel> list = new List <PostModel>(); PostResultsViewModel model = new PostResultsViewModel(); ThreadModel thread = forumDAL.GetThreadByThreadID(threadID); model.SelectedThread = thread; list = forumDAL.GetAllPosts(threadID); model.AllPostsInThread = list; UserModel user = usersDAL.GetUser(base.CurrentUser); PostModel newPost = new PostModel(); model.NewPost = newPost; model.NewPost.UserID = user.UserID; model.NewPost.ThreadID = thread.ThreadID; return(View("ViewPosts", model)); }
public IActionResult Register(RegisterViewModel rvm) { if (ModelState.IsValid && !userDAL.DoesEmailAlreadyExist(rvm.Email)) { // Register them as a new user (and set default role in db schema) // When a user registeres they need to be given a role. If you don't need anything special // just give them "User". if (authProvider.Register(rvm.DisplayName, rvm.Email, rvm.Password, role: "User") == false) { return(RedirectToAction("Error", "Home")); } emailProvider.Welcome(userDAL.GetUser(rvm.Email)); // Redirect the user where you want them to go after registering return(RedirectToAction("Index", "Home")); } return(View(rvm)); }
public List <WebsiteRequest> GetNewWebsiteRequests() { List <WebsiteRequest> output = new List <WebsiteRequest>(); try { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(SQL_Get_New_Websites, conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { WebsiteRequest wr = new WebsiteRequest(); wr.Id = Convert.ToInt32(reader["id"]); wr.BaseURL = Convert.ToString(reader["base_url"]); wr.FullURL = Convert.ToString(reader["full_url"]); wr.User = new User() { Id = Convert.ToInt32(reader["user_id"]) }; output.Add(wr); } reader.Close(); foreach (WebsiteRequest wr in output) { wr.User = userDAL.GetUser(wr.User.Id, conn); } } } catch { output = null; } return(output); }
//GET: Detail of chosen book public ActionResult BookDetail(int bookID) { ReadingListModel list = new ReadingListModel(); BookModel book = new BookModel(); book = booksDAL.GetBooksById(bookID); UserModel user = usersDAL.GetUser(base.CurrentUser); ReviewModel review = reviewDAL.GetReview(bookID); BookDetailViewModel model = new BookDetailViewModel(); model.CurrentBook = book; model.CurrentReview = review; model.CurrentUser = user; if (model.CurrentUser != null) { list.UserID = user.UserID; list.BookID = bookID; model.IsBookInList = rlDAL.BookAlreadyInList(list); } return(View("BookDetail", model)); }
public IActionResult ChangeMemberRole(int userIdToChange) { if (authProvider.IsLoggedIn) { User currentUser = authProvider.GetCurrentUser(); if (currentUser.FamilyRole == "Leader") { ChangeMemberRoleViewModel viewModel = new ChangeMemberRoleViewModel(); viewModel.userToChange = usersDAL.GetUser(userIdToChange); return(View(viewModel)); } else { return(View("NotAllowed")); } } else { return(View("Login", "Account")); } }
public SuccessfulLoginResponse ApiSignIn(string email, string password) { SuccessfulLoginResponse output = null; var user = usersDAL.GetUser(email); var hashProvider = new HashProvider(); if (user != null && hashProvider.VerifyPasswordMatch(user.Password, password, user.Salt)) { if (IsUserSignedIn(user)) { RemoveUser(user); } string newAccessToken = GenerateAccessToken(); loggedInUsers.Add(newAccessToken, user); output = new SuccessfulLoginResponse(user, newAccessToken); } return(output); }