public async Task <IActionResult> AddInsuranceCompany(Users user) { ClinicaUser cuser = new ClinicaUser { Email = user.Email, UserName = user.UserName, PhoneNumber = user.Phonenb, Mobile = user.Mobile }; string role = "InsuranceCompany"; bool result = await _roleManager.RoleExistsAsync(role); await _userManager.CreateAsync(cuser, user.Password); if (!result) { await _roleManager.CreateAsync(new IdentityRole(role)); } await _userManager.AddToRoleAsync(cuser, role); await _context.InsuranceCompany.AddAsync( new InsuranceCompany { Address = user.Address, Fax = user.Fax, ClinicaUser = cuser }); await _context.SaveChangesAsync(); return(Redirect("/Admin")); }
public async Task <ActionResult> SignIn() { IAuthenticationManager authMgr = HttpContext.GetOwinContext().Authentication; ClinicaUserManager userMrg = HttpContext.GetOwinContext().GetUserManager <ClinicaUserManager>(); ClinicaUser user = await userMrg.FindAsync("Admin", "secret"); authMgr.SignIn(await userMrg.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie)); return(RedirectToAction("Index")); }
public async Task <IActionResult> Create(Users user) { ClinicaUser cuser = new ClinicaUser { Email = user.Email, UserName = user.UserName, PhoneNumber = user.Phonenb, FirstName = user.FirstName, MiddleName = user.MiddleName, LastName = user.LastName, Mobile = user.Mobile }; string role = "Patient"; bool result = await _roleManager.RoleExistsAsync(role); await _userManager.CreateAsync(cuser, user.Password); if (!result) { await _roleManager.CreateAsync(new IdentityRole(role)); } await _userManager.AddToRoleAsync(cuser, role); var ICUser = _context.Users.Where(u => u.UserName.Contains(user.InsuranceCompanyId)).FirstOrDefault(); var IC = _context.InsuranceCompany.Find(ICUser.Id); await _context.Patient.AddAsync( new Patient { Gender = user.Gender, Birthdate = user.Birthdate, Address = user.Address, BloodType = user.BloodType, Picture = user.Picture, InsuranceCompanyId = ICUser.Id, InsuranceCompany = IC, ClinicaUser = cuser }); await _context.SaveChangesAsync(); if (User.IsInRole("Doctor")) { return(Redirect("/Doctors/Dashboard")); } else { return(Redirect("/Assistants/Dashboard")); } }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); if (ModelState.IsValid) { var user = new ClinicaUser { UserName = Input.UserName, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); await _roleManager.CreateAsync(new IdentityRole("Admin")); await _userManager.AddToRoleAsync(user, "Admin"); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); //var callbackUrl = Url.Page( // "/Account/ConfirmEmail", // pageHandler: null, // values: new { userId = user.Id, code = code }, // protocol: Request.Scheme); //await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", // $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
public async Task <IActionResult> AddDoc(Users user) { ClinicaUser cuser = new ClinicaUser { Email = user.Email, UserName = user.UserName, PhoneNumber = user.Phonenb, FirstName = user.FirstName, MiddleName = user.MiddleName, LastName = user.LastName, Mobile = user.Mobile }; string role = "Doctor"; bool result = await _roleManager.RoleExistsAsync(role); await _userManager.CreateAsync(cuser, user.Password); if (!result) { await _roleManager.CreateAsync(new IdentityRole(role)); } await _userManager.AddToRoleAsync(cuser, role); await _context.Doctor.AddAsync( new Doctor { Speciality = user.Speciality, Gender = user.Gender, About = user.About, AvailableFrom = user.AvailableFrom, AvailableTo = user.AvailableTo, Address = user.Address, ClinicaUser = cuser }); await _context.SaveChangesAsync(); return(Redirect("/Admin")); }
public async Task <IActionResult> AddAssistant(Users user) { ClinicaUser cuser = new ClinicaUser { Email = user.Email, UserName = user.UserName, PhoneNumber = user.Phonenb, FirstName = user.FirstName, MiddleName = user.MiddleName, LastName = user.LastName, Mobile = user.Mobile }; string role = "Assistant"; bool result = await _roleManager.RoleExistsAsync(role); await _userManager.CreateAsync(cuser, user.Password); if (!result) { await _roleManager.CreateAsync(new IdentityRole(role)); } await _userManager.AddToRoleAsync(cuser, role); //Username was displayed and saved in DoctorId in the razor file var doctorUser = _context.Users.Where(u => u.UserName.Contains(user.DoctorId)).FirstOrDefault(); await _context.Assistant.AddAsync( new Assistant { Gender = user.Gender, DoctorId = doctorUser.Id, ClinicaUser = cuser }); await _context.SaveChangesAsync(); return(Redirect("/Admin")); }
protected override void Seed(ClinicaIdentityDbContext context) { ClinicaUserManager userMgr = new ClinicaUserManager(new UserStore <ClinicaUser>(context)); ClinicaRoleManager roleMgr = new ClinicaRoleManager(new RoleStore <ClinicaRole>(context)); string roleName = "Administrators"; string userName = "******"; string password = "******"; string email = "*****@*****.**"; if (!roleMgr.RoleExists(roleName)) { roleMgr.Create(new ClinicaRole(roleName)); } ClinicaUser user = userMgr.FindByName(userName); if (user == null) { userMgr.Create(new ClinicaUser { UserName = userName, Email = email }, password); user = userMgr.FindByName(userName); } if (!userMgr.IsInRole(user.Id, roleName)) { userMgr.AddToRole(user.Id, roleName); } base.Seed(context); }