예제 #1
0
        public async Task <int> RegisterFreelancer(UserCreateFreelancerDTO userDto)
        {
            using (var uow = UnitOfWorkProvider.Create())
            {
                try
                {
                    var id = await userService.RegisterFreelancerUserAsync(userDto);

                    await uow.Commit();

                    return(id);
                } catch (ArgumentException)
                {
                    throw;
                }
            }
        }
        public async Task <ActionResult> RegisterFreelancer(UserCreateFreelancerDTO userCreateDto)
        {
            try
            {
                await userFacade.RegisterFreelancer(userCreateDto);

                var authTicket = new FormsAuthenticationTicket(1, userCreateDto.UserName, DateTime.Now,
                                                               DateTime.Now.AddMinutes(30), false, "");
                string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                var    authCookie      = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                HttpContext.Response.Cookies.Add(authCookie);

                return(RedirectToAction("Index", "Home"));
            } catch (ArgumentException)
            {
                ModelState.AddModelError("UserName", "Account with that user name already exists!");
                return(View());
            }
        }
예제 #3
0
        public async Task <int> RegisterFreelancerUserAsync(UserCreateFreelancerDTO userDto)
        {
            var freelancer = Mapper.Map <Freelancer>(userDto);

            if (await GetIfUserExistsAsync(freelancer.UserName))
            {
                throw new ArgumentException("User already exists");
            }
            freelancer.UserRole = "Freelancer";

            var password = CreateHash(userDto.Password);

            freelancer.PasswordHash = password.Item1;
            freelancer.PasswordSalt = password.Item2;

            freelancerRepository.Create(freelancer);

            return(freelancer.Id);
        }