Пример #1
0
        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"));
        }
Пример #2
0
        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"));
        }
Пример #3
0
        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"));
            }
        }
Пример #4
0
        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());
        }
Пример #5
0
        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"));
        }
Пример #6
0
        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"));
        }
Пример #7
0
        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);
        }