private async Task <bool> ProcessStep(LoginViewModel model) { var InitStep = new IntilizationStep() { Mode = model.UserName, Auth = 1, Code = Extensions.GetUniqueKey(7) + "-" + Extensions.GetUniqueKey(24) }; db.InitStep.Add(InitStep); await db.SaveChangesAsync(); HttpContext.SetSecuredSessionCookie(_SessionName, InitStep.Code); return(true); }
public async Task <ActionResult> Verify(string id) { try { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var Invite = await db.Invites.SingleOrDefaultAsync(x => x.Password == id); if (Invite == null) { return(HttpNotFound()); } var InitStep = await db.InitStep.FindAsync(id); if (InitStep == null) { InitStep = new IntilizationStep { Auth = 3, Code = id, Mode = Invite.Username, }; var AdminBase = new AdminRegistrationBase() { Email = Invite.Email, ConfirmationCode = id, ResendActivity = true, StepCode = InitStep.Code, Step = InitStep, Role = Invite.Role }; using (var Transaction = db.Database.BeginTransaction(IsolationLevel.ReadCommitted)) { try { db.InitStep.Add(InitStep); db.AdminBase.Add(AdminBase); await db.SaveChangesAsync(); Transaction.Commit(); } catch (Exception) { Transaction.Rollback(); throw; } } } HttpContext.SetSecuredSessionCookie(AppSettings.GetValue("_SessionName"), InitStep.Code); return(RedirectToAction("Init", "App")); } catch (Exception) { throw; } }