public async Task <IActionResult> Create(RegisterDoctor registerDoctor, IFormFile file) { string image = "avatar.jpg"; if (_userManager.Users.Any(u => u.UserName == registerDoctor.Username)) { ModelState.AddModelError(String.Empty, "User name already taken"); ViewData["message"] = "Already Taken"; return(View(registerDoctor)); } if (ModelState.IsValid) { if (file != null) { var filePath = Path.GetTempFileName(); using (FileStream filestream = System.IO.File.Create(_environment.WebRootPath + "\\images\\" + file.FileName)) { image = file.FileName; file.CopyTo(filestream); filestream.Flush(); } } registerDoctor.Image = image; return(View("~/Views/Doctors/FinishCreate.cshtml", registerDoctor)); } return(View(registerDoctor)); }
public ActionResult Create(RegisterDoctor doctor) { if (ModelState.IsValid) { try { WebSecurity.CreateUserAndAccount(doctor.RM.UserName, doctor.RM.Password); WebSecurity.Login(doctor.RM.UserName, doctor.RM.Password); bool doc_role = false; string[] roles = Roles.GetAllRoles(); for (int i = 0; i < roles.Length; i++) { if (roles[i] == "Doctor") { doc_role = true; } } if (doc_role == false) { Roles.CreateRole("Doctor"); } Roles.AddUsersToRole(new[] { doctor.RM.UserName }, "Doctor"); CardiologistV2.DAL.DatabaseContext db = new DAL.DatabaseContext(); db.Users.Add(new Models.User() { UserID = WebSecurity.GetUserId(doctor.RM.UserName) }); doctor.TheDoctor.DoctorID = WebSecurity.GetUserId(doctor.RM.UserName); db.Doctors.Add(doctor.TheDoctor); //bool conf = WebSecurity.IsConfirmed(Doctor.RM.UserName); //conf = false; db.SaveChanges(); return(RedirectToAction("Index")); } catch (MembershipCreateUserException e) { // ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } return(View(doctor)); }
public async Task <IActionResult> FinishCreate(RegisterDoctor registerDoctor) { if (ModelState.IsValid) { var user = new IdentityUser { UserName = registerDoctor.Username, Email = registerDoctor.Email, PhoneNumber = registerDoctor.Phone }; var result = await _userManager.CreateAsync(user, registerDoctor.Password); await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "Doctor")); Doctor p = new Doctor { FirstName = registerDoctor.FirstName, MiddleName = registerDoctor.MiddleName, LastName = registerDoctor.LastName, Gender = registerDoctor.Gender, Image = registerDoctor.Image, Mobile = registerDoctor.Mobile, About = registerDoctor.About, Speciality = registerDoctor.Speciality, Time = registerDoctor.Time, DisplayName = registerDoctor.DisplayName, Address = registerDoctor.Address, User = user, }; _context.Add(p); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Search))); } return(View(registerDoctor)); }