public async void Patch_No_Errors()
        {
            UserRoleControllerMockFacade mock = new UserRoleControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiUserRoleResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(true);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <string>(), It.IsAny <ApiUserRoleRequestModel>()))
            .Callback <string, ApiUserRoleRequestModel>(
                (id, model) => model.JSON.Should().Be("A")
                )
            .Returns(Task.FromResult <UpdateResponse <ApiUserRoleResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <ApiUserRoleResponseModel>(new ApiUserRoleResponseModel()));
            UserRoleController controller = new UserRoleController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiUserRoleModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiUserRoleRequestModel>();

            patch.Replace(x => x.JSON, "A");

            IActionResult response = await controller.Patch(default(string), patch);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            mock.ServiceMock.Verify(x => x.Update(It.IsAny <string>(), It.IsAny <ApiUserRoleRequestModel>()));
        }
        public void Setup()
        {
            // Mock
            _configuration = new Mock <IConfiguration>(MockBehavior.Loose);
            _userRoleRepo  = new Mock <IUserRoleRepo>(MockBehavior.Loose);
            _logger        = new Mock <ILogger <UserRoleController> >(MockBehavior.Loose);

            // Mapper
            var config = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile(new AutoMapperConfig());
            });

            _mapper = new Mapper(config);

            // Config
            Filler <UserRole>    pFiller    = new Filler <UserRole>();
            Filler <UserRoleDTO> pFillerDTO = new Filler <UserRoleDTO>();

            userRole    = pFiller.Create();
            userRoleDTO = pFillerDTO.Create();

            // Service under test
            _userRoleController = new UserRoleController(_configuration.Object, _mapper, _userRoleRepo.Object, _logger.Object);
        }
示例#3
0
        public void UserRoleService_DeleteById()
        {
            UserRoleController _controller = new UserRoleController(_mockService.Object);
            var result = _controller.Delete(1);

            Assert.IsNotNull(result);
        }
示例#4
0
        public void UserRoleService_Get()
        {
            UserRoleController _controller = new UserRoleController(_mockService.Object);
            var result = _controller.Get();

            Assert.IsNotNull(result);
        }
示例#5
0
        public void RBAC_UserRole_GetRoleListTest()
        {
            this._controller = DomainControllerFactory.Create <UserRoleController>();

            var userRoleRepository = RepositoryFacade.ResolveInstance <UserRoleRepository>();
            var userRepository     = RepositoryFacade.ResolveInstance <UserRepository>();
            var roleRepository     = RepositoryFacade.ResolveInstance <RoleRepository>();

            using (RepositoryFacade.TransactionScope(userRoleRepository))
            {
                var user = new User {
                    Id = 1, UserName = "******", RealName = "Test_001", Email = "*****@*****.**", PhoneNumber = "18666666666"
                };
                var role = new Role {
                    Id = 1, Code = Guid.NewGuid().ToString("N"), Description = "", Name = "管理员"
                };

                userRepository.Save(user);
                roleRepository.Save(role);
                userRoleRepository.Save(new UserRole {
                    User = user, Role = role
                });

                var roleList = roleRepository.GetRoleByUserId(user.Id);

                Assert.IsNotNull(roleList);
                Assert.IsTrue(roleList.Count == 1);
            }
        }
        public async void BulkInsert_No_Errors()
        {
            UserRoleControllerMockFacade mock = new UserRoleControllerMockFacade();

            var mockResponse = new CreateResponse <ApiUserRoleResponseModel>(new FluentValidation.Results.ValidationResult());

            mockResponse.SetRecord(new ApiUserRoleResponseModel());
            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiUserRoleRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiUserRoleResponseModel> >(mockResponse));
            UserRoleController controller = new UserRoleController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var records = new List <ApiUserRoleRequestModel>();

            records.Add(new ApiUserRoleRequestModel());
            IActionResult response = await controller.BulkInsert(records);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var result = (response as OkObjectResult).Value as List <ApiUserRoleResponseModel>;

            result.Should().NotBeEmpty();
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiUserRoleRequestModel>()));
        }
        public async Task <ActionResult> Index(LoginInfo objLogin, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser oUser = await SignInManager.UserManager.FindByNameAsync(objLogin.UserName);

                if (oUser != null && oUser.Password == objLogin.Password)
                {
                    switch (oUser.Status)
                    {
                    case EnumUserStatus.Pending:
                        ModelState.AddModelError("", "Error: User account has not been verified.");
                        break;

                    case EnumUserStatus.LockedOut:
                        ModelState.AddModelError("", "Error: User account has been locked out due to multiple login tries.");
                        break;

                    case EnumUserStatus.Closed:
                        ModelState.AddModelError("", "Error: User account has been closed.");
                        break;

                    case EnumUserStatus.Banned:
                        ModelState.AddModelError("", "Error: User account has been banned.");
                        break;

                    case EnumUserStatus.Active:

                        SignInManager.SignIn(oUser, false, false);

                        IList <string> roleList = UserRoleController.GetUserRoles(oUser.Id);
                        foreach (string role in roleList)
                        {
                            UserManager.AddToRole(oUser.Id, role);
                        }

                        //if no return url provided then redirect page based on role
                        if (string.IsNullOrEmpty(returnUrl))
                        {
                            if (roleList.IndexOf("Administrator") >= 0)
                            {
                                return(RedirectToAction("Index", "Admin"));
                            }
                            else
                            {
                                return(RedirectToAction("Index", "Member"));
                            }
                        }

                        return(RedirectToLocal(returnUrl));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Error: Invalid login details.");
                }
            }

            return(View(objLogin));
        }
 public void Setup()
 {
     _permissionService  = new PermissionServiceMock();
     _userRoleService    = new UserRoleServiceMock();
     _projectService     = new ProjectServiceMock();
     _projId             = _projectService.Create(new Project()).Result.Id;
     _userRoleController = new UserRoleController(_userRoleService, _projectService, _permissionService);
 }
        public void Setup()
        {
            _projRepo           = new ProjectRepositoryMock();
            _userRepo           = new UserRepositoryMock();
            _userRoleRepo       = new UserRoleRepositoryMock();
            _permissionService  = new PermissionServiceMock();
            _userRoleController = new UserRoleController(_userRepo, _userRoleRepo, _projRepo, _permissionService);

            _projId = _projRepo.Create(new Project {
                Name = "UserRoleControllerTests"
            }).Result !.Id;
        }
示例#10
0
 public Task AddToRoleAsync(ApplicationUser user, string roleName)
 {
     if (user != null)
     {
         return(Task.Factory.StartNew(() => {
             return UserRoleController.NewUserRole(user.Id, roleName);
         }));
     }
     else
     {
         throw new ArgumentNullException("user");
     }
 }
示例#11
0
 public async Task <bool> AddUserToRole(string userId, string userRole)
 {
     try
     {
         await UserRoleController.NewUserRoleAsync(userId, userRole);
     }
     catch (Exception ex)
     {
         Console.WriteLine("Could not add User to Role: " + userRole + " | " + ex.Message);
         return(false);
     }
     return(true);
 }
示例#12
0
        public void UserRoleService_Post()
        {
            CACI.DAL.Models.UserRole user = new CACI.DAL.Models.UserRole()
            {
                CreatedDate  = DateTime.Now.AddDays(-8),
                ModifiedDate = DateTime.Now,
                RoleId       = 1,
                UserId       = 1,
                UserRoleId   = 1
            };
            UserRoleController _controller = new UserRoleController(_mockService.Object);
            var result = _controller.Post(user);

            Assert.IsNotNull(result);
        }
示例#13
0
 public Task <bool> IsInRoleAsync(ApplicationUser user, string roleName)
 {
     if (user != null)
     {
         return(Task.Factory.StartNew(() =>
         {
             IList <string> roles = UserRoleController.GetUserRoles(user.Id);
             return roles.Count(x => x.ToUpper() == roleName.ToUpper()) > 0;
         }));
     }
     else
     {
         throw new ArgumentNullException("user");
     }
 }
示例#14
0
        public void UserRoleService_DeleteFromBody()
        {
            CACI.DAL.Models.UserRole application = new CACI.DAL.Models.UserRole()
            {
                CreatedDate  = DateTime.Now.AddDays(-8),
                ModifiedDate = DateTime.Now,
                UserRoleId   = 1,
                RoleId       = 1,
                UserId       = 1,
            };
            UserRoleController _controller = new UserRoleController(_mockService.Object);
            var result = _controller.Delete(application);

            Assert.IsNotNull(result);
        }
示例#15
0
 public Task <IList <string> > GetRolesAsync(ApplicationUser user)
 {
     if (user != null)
     {
         return(Task.Factory.StartNew(() =>
         {
             IList <string> roles = UserRoleController.GetUserRoles(user.Id);
             return roles;
         }));
     }
     else
     {
         throw new ArgumentNullException("user");
     }
 }
        public async void Get_Not_Exists()
        {
            UserRoleControllerMockFacade mock = new UserRoleControllerMockFacade();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <ApiUserRoleResponseModel>(null));
            UserRoleController controller = new UserRoleController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Get(default(string));

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <string>()));
        }
示例#17
0
 public bool AddUserToRole(string userRole, string userId)
 {
     try
     {
         Task.Factory.StartNew(() =>
         {
             UserRoleController.NewUserRole(userId, userRole);
         });
     }
     catch (Exception ex)
     {
         Console.WriteLine("failed to add user to role: " + ex.Message);
         return(false);
     }
     return(true);
 }
        public async void Delete_Errors()
        {
            UserRoleControllerMockFacade mock = new UserRoleControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Delete(It.IsAny <string>())).Returns(Task.FromResult <ActionResponse>(mockResult.Object));
            UserRoleController controller = new UserRoleController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Delete(default(string));

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Delete(It.IsAny <string>()));
        }
        public async void All_Not_Exists()
        {
            UserRoleControllerMockFacade mock = new UserRoleControllerMockFacade();

            mock.ServiceMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <ApiUserRoleResponseModel> >(new List <ApiUserRoleResponseModel>()));
            UserRoleController controller = new UserRoleController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.All(1000, 0);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var items = (response as OkObjectResult).Value as List <ApiUserRoleResponseModel>;

            items.Should().BeEmpty();
            mock.ServiceMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
        public async void Update_NotFound()
        {
            UserRoleControllerMockFacade mock = new UserRoleControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiUserRoleResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <string>(), It.IsAny <ApiUserRoleRequestModel>())).Returns(Task.FromResult <UpdateResponse <ApiUserRoleResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <ApiUserRoleResponseModel>(null));
            UserRoleController controller = new UserRoleController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiUserRoleModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Update(default(string), new ApiUserRoleRequestModel());

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <string>()));
        }
        public async void Patch_Record_Not_Found()
        {
            UserRoleControllerMockFacade mock = new UserRoleControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <ApiUserRoleResponseModel>(null));
            UserRoleController controller = new UserRoleController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiUserRoleRequestModel>();

            patch.Replace(x => x.JSON, "A");

            IActionResult response = await controller.Patch(default(string), patch);

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <string>()));
        }
        public async void Create_Errors()
        {
            UserRoleControllerMockFacade mock = new UserRoleControllerMockFacade();

            var mockResponse = new Mock <CreateResponse <ApiUserRoleResponseModel> >(new FluentValidation.Results.ValidationResult());
            var mockRecord   = new ApiUserRoleResponseModel();

            mockResponse.SetupGet(x => x.Success).Returns(false);

            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiUserRoleRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiUserRoleResponseModel> >(mockResponse.Object));
            UserRoleController controller = new UserRoleController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Create(new ApiUserRoleRequestModel());

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiUserRoleRequestModel>()));
        }
示例#23
0
        public void RBAC_UserRole_HasRoleTest()
        {
            this._controller = DomainControllerFactory.Create <UserRoleController>();

            var userRoleRepository = RepositoryFacade.ResolveInstance <UserRoleRepository>();
            var userRepository     = RepositoryFacade.ResolveInstance <UserRepository>();
            var roleRepository     = RepositoryFacade.ResolveInstance <RoleRepository>();

            using (RepositoryFacade.TransactionScope(userRepository))
            {
                var user = new User {
                    Id = 1, UserName = "******", RealName = "Test_001", Email = "*****@*****.**", PhoneNumber = "18666666666"
                };
                var role = new Role {
                    Id = 1, Code = Guid.NewGuid().ToString("N"), Description = "", Name = "管理员"
                };

                userRepository.Save(user);
                roleRepository.Save(role);
                userRoleRepository.Save(new UserRole {
                    User = user, Role = role
                });

                var result1 = this._controller.HasRole(new User {
                    Id = user.Id
                }, new Role {
                    Id = role.Id
                });
                var result2 = this._controller.HasRole(new User {
                    Id = user.Id
                }, new Role {
                    Id = role.Id + 1L
                });

                Assert.IsTrue(result1);
                Assert.IsFalse(result2);
            }
        }
示例#24
0
        public Task <bool> IsInRoleAsync(ApplicationUser user, string roleName)
        {
            if (user != null)
            {
                return(Task.Factory.StartNew(() =>
                {
                    IList <string> roles = UserRoleController.GetUserRoles(user.Id);
                    foreach (string role in roles)
                    {
                        if (role.ToUpper() == roleName.ToUpper())
                        {
                            return true;
                        }
                    }

                    return false;
                }));
            }
            else
            {
                throw new ArgumentNullException("user");
            }
        }
示例#25
0
        public async Task <ActionResult> Index(bool chkRemember, LoginInfo objLogin, string returnUrl)
        {
            bool estadoAdd = true;

            //var Estado = ActiveDirectoryAzure("EXT_PMO_JuanAviles", "pmo360");
            if (ModelState.IsValid)
            {
                //
                // PASO 1: BUSCAR EN REPOSITORIO DE LA COMPAÑIA
                //

                if (estadoAdd)
                {
                    //
                    // PASO 2: BUSCAR EN REPOSITORIO LOCAL
                    //         - SI EL USUARIO EXISTE EN ADD, PERO NO EN CAPEX, ENTONCES CREAR
                    //         - SI EL USUARIO EXISTE EN ADD Y EN CAPEX, ENTONCES PROCESAR
                    //
                    ApplicationUser oUser = await SignInManager.UserManager.FindByNameAsync(objLogin.UserName);

                    //
                    // PASO 2.1: CREACION DE CUENTA TEMPORAL
                    //
                    if (oUser == null)
                    {
                        return(RedirectToLocal(returnUrl));
                    }
                    //
                    // PASO 2.2 : PROCESAR
                    //
                    else if (oUser != null && oUser.Password == objLogin.Password)
                    {
                        switch (oUser.Status)
                        {
                        case EnumUserStatus.Pending:
                            ModelState.AddModelError("", "Error: Su cuenta no está activada.");
                            break;

                        case EnumUserStatus.Active:

                            SignInManager.SignIn(oUser, false, false);
                            IList <string> roleList = UserRoleController.GetUserRoles(oUser.Id);
                            foreach (string role in roleList)
                            {
                                UserManager.AddToRole(oUser.Id, role);
                            }

                            if (string.IsNullOrEmpty(returnUrl))
                            {
                                Session["CAPEX_SESS_ES_ADM_CAPEX"] = "NO";
                                if (chkRemember)
                                {
                                    HttpCookie cookie = new HttpCookie("CAPEX_COOKIE_USERNAME");
                                    cookie.Values.Add("UserName", objLogin.UserName);
                                    cookie.Expires = DateTime.Now.AddDays(15);
                                    Response.Cookies.Add(cookie);
                                }
                                ILogin = FactoryLogin.delega(DU);
                                var atributos = ILogin.ObtenerInformacionUsuario(objLogin.UserName);
                                foreach (var at in atributos)
                                {
                                    Session["CAPEX_SESS_USUTOKEN"]    = at.UsuToken.ToString();
                                    Session["CAPEX_SESS_COMTOKEN"]    = at.ComToken.ToString();
                                    Session["CAPEX_SESS_AREATOKEN"]   = at.AreaToken.ToString();
                                    Session["CAPEX_SESS_IDEMPRESA"]   = at.IdEmpresa.ToString();
                                    Session["CAPEX_SESS_USUID"]       = at.UsuId.ToString();
                                    Session["CAPEX_SESS_ROLNOMBRE"]   = at.RolNombre.ToString();
                                    Session["CAPEX_SESS_USURUT"]      = at.UsuRut.ToString();
                                    Session["CAPEX_SESS_USUNOMBRE"]   = at.UsuNombre.ToString();
                                    Session["CAPEX_SESS_USUAPELLIDO"] = at.UsuApellido.ToString();
                                    Session["CAPEX_SESS_USUEMAIL"]    = at.UsuEmail.ToString();
                                    Session["CAPEX_SESS_USERNAME"]    = objLogin.UserName.ToString();
                                }
                                //
                                // REGISTRAR ACCESO ADM CAPEX
                                //
                                string CapexAdminToken = ConfigurationManager.AppSettings.Get("CAPEX_ADMIN_TOKEN");
                                if (Convert.ToString(Session["CAPEX_SESS_USUTOKEN"]) == CapexAdminToken)
                                {
                                    var Solicitudes = NumeroSolicitudesPendientesAdm();
                                    Session["CAPEX_SESS_ES_ADM_CAPEX"]     = "SI";
                                    Session["CAPEX_SESS_NUM_SOL_PEND_ADM"] = Solicitudes;
                                }
                                var Comentarios = NumeroComentarios(objLogin.UserName);
                                Session["CAPEX_SESS_NUM_COMENTARIOS"] = Comentarios;
                                return(RedirectToAction("Index", "Panel"));
                            }
                            return(RedirectToLocal(returnUrl));

                        case EnumUserStatus.Banned:
                            ModelState.AddModelError("", "Error: Su cuenta se encuntra desabilitada.");
                            break;

                        case EnumUserStatus.LockedOut:
                            ModelState.AddModelError("", "Error: Su cuenta se encuentra bloqueada.");
                            break;
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Error: Datos de acceso incorrectos.");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Error: Datos de acceso incorrectos.");
                }
            }
            return(View(objLogin));
        }
示例#26
0
        public async Task <ActionResult> ChangePassword(ChangePasswordViewModel objLogin, string returnUrl)
        {
            UserInfo UserInfo = new UserInfo();

            UserInfo = UserController.GetUserInfo(User.Identity.Name);

            if (UserInfo.ImageContent1 == null)
            {
                return(RedirectToAction("Index", "Login"));
                //return null;
            }

            ViewBag.ImageContent1 = UserInfo.ImageContent1;

            if (ModelState.IsValid)
            {
                ApplicationUser oUser = await SignInManager.UserManager.FindByNameAsync(UserInfo.UserName);

                if (oUser != null && oUser.Password.Equals(objLogin.OldPassword))
                {
                    switch (oUser.Status)
                    {
                    case EnumUserStatus.Pending:
                        ModelState.AddModelError("", "Error: User account has not been verified.");
                        break;

                    case EnumUserStatus.Active:
                        SignInManager.SignIn(oUser, false, false);
                        IList <string> roleList = UserRoleController.GetUserRoles(oUser.Id);
                        foreach (string role in roleList)
                        {
                            UserManager.AddToRole(oUser.Id, role);
                        }

                        //if no return url provided then redirect page based on role
                        if (string.IsNullOrEmpty(returnUrl))
                        {
                            if (roleList.IndexOf("Administrator") >= 0)
                            {
                                string newPassword     = objLogin.NewPassword;
                                string confirmPassword = objLogin.ConfirmPassword;
                                if (newPassword.Equals(confirmPassword))
                                {
                                    // create object user
                                    var user = new ApplicationUser {
                                        Id = oUser.Id, UserName = UserInfo.UserName, Password = newPassword
                                    };
                                    //update password
                                    var result = await UserManager.UpdateAsync(user);
                                }
                                else
                                {
                                    ModelState.AddModelError("", "Error: New password and confirm password don't match.");
                                    break;
                                }

                                ModelState.AddModelError("Success", "Success! Your Password has been changed!");
                                break;
                                //return RedirectToAction("Index", "ChangePassword");
                            }
                            else
                            {
                                return(RedirectToAction("Index", "Member"));
                            }
                        }
                        //return RedirectToLocal(returnUrl);
                        return(null);

                    case EnumUserStatus.Banned:
                        ModelState.AddModelError("", "Error: User account has been banned.");
                        break;

                    case EnumUserStatus.LockedOut:
                        ModelState.AddModelError("", "Error: User account has been locked out due to multiple login tries.");
                        break;
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Vi kunne ikke finde en bruger med det angivne brugernavn og adgangskode. Prøv venligst igen.");
                }
            }
            return(View(objLogin));
        }
示例#27
0
        // Promote / Demote users
        private void promoteDemoteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int SelectedUsersCount = listView_Users.SelectedItems.Count;

            if (SelectedUsersCount == 0)
            {
                return;
            }

            long AdminCount;
            long SelectedAdminCount;

            long AdminRoleID;
            long UserRoleID;

            using (UserController userController = new UserController())
                using (RoleController roleController = new RoleController())
                {
                    AdminRoleID = roleController.GetRoleID("Admin");
                    UserRoleID  = roleController.GetRoleID("User");

                    // Check if Admin want to demote all Admins
                    List <UserModelDataTransferObject> AdminsList = userController.GetUsersByRoleID(AdminRoleID);
                    AdminCount         = AdminsList.Count;
                    SelectedAdminCount = 0;

                    foreach (ListViewItem item in listView_Users.SelectedItems)
                    {
                        long UserID = Convert.ToInt64(item.Tag);
                        UserModelDataTransferObject CurrentUser = userController.GetUserByID(UserID);
                        if (CurrentUser.IsAdministrator())
                        {
                            ++SelectedAdminCount;
                        }
                    }
                }

            if (AdminCount == SelectedAdminCount && AdminCount == listView_Users.SelectedItems.Count)
            {
                MaterialMessageBox.Show("You cannot demote all Administrators.", "Easy Survey - Demote Users", MaterialMessageBox.MessageBoxButtons.OK, MaterialMessageBox.MessageBoxIcon.Error);
                return;
            }


            // Check if Admin wants to demote himself
            bool AdminSelectedHimself = false;

            foreach (ListViewItem item in listView_Users.SelectedItems)
            {
                long UserID = Convert.ToInt64(item.Tag);
                if (LoggedUser.UserID == UserID)
                {
                    AdminSelectedHimself = true; break;
                }
            }
            if (AdminSelectedHimself)
            {
                MaterialMessageBox.Show("You cannot demote yourself.", "Easy Survey - Demote Users", MaterialMessageBox.MessageBoxButtons.OK, MaterialMessageBox.MessageBoxIcon.Error);
                return;
            }

            // Demote / Promote selected users.
            using (UserController userController = new UserController())
                using (UserRoleController userRoleController = new UserRoleController())
                    foreach (ListViewItem item in listView_Users.SelectedItems)
                    {
                        long UserID = Convert.ToInt64(item.Tag);
                        UserModelDataTransferObject CurrentUser = userController.GetUserByID(UserID);
                        if (CurrentUser.IsAdministrator()) // Demote to standard user.
                        {
                            userRoleController.SetUserRole(UserID, UserRoleID);
                            item.Group = listView_Users.Groups["User"];
                        }
                        else if (!CurrentUser.IsAdministrator()) // Promote to admin.
                        {
                            userRoleController.SetUserRole(UserID, AdminRoleID);
                            item.Group = listView_Users.Groups["Administrator"];
                        }
                    }
        }
 public void Initialize()
 {
     _controller = new UserRoleController(new UserRoleRepository(ConfigurationManager.AppSettings["UnitTestToken"]));
 }
示例#29
0
 public UserRoleControllerTests()
 {
     _mockUserRoleService = new Mock <IUserRoleService>();
     _userRoleController  = new UserRoleController(_mockUserRoleService.Object);
 }