示例#1
0
        /// <summary>
        /// Получить данные аутентификации сотрудника.
        /// </summary>
        /// <param name="employeeOperationCredentials">Данные аутентификации сотрудника.</param>
        /// <returns>Скорректированные данные аутентификации сотрудника.</returns>
        protected EmployeeOperationCredentials TryGetCredentials(EmployeeOperationCredentials employeeOperationCredentials)
        {
            var authToken = employeeOperationCredentials?.AuthToken ?? Token;
            var boxId     = employeeOperationCredentials?.BoxAddress ?? BoxId;

            if (authToken == null &&
                boxId == null &&
                employeeOperationCredentials == null)
            {
                return(null);
            }

            return(new EmployeeOperationCredentials
            {
                AuthToken = authToken,
                BoxAddress = boxId
            });
        }
示例#2
0
        /// <summary>
        /// Вызов метода для зарегистрированного сотрудника.
        /// </summary>
        /// <typeparam name="TResult">Тип возвращаемого метода.</typeparam>
        /// <param name="credentials">Данные аутентификации сотрудника.</param>
        /// <param name="action">Вызываемый метод.</param>
        /// <returns>Значение вызываемого метода.</returns>
        protected TResult CheckAutorizedInvoke <TResult>(EmployeeOperationCredentials credentials, Func <EmployeeOperationCredentials, TResult> action)
        {
            var correctCredentials = TryGetCredentials(credentials);

            return(CheckAutorizedInvoke(() => action(correctCredentials)));
        }