public async Task<IHttpActionResult> Post(RegisterViewModel viewModel) { if (ModelState.IsValid) { switch (viewModel.Action) { case Enums.LoginActions.Login: { var user = userManager.FindByName(viewModel.Email); if (user == null) { return new ResourceMetadata.Web.Helpers.InvalidUserResult(Request); } await SignInAsync(user, isPersistent: false); return Ok(); } case Enums.LoginActions.Register: { try { ApplicationUser user = new ApplicationUser(); Mapper.Map(viewModel, user); var identityResult = await userManager.CreateAsync(user); if (identityResult.Succeeded) { await SignInAsync(user, isPersistent: false); } else { foreach (var error in identityResult.Errors) { } } } catch (Exception ex) { throw ex; } //userService.RegisterUser(user); //var ticket = new FormsAuthenticationTicket(viewModel.Email, true, 3); //var jsonString = JsonConvert.SerializeObject(ticket); //HttpContext.Current.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket))); return Ok(); } default: { break; } } } return InternalServerError(); }
public IHttpActionResult Post(RegisterViewModel viewModel) { if (ModelState.IsValid) { User user = new User(); Mapper.Map(viewModel, user); userService.RegisterUser(user); var ticket = new FormsAuthenticationTicket(viewModel.Email, true, 3); var jsonString = JsonConvert.SerializeObject(ticket); HttpContext.Current.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket))); return Ok(); } return InternalServerError(); }
public IHttpActionResult Post(RegisterViewModel viewModel) { if (ModelState.IsValid) { switch (viewModel.Action) { case Enums.LoginActions.Login: { var user = userService.GetUserByEmailAndPassword(viewModel.Email, viewModel.Password); if (user == null) { return new ResourceMetadata.Web.Helpers.InvalidUserResult(Request); } var ticket = new FormsAuthenticationTicket(viewModel.Email, true, 30); var jsonString = JsonConvert.SerializeObject(ticket); HttpContext.Current.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket))); return Ok(); } case Enums.LoginActions.Register: { User user = new User(); Mapper.Map(viewModel, user); userService.RegisterUser(user); var ticket = new FormsAuthenticationTicket(viewModel.Email, true, 3); var jsonString = JsonConvert.SerializeObject(ticket); HttpContext.Current.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket))); return Ok(); } default: { break; } } } return InternalServerError(); }