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()); } }
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); }