i am using aspnet identity and entering records to another table. here is the code.it is in default account controller
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
can.Email = model.Email;
can.FirstName = model.FirstName;
can.LastName = model.LastName;
if (model.Gender == "1")
can.Gender = true;
else
can.Gender = false;
db.Candidates.Add(can);
db.SaveChanges();
context.Insert(can);
context.Save();
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName };
var result = await UserManager.CreateAsync(user, model.Password);
var rolestore = new RoleStore<IdentityRole>();
var rolemanager = new RoleManager<IdentityRole>(rolestore);
//adding Jobseeker to table can be put in a seperate function
if (result.Succeeded)
{
string role = "can";
IdentityRole rol = new IdentityRole { Name = role };
if (!rolemanager.RoleExists(role))
{
IdentityResult res = RoleManager.Create(rol);
await UserManager.AddToRoleAsync(user.Id, role);
await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
}
else
{
await UserManager.AddToRoleAsync(user.Id, role);
await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
}
ViewData["Name"] = user.FirstName;
return RedirectToAction("Index", "JS", can);
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
db.Savechanges();
using control to dispose method which is this
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (_userManager != null)
{
_userManager.Dispose();
_userManager = null;
}
if (_signInManager != null)
{
_signInManager.Dispose();
_signInManager = null;
}
}
base.Dispose(disposing);
}
db is my another datacontext initialize in default account controller
don't know how to handle this please guide accordingly