예제 #1
0
        public void Update(int userRoleId, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                UserRole existingData = dbEntity.UserRole.Find(userRoleId);
                if (existingData == null)
                {
                    throw new CDSException(12103);
                }

                if (existingData.Name != parseData.Name)
                {
                    try
                    {
                        existingData.Name = parseData.Name;
                        dbEntity.SaveChanges();
                    }
                    catch
                    {
                        throw new CDSException(12104);
                    }
                }

                //adjust user role's permission
                UserRolePermissionModel model = new UserRolePermissionModel();
                model.DeleteAllByUserRoleId(userRoleId);

                if (parseData.PermissionCatalogCode != null)
                {
                    model.CreateManyByUserRoleId(userRoleId, parseData.PermissionCatalogCode);
                }
            }
        }