Ejemplo n.º 1
0
        public static UserPermission GetPermissionsBy(UserPermissionGroupType groupType)
        {
            var perms = UserPermission.None;

            switch (groupType)
            {
            case UserPermissionGroupType.None:
                break;

            case UserPermissionGroupType.Reviewer:
                perms = UserPermission.DataReview;
                break;

            case UserPermissionGroupType.Executive:
                perms = UserPermission.DataReview;
                break;

            case UserPermissionGroupType.Uploader:
                perms = UserPermission.DataUpload;
                break;

            case UserPermissionGroupType.Administrator:
                perms = UserPermission.All & ~UserPermission.UserImpersonation;     // 다른 사용자로 로그인하기 기능은 제외
                break;

            case UserPermissionGroupType.System:
                perms = UserPermission.All;
                break;
            }

            return(perms);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 유저 정보를 추가한다.
        /// </summary>
        public bool InsertUser(string userId, UserPermissionGroupType permissionGroup)
        {
            userId.ThrowIfNullOrWhiteSpace(nameof(userId));

            string procCommandName = "up_User_Insert";

            try
            {
                var command = Connection.GetStoredProcCommand(procCommandName);
                Connection.AddInParameter(command, "UserID", DbType.String, userId);
                Connection.AddInParameter(command, "CompanyCode", DbType.String, string.Empty);
                Connection.AddInParameter(command, "PermissionGroup", DbType.String, permissionGroup.ToEnumMemberString());
                Connection.AddInParameter(command, "CreatedDate", DbType.DateTimeOffset, DateTimeOffset.Now);

                return((int)Connection.ExecuteNonQuery(command) > 0);
            }
            catch (Exception ex)
            {
                throw new DataException($"프로시져 실행 중 예기치 못한 에러가 발생했습니다.\r\n 프로시저: \"{procCommandName}\"", ex);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 유저를 추가한다.
        /// </summary>
        public UserInfo AddUser(string userId, UserPermissionGroupType permissionGroup)
        {
            using (var repo = new UserRepository())
            {
                if (repo.InsertUser(userId, permissionGroup))
                {
                    var user = repo.SelectUser(userId, false);
                    if (user == null)
                    {
                        throw new ObjectNotFoundException($"사용자를 찾을 수 없습니다. 대상: \"{userId}\"");
                    }

                    logger.Info($"새로운 사용자를 등록하였습니다. 대상: \"{user.UserId}\""
                                + $"\r\n\r\n"
                                + $"{user}");

                    return(user);
                }
                else
                {
                    throw new DataException($"사용자 등록에 실패했습니다. 대상: \"{userId}\"");
                }
            }
        }
Ejemplo n.º 4
0
 public UserPermissionGroup(UserPermissionGroupType type)
 {
     this.GroupType   = type;
     this.Permissions = GetPermissionsBy(type);
 }