Esempio n. 1
0
        public async Task <IActionResult> CreateUserAdmin(SystemAdminViewModel vm)
        {
            ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();

            if (ModelState.IsValid)
            {
                //Til systemadmin til at oprette de forskellige typer brugere
                var user = new UserAdmin()
                {
                    UserName    = vm.Input.Email,
                    Email       = vm.Input.Email,
                    Name        = vm.Input.Name,
                    WorkAddress = new Address()
                    {
                        StreetAddress = vm.Input.StreetAddress, Zipcode = vm.Input.Zipcode
                    },
                    PhoneNumber    = vm.Input.Phonenumber,
                    PaymentMethod  = vm.Input.PaymentMethod,
                    EmailConfirmed = true
                };

                var result = await _userManager.CreateAsync(user, vm.Input.Password);

                if (result.Succeeded)
                {
                    await _userManager.AddClaimAsync(user, new Claim("UserAdmin", "IsUserAdmin"));

                    _logger.LogInformation("UserAdmin is created! ");

                    var systemadmin = await _dataAccess.SystemAdmins.GetSingleSystemAdminAsync(User.Identity.Name);

                    systemadmin.UserAdmins.Add(user);
                    _dataAccess.Complete();

                    //if (_userManager.Options.SignIn.RequireConfirmedAccount)
                    //{
                    //    return RedirectToPage("RegisterConfirmation", new { email = vm.Input.Email, returnUrl = returnUrl });
                    //}
                    //else
                    //{
                    //    await _signInManager.SignInAsync(user, isPersistent: false);
                    //    return LocalRedirect(returnUrl);
                    //}
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }
            return(RedirectToAction(nameof(Index)));
        }
Esempio n. 2
0
 public SystemAdminController(UserManager <ApplicationUser> userManager,
                              SignInManager <ApplicationUser> signInManager,
                              ILogger <RegisterModel> logger,
                              IEmailSender emailSender,
                              ApplicationDbContext context)
 {
     _userManager          = userManager;
     _signInManager        = signInManager;
     _logger               = logger;
     _emailSender          = emailSender;
     _context              = context;
     _dataAccess           = new DataAccsessAction(context);
     _systemAdminViewModel = new SystemAdminViewModel();
 }
Esempio n. 3
0
        public async Task <IActionResult> EditUserAdmin(string id, SystemAdminViewModel vm)
        {
            var userAdmin = await _dataAccess.UserAdmins.GetUserAdmin(id);

            userAdmin.Name     = vm.UserAdmin.Name;
            userAdmin.Email    = vm.UserAdmin.Email;
            userAdmin.UserName = vm.UserAdmin.Email;
            userAdmin.WorkAddress.StreetAddress = vm.UserAdmin.WorkAddress.StreetAddress;
            userAdmin.WorkAddress.Zipcode       = vm.UserAdmin.WorkAddress.Zipcode;
            userAdmin.PhoneNumber    = vm.UserAdmin.PhoneNumber;
            userAdmin.PaymentMethod  = vm.UserAdmin.PaymentMethod;
            userAdmin.PaymentDueDate = vm.UserAdmin.PaymentDueDate;

            if (ModelState.IsValid)
            {
                var result = await _userManager.UpdateAsync(userAdmin);

                if (result.Succeeded)
                {
                    return(RedirectToAction(nameof(Index)));
                }
            }
            return(View(vm.UserAdmin));
        }