Exemple #1
0
        public IHttpActionResult AddRole([FromBody] AddRoleRequest request)
        {
            try
            {
                request.ValidateNotNull();

                int userTenantId = (int)ActionContext.Request.Properties["UserTenantId"];

                RoleDomain roleDomain = new RoleDomain()
                {
                    Name              = request.Name,
                    IsActive          = request.IsActive,
                    ManipulationLogId = request.ManipulationLogId,
                    TenantId          = userTenantId
                };

                return(Ok(new AddRoleResponse()
                {
                    Data = _roleManipulation.AddRole(roleDomain),
                    Success = Common.Enumerations.ResponseStatus.Succeeded
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemple #2
0
        public ActionResult Add(RoleDomain user)
        {
            user.Updater = user.Creater = CurrentUser.Name;

            var query = QueryCondition.Instance;

            query.AddEqual("RoleName", user.RoleName);

            if (user.Id > 0)
            {
                query.AddNotEqual("Id", user.Id.ToString());
            }

            if (Smart.Instance.RoleBizService.GetAllDomain(query).Count > 0)
            {
                ViewBag.Error = string.Format("已经存在相同的角色名称:{0},请重新填写", user.RoleName);
                return(View(user));
            }


            if (user.Id == 0)
            {
                Smart.Instance.RoleBizService.Add(user);
                ViewBag.Error = "1";
                return(RedirectToAction("Add", "Role", new { Error = 1 }));
            }
            ViewBag.Error = "1";
            Smart.Instance.RoleBizService.Update(user);

            return(RedirectToAction("Index", "Role"));
        }
Exemple #3
0
        /// <summary>
        /// Update Role
        /// </summary>
        /// <param name="role"></param>
        /// <returns></returns>
        public void Update(RoleDomain role)
        {
            var roleDb = _context.Role.FirstOrDefault(x => x.RoleId == role.Id);

            roleDb.FromDomainModel(role);
            _context.SaveChanges();
        }
Exemple #4
0
        public void Save_ValidationTest(RoleDomain domain)
        {
            var mock        = new Mock <IRoleDao>();
            var roleService = new RoleService(mock.Object);

            Assert.Throws <OrionException>(() => roleService.Save(domain));
        }
Exemple #5
0
        public IHttpActionResult UpdateRole([FromBody] UpdateRoleRequest request)
        {
            try
            {
                request.ValidateNotNull();

                RoleDomain roleDomain = _roleManipulation.GetRoleById(request.Id);

                if (roleDomain == null)
                {
                    return(NotFound());
                }

                roleDomain.Name              = request.Name;
                roleDomain.IsActive          = request.IsActive;
                roleDomain.ManipulationLogId = request.ManipulationLogId;

                _roleManipulation.UpdateRole(roleDomain);

                return(Ok(new UpdateRoleResponse()
                {
                    Success = Common.Enumerations.ResponseStatus.Succeeded
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemple #6
0
        public void TestSaveRole()
        {
            var roleDomain = new RoleDomain {
                Name = "testrole1"
            };

            UserRepo.SaveRole(roleDomain);
            var insertedRoleDomain  = UserRepo.GetRole(roleDomain.Name);
            var insertedRoleDomain2 = UserRepo.GetRole(insertedRoleDomain.RoleId);

            UserRepo.DeleteRole(insertedRoleDomain);

            Assert.IsNotNull(insertedRoleDomain);
            Assert.IsNotNull(insertedRoleDomain2);

            roleDomain = new RoleDomain {
                Name = "testrole1"
            };
            UserRepo.SaveRole(roleDomain);
            insertedRoleDomain = UserRepo.GetRole(roleDomain.Name);
            UserRepo.DeleteRole(insertedRoleDomain.RoleId);

            roleDomain = new RoleDomain {
                Name = "testrole1"
            };
            UserRepo.SaveRole(roleDomain);
            insertedRoleDomain = UserRepo.GetRole(roleDomain.Name);
            UserRepo.DeleteRole(insertedRoleDomain.Name);
        }
Exemple #7
0
        public ActionResult Edit(int roleId)
        {
            RoleDomain domain = Svc.Role.GetById(roleId);

            var vm = domain.MappingModel <RoleDomain, RoleViewModel>();

            return(View(vm));
        }
Exemple #8
0
        public void DeleteRole(RoleDomain roleDomain)
        {
            var mapperConfig = new MapperConfiguration(cfg => cfg.CreateMap <RoleDomain, Role>());
            var mapper       = mapperConfig.CreateMapper();
            var roledb       = mapper.Map <Role>(roleDomain);

            DeleteRoleDb(roledb);
        }
Exemple #9
0
        /// <summary>
        /// Adds new role to the database
        /// </summary>
        /// <param name="role">Role information to be added. Instance of <see cref="RoleDomain"/></param>
        /// <returns>RoleId of the newly created role</returns>
        public int Add(RoleDomain role)
        {
            var roleDb = new Role().FromDomainModel(role);

            _context.Role.Add(roleDb);
            _context.SaveChanges();
            return(roleDb.RoleId);
        }
Exemple #10
0
        /// <summary>
        /// Update Role
        /// </summary>
        /// <param name="role"></param>
        /// <returns></returns>
        public void UpdateRole(RoleDomain role)
        {
            ValidateRoleModel(role);
            ValidationHelper.GreaterThanZero(role.Id, MembershipMessages.RoleIdInvalid);
            ValidationHelper.NotNull(_roleRepository.GetById(role.Id), MembershipMessages.RoleWithIdDoesNotExist);

            _roleRepository.Update(role);
        }
Exemple #11
0
 private void ValidateRoleModel(RoleDomain role)
 {
     ValidationHelper.NotNull(role, MembershipMessages.RoleNotProvided);
     ValidationHelper.NotNullOrWhitespace(role.Name, MembershipMessages.RoleNameNotProvided);
     ValidationHelper.NotNull(role.TenantId, MembershipMessages.RoleTenantIdNotProvided);
     ValidationHelper.NotNull(_tenantRepository.GetById(role.TenantId), MembershipMessages.RoleTenantIdDoesNotExist);
     ValidationHelper.NotNull(role.ManipulationLogId, MembershipMessages.RoleManipulationLogIdNotProvided);
     ValidationHelper.MaxLength(role.Name, 50, MembershipMessages.RoleNameLenghtExceeded);
 }
Exemple #12
0
 /// <summary>
 /// Map from DataBase Role
 /// </summary>
 public static RoleForListViewModel MapFromDbObject(RoleDomain role)
 {
     return(new RoleForListViewModel
     {
         RoleInfoId = role.Id,
         Name = role.Name,
         IsActive = role.IsActive,
         ManipulationLogId = role.ManipulationLogId,
         Permissions = role.RolePermission?.Select(r => Permission.MapFromDbPermissionObject(r)).ToList()
     });
 }
Exemple #13
0
        public void Save_EqualTest(RoleDomain domain)
        {
            using (var tx = new TransactionScope())
            {
                int        id   = _roleDao.Save(domain);
                RoleDomain data = _roleDao.GetById(id);

                Assert.Equal(domain.RoleName, data.RoleName);
                Assert.Equal(domain.Status, data.Status);
                Assert.Equal(domain.UserIds, data.UserIds);
            }
        }
Exemple #14
0
        public void UpdateRole_Fail_RoleTenantIdNotProvided()
        {
            RoleDomain role = new RoleDomain()
            {
                Name              = "Rola 5",
                IsActive          = false,
                ManipulationLogId = 0,
                Id = 1
            };

            _roleManipulation.UpdateRole(role);
        }
Exemple #15
0
        public int Save(RoleDomain domain)
        {
            Checker.Has(domain.RoleName, "角色名稱不可以為空");


            if (domain.Status != UseStatus.Enable && (domain.UserIds != null && domain.UserIds.Count > 0))
            {
                throw new OrionException("角色還有使用者不可以關閉");
            }

            return(_roleDao.Save(domain));
        }
Exemple #16
0
        public RoleDomain GetById(int roleId)
        {
            RoleInfo data = _dc.RoleInfo.FirstOrDefault(x => x.RoleId == roleId);

            if (data == null)
            {
                return(null);
            }

            RoleDomain domain = toDomain(data);

            return(domain);
        }
Exemple #17
0
        public void AddRole_Fail_NameLengthExceeded()
        {
            RoleDomain role = new RoleDomain()
            {
                Name              = "Rola 1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                IsActive          = false,
                ManipulationLogId = 0,
                TenantId          = 1,
                Id = 1
            };

            _roleManipulation.AddRole(role);
        }
Exemple #18
0
        /// <summary>
        /// Adds new role to the database
        /// </summary>
        /// <param name="role">Role information to be added. Instance of <see cref="RoleDomain"/></param>
        /// <returns>RoleId of the newly created role</returns>
        public int AddRole(RoleDomain role)
        {
            ValidateRoleModel(role);

            var roleWithProvidedName = _roleRepository.GetByName(role.Name.SafeTrim());

            if (roleWithProvidedName != null)
            {
                throw new NsiArgumentException(MembershipMessages.RoleNameAlreadyExists, Common.Enumerations.SeverityEnum.Warning);
            }

            return(_roleRepository.Add(role));
        }
Exemple #19
0
        public void AddRole_Fail_RoleNameNotProvided()
        {
            RoleDomain role = new RoleDomain()
            {
                Name              = "",
                IsActive          = false,
                ManipulationLogId = 0,
                TenantId          = 1,
                Id = 1
            };

            _roleManipulation.AddRole(role);
        }
Exemple #20
0
        public void UpdateRole_Success()
        {
            RoleDomain role = new RoleDomain()
            {
                Name              = "Rola 5",
                IsActive          = false,
                ManipulationLogId = 0,
                TenantId          = 1,
                Id = 1
            };

            _roleManipulation.UpdateRole(role);
        }
Exemple #21
0
        public void UpdateRole_Fail_ProvidedRoleIDNotExist()
        {
            RoleDomain role = new RoleDomain()
            {
                Name              = "Rola 5",
                IsActive          = false,
                ManipulationLogId = 0,
                TenantId          = 1,
                Id = 5
            };

            _roleManipulation.UpdateRole(role);
        }
Exemple #22
0
        public void AddRole_Fail_RoleNameExists()
        {
            RoleDomain role = new RoleDomain()
            {
                Name              = "Rola 1",
                IsActive          = false,
                ManipulationLogId = 0,
                TenantId          = 1,
                Id = 1
            };

            _roleManipulation.AddRole(role);
        }
Exemple #23
0
        public ActionResult Add(int?Id, string Error)
        {
            ViewBag.Error = Error;
            var userModel = new RoleDomain();

            if (Id.HasValue)
            {
                var query = QueryCondition.Instance.AddEqual("Id", Id.Value.ToString());
                userModel = Smart.Instance.RoleBizService.GetAllDomain(query).FirstOrDefault();
            }
            AddOrUpdateBaseInfo(userModel);
            return(View(userModel));
        }
Exemple #24
0
        public static Role FromDomainModel(this Role obj, RoleDomain roleDomain)
        {
            if (obj == null)
            {
                obj = new Role();
            }
            obj.RoleId            = roleDomain.Id;
            obj.TenantId          = roleDomain.TenantId;
            obj.Name              = roleDomain.Name;
            obj.IsActive          = roleDomain.IsActive;
            obj.ManipulationLogId = roleDomain.ManipulationLogId;

            return(obj);
        }
Exemple #25
0
 public ActionResult Add(RoleDomain user)
 {
     user.Creater = "admin";
     user.Updater = "admin";
     if (BizService.Core.Smart.Instance.RoleBizService.Add(user))
     {
         ViewBag.Error = "1";//成功
         return(RedirectToAction("add", new { Error = 1 }));
     }
     else
     {
         ViewBag.Error = "0";//失败
     }
     return(View(user));
 }
Exemple #26
0
        public void SaveRole(RoleDomain roleDomain)
        {
            var mapperConfig = new MapperConfiguration(cfg => cfg.CreateMap <RoleDomain, Role>());
            var mapper       = mapperConfig.CreateMapper();
            var roledb       = mapper.Map <Role>(roleDomain);

            if (roledb.RoleId == 0)
            {
                SqlConnection.Connection.Insert(roledb);
            }
            else
            {
                SqlConnection.Connection.Update(roledb);
            }
        }
Exemple #27
0
 public RoleController()
 {
     _roleDomain = new RoleDomain();
 }
Exemple #28
0
        public void GetRoleById_Success()
        {
            RoleDomain module = _roleManipulation.GetRoleById(1);

            Assert.AreEqual(1, module.Id);
        }
Exemple #29
0
        public void GetRoleByName_Success()
        {
            RoleDomain module = _roleManipulation.GetRoleByName("Rola 1");

            Assert.AreEqual("Rola 1", module.Name);
        }
Exemple #30
0
        public int Save(RoleDomain domain)
        {
            RoleInfo data;

            if (domain.RoleId > 0)
            {
                data = _dc.RoleInfo.FirstOrDefault(x => x.RoleId == domain.RoleId);
                Checker.Has(data, "角色不存在無法修改");
            }
            else
            {
                data = new RoleInfo
                {
                    CreateBy   = domain.ModifyBy,
                    CreateDate = DateTime.Now,
                };
                _dc.RoleInfo.InsertOnSubmit(data);
            }

            data.RoleName     = domain.RoleName;
            data.AllowActList = OrionUtils.ToIdsString(domain.AllowActList);
            data.Status       = domain.Status.ToString();
            data.RemarkText   = domain.RemarkText;
            data.ModifyBy     = domain.ModifyBy;
            data.ModifyDate   = DateTime.Now;


            /*角色使用者對應處理*/
            if (domain.UserIds == null)
            {
                domain.UserIds = new List <int>();
            }

            var userList = data.UserRole.ToList();

            userList.ForEach(x =>
            {
                if (domain.UserIds.Contains(x.UserId))
                {
                    return;
                }
                _dc.UserRole.DeleteOnSubmit(x);
            });

            domain.UserIds.ForEach(x =>
            {
                if (userList.Any(y => y.UserId == x))
                {
                    return;
                }

                data.UserRole.Add(new UserRole
                {
                    UserId     = x,
                    CreateBy   = domain.ModifyBy,
                    CreateDate = DateTime.Now,
                    ModifyBy   = domain.ModifyBy,
                    ModifyDate = DateTime.Now,
                });
            });


            _dc.SubmitChanges();


            return(data.RoleId);
        }