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 = "" }));
        }
Esempio n. 2
0
        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 = "" }));
        }