public ActionResult CreateUser([FromForm] UserCreateDto userCreateDto, IFormFile upload) { if (upload != null) { using var ms = new MemoryStream(); upload.CopyTo(ms); userCreateDto.Photo = ms.ToArray(); } User user = _repository.GetUserByEMail(userCreateDto.EMail); if (user != null) //the same e-mail { ModelState.AddModelError("EMailExists", "E-Mail already exists"); return(View("/Views/Register/RegisterView.cshtml", userCreateDto)); } var userModel = _mapper.Map <User>(userCreateDto); userModel.Password = BCrypt.Net.BCrypt.HashPassword(userCreateDto.Password); //hash password _repository.CreateUser(userModel); _repository.SaveChanges(); UserReadDto userSession = _mapper.Map <UserReadDto>(userModel); userSession.AvatarPhoto(); HttpContext.Session.SetString("SessionUser", JsonConvert.SerializeObject(userSession)); return(RedirectToAction("GetAllTournaments", "Tournament", new { area = "" })); }
public ActionResult LoggedIn([FromForm] UserReadDto userReadDto) { var user = _repository.GetUserByEMail(userReadDto.EMail); if (user == null || !BCrypt.Net.BCrypt.Verify(userReadDto.Password, user.Password)) { ModelState.AddModelError("WrongEMailOrPassword", "Wrong e-mail or password"); return(View("/Views/Login/LoginView.cshtml", userReadDto)); } UserReadDto toSaving = _mapper.Map <UserReadDto>(user); toSaving.AvatarPhoto(); HttpContext.Session.SetString("SessionUser", JsonConvert.SerializeObject(toSaving)); return(RedirectToAction("GetAllTournaments", "Tournament", new { area = "" })); }