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));
        }
示例#2
0
        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));
        }