Beispiel #1
0
        /// <summary>
        /// Deletes passed folder or file.
        /// </summary>
        public OperationResult DeleteSco(string scoId)
        {
            if (string.IsNullOrWhiteSpace(scoId))
            {
                throw new ArgumentException("Non-empty value expected", nameof(scoId));
            }

            try
            {
                StatusInfo deleteResult = _acProxy.DeleteSco(scoId);
                if (deleteResult.Code != StatusCodes.ok)
                {
                    return(OperationResult.Error(deleteResult.GetErrorInfo()));
                }
                return(OperationResult.Success());
            }
            catch (AdobeConnectException ex)
            {
                if (ex.Status.Code == StatusCodes.no_access && ex.Status.SubCode == StatusSubCodes.denied)
                {
                    return(OperationResult.Error(Resources.Messages.AccessDenied));
                }

                string errorMessage = GetOutputErrorMessage("DeleteFolder", ex);
                return(OperationResult.Error(errorMessage));
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("DeleteFolder", ex);
                return(OperationResult.Error(errorMessage));
            }
        }
Beispiel #2
0
        public OperationResult MoveSco(string scoId, string destinationFolderScoId)
        {
            if (string.IsNullOrWhiteSpace(scoId))
            {
                throw new ArgumentException("Non-empty value expected", nameof(scoId));
            }
            if (string.IsNullOrWhiteSpace(destinationFolderScoId))
            {
                throw new ArgumentException("Non-empty value expected", nameof(destinationFolderScoId));
            }

            try
            {
                //var scoResult = _acProxy.GetScoInfo(scoId);
                //ScoType scoType = scoResult.ScoInfo.Type;
                // TODO: validation!! via FluentValidation
                //if (string.IsNullOrWhiteSpace(dto.FolderId))
                //    throw new ArgumentException("folderScoId can't be empty");
                StatusInfo result = _acProxy.MoveSco(destinationFolderScoId, scoId);

                if (result.Code != StatusCodes.ok)
                {
                    return(OperationResult.Error(result.GetErrorInfo()));
                }
                return(OperationResult.Success());
            }
            catch (AdobeConnectException ex)
            {
                if (ex.Status.Code == StatusCodes.no_access && ex.Status.SubCode == StatusSubCodes.denied)
                {
                    return(OperationResult.Error(Resources.Messages.AccessDenied));
                }
                if (ex.Status.Code == StatusCodes.invalid && ex.Status.SubCode == StatusSubCodes.duplicate &&
                    ex.Status.InvalidField == "name")
                {
                    return(OperationResult.Error(Resources.Messages.NameNotUnique));
                }

                string errorMessage = GetOutputErrorMessage("DeleteFolder", ex);
                return(OperationResult.Error(errorMessage));
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("DeleteFolder", ex);
                return(OperationResult.Error(errorMessage));
            }
        }
Beispiel #3
0
 public AdobeConnectException(StatusInfo status) : base(string.Format("[AdobeConnectProxy Error] {0}.", status.GetErrorInfo()))
 {
     Status = status;
 }
Beispiel #4
0
        public OperationResult RemoveAudioProfileFromMeeting(string meetingScoId, IAdobeConnectProxy provider)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }
            if (string.IsNullOrWhiteSpace(meetingScoId))
            {
                throw new ArgumentException("Non-empty value expected", nameof(meetingScoId));
            }

            StatusInfo status = provider.UpdateAclField(meetingScoId, AclFieldId.telephony_profile, string.Empty);

            if (status.Code == StatusCodes.ok)
            {
                return(OperationResult.Success());
            }

            _logger.ErrorFormat($"Error occured when tried to RemoveAudioProfileFromMeeting. MeetingScoId={meetingScoId}. AC Error: {status.GetErrorInfo()}");
            return(OperationResult.Error("Unexpected error. Please refresh page and try again."));
        }