Пример #1
0
        public string Execute(string command, params string[] data)
        {
            if (Session.User == null)
            {
                throw new ArgumentException("You should login first!");
            }

            if (data.Length < 3)
            {
                throw new InvalidOperationException($"Command {command} not valid!");
            }

            int  albumId;
            bool result = int.TryParse(data[0], out albumId);

            if (!result)
            {
                throw new InvalidOperationException($"Command {command} not valid!");
            }

            string username   = data[1];
            string permission = data[2];

            return(albumRoleService.ShareAlbum(albumId, username, permission));
        }
Пример #2
0
        // ShareAlbum <albumId> <username> <permission>

        public string Execute(string[] data)
        {
            int    albumId        = int.Parse(data[0]);
            string username       = data[1];
            string permissionName = data[2];

            Album album = albumServise.GetAlbumById(albumId);

            User user = userService.GetUserByUsername(username);

            bool isValid = Enum.TryParse <Role>(permissionName, out Role role);

            if (!isValid)
            {
                throw new ArgumentException("Permission must be either “Owner” or “Viewer”!");
            }

            AlbumRole albumRole = albumRoleService.ShareAlbum(album, user, role);

            return($"Username {user.Username} added to album {album.Name} ({albumRole.Role.ToString()})");
        }