public async Task <Response <SecureUser> > Create(User user) { IReadOnlyCollection <DataAccess.Models.User> users = await userRepository.GetAllAsync(); if (users.Any(existingUser => existingUser.Login == user.Login)) { string errorMessage = "User with this login already exists"; return(new Response <SecureUser>(errorMessage)); } if (users.Any(existingUser => existingUser.Email == user.Email)) { string errorMessage = "User with this email already exists"; return(new Response <SecureUser>(errorMessage)); } DataAccess.Models.User u = mapper.Map <User, DataAccess.Models.User>(user); u.Password = BCrypt.Net.BCrypt.HashPassword(u.Password); try { SecureUser newUser = mapper.Map <DataAccess.Models.User, SecureUser>(await userRepository.CreateAsync(u)); return(new Response <SecureUser>(newUser)); } catch (Exception e) { logger.LogError(e.InnerException.Message); string errorMessage = "An error occured while creating new user"; return(new Response <SecureUser>(errorMessage)); } }
public async Task <SecureUser> GetUserByToken(string token) { IEnumerable <User> users = (await userRepository.GetAllAsync()).AsQueryable().ProjectTo <User>(mapper.ConfigurationProvider); SecureUser user = mapper.Map <SecureUser>(users.Where(t => t.RefreshToken == token).FirstOrDefault()); return(user); }
public ActionResult Login(string email, string pass) { using (BrushFX_DBEntities db = new BrushFX_DBEntities()) { SecureUser sU = new SecureUser(); sU.EmailAddress = email; var hashPass = HashPass(pass); sU.PasswordHash = hashPass; var usr = db.SecureUsers.Where(u => u.EmailAddress == email && u.PasswordHash == hashPass).FirstOrDefault(); if (usr != null) { Session["UserKey"] = usr.UserKey.ToString(); Session["Email"] = usr.EmailAddress.ToString(); FormsAuthentication.SetAuthCookie(sU.UserKey.ToString(), true); return(RedirectToAction("Index", "Gallery")); } else { ModelState.AddModelError("LogOnError", "The user name or password entered is incorrect"); return(View()); } return(RedirectToAction("Index", "Home")); } return(RedirectToAction("Index", "Home")); }
private ComponentIntegrationFacade() { user = new SecureUser(); role = new SecureRole(user); permissions = new SecurePermissions(user); document = new SecureDocument(user); company = new SecureCompany(user); }
public async Task <IActionResult> GetByToken(string token) { if (token == null) { return(BadRequest("Empty token")); } SecureUser user = await userService.GetUserByToken(token); return(Ok(user)); }
public ActionResult Register(SecureUser acc) { if (ModelState.IsValid) { using (BrushFX_DBEntities db = new BrushFX_DBEntities()) { var hashedPass = HashPass(acc.EmailAddress.ToString()); //Check if that user already exists SecureUser emailCheck = db.SecureUsers.FirstOrDefault(u => u.EmailAddress.ToLower().ToString() == acc.EmailAddress.ToLower().ToString()); if (emailCheck == null) { //Call method to register account SaveChanges(acc); //Take them to look at pictures on successful registration SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 587); //remove mine once Nick gets it mailClient.Credentials = new NetworkCredential("*****@*****.**", "Password123!1"); MailMessage mailMessage = new MailMessage(); mailMessage.From = new MailAddress("*****@*****.**"); mailMessage.To.Add(acc.EmailAddress.ToString()); mailMessage.Subject = "BrushFX Sign Up"; mailMessage.Body = "Thank you for signing up for BrushFX! Track all of your past, and plan for your future work at our website!"; try { mailClient.Send(mailMessage); } catch (SmtpFailedRecipientException e) { Console.WriteLine("Email message failed to send to user: "******"Index", "Gallery")); } else { ModelState.AddModelError("emailExists", "This email already exists. Please Sign in or register a new email address"); return(View()); } } ModelState.Clear(); ViewBag.Message = acc.UserName + " successfully registerd"; } return(View()); }
public async Task <ActionResult> Delete(int id) { SecureUser user = await userService.GetSecureUserById(id); if (user == null) { return(NotFound("User not found")); } // Uncomment this when task service will be implemented //if((await taskService.GetAllAsync()).AsEnumerable().Any(t => t.Manager.Id == id || t.Executor.Id == id)) //{ // return BadRequest("You can't delete users with active or completed tasks. Try to deactivate account instead."); //} await userService.Delete(id); return(Ok(user)); }
//Creates a new user public ActionResult SaveChanges(SecureUser userAcc) { BrushFX_DBEntities db = new BrushFX_DBEntities(); SecureUser sc = new SecureUser(); sc.UserName = userAcc.UserName; sc.EmailAddress = userAcc.EmailAddress; sc.PasswordHash = HashPass(userAcc.PasswordHash); sc.UserKey = userAcc.UserKey; Session["UserKey"] = sc.UserKey.ToString(); Session["UserName"] = sc.UserName.ToString(); //Signs and passes the authenticated credentials for the entirety of the session FormsAuthentication.SetAuthCookie(sc.UserKey.ToString(), true); db.SecureUsers.Add(sc); db.SaveChanges(); return(RedirectToAction("Index", "Gallery")); }
public async Task <IActionResult> Get(int id) { SecureUser user = await userService.GetSecureUserById(id); return(Ok(user)); }