/// <summary> /// Performs company registration /// </summary> /// <param name="userCompanyCreateDto">company registration details</param> /// <returns>Registered company account ID</returns> public async Task <Guid> RegisterCompany(UserCompanyCreateDto userCompanyCreateDto) { using (var uow = UnitOfWorkProvider.Create()) { var id = await userService.RegisterUserAsync(userCompanyCreateDto); await uow.Commit(); return(id); } }
public async Task <Guid> RegisterUserAsync(UserCompanyCreateDto userDto) { var company = Mapper.Map <Company>(userDto); if (await GetIfUserExistsAsync(company.Username)) { throw new ArgumentException(); } var password = CreateHash(userDto.Password); company.PasswordHash = password.Item1; company.PasswordSalt = password.Item2; companyRepository.Create(company); return(company.Id); }
public async Task <ActionResult> RegisterCompany(UserCompanyCreateDto userCompanyCreateDto) { try { await CompanyFacade.RegisterCompany(userCompanyCreateDto); //FormsAuthentication.SetAuthCookie(userCreateDto.Username, false); var authTicket = new FormsAuthenticationTicket(1, userCompanyCreateDto.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", "Company")); } catch (ArgumentException) { ModelState.AddModelError("Username", "Account with that username already exists!"); return(View()); } }