public ResponseXsd GetXsd(int requestCode)
        {
            log.Debug("Запуск");
            log.Debug($"requestCode: {requestCode}");
            log.Debug($"Token: {GetTokenValue()}");
            if (!AuthorizeHelpers.IsAuthorized(_dbContext, GetTokenValue(), requestCode, out ResponseXsd response, out var externalSystem))
            {
                log.Error($"Авторизация не пройдена. Причина: {response.Error}");
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.Forbidden, response));
            }

            log.Debug("Авторизация пройдена");
            var imp = new IncomingMessageProcessor(_dbContext, externalSystem);

            response = imp.GetXsd(requestCode);
            log.Debug($"Результат:\r\n{response}");

            if (response.IsError)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest, response));
            }

            log.Debug("Звершение");
            return(response);
        }
예제 #2
0
        public ResponseXsd GetXsd(int requestCode)
        {
            log.Debug("Запуск");
            log.Debug($"Сообщение:\r\n{OperationContext.Current.RequestContext.RequestMessage}");
            log.Debug($"requestCode: {requestCode}");
            log.Debug($"Token: {WebOperationContext.Current.IncomingRequest.Headers["Token"]}");
            if (!AuthorizeHelpers.IsAuthorized(
                    _dbContext,
                    WebOperationContext.Current.IncomingRequest.Headers["Token"],
                    requestCode,
                    out ResponseXsd response,
                    out var externalSystem))
            {
                log.Error($"Авторизация не пройдена. Причина: {response.Error}");
                WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Forbidden;
                return(response);
            }

            log.Debug("Авторизация пройдена");
            IncomingMessageProcessor imp = new IncomingMessageProcessor(_dbContext, externalSystem);

            response = imp.GetXsd(requestCode);
            log.Debug($"Результат:\r\n{response}");

            if (response.IsError)
            {
                WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.BadRequest;
                return(response);
            }

            log.Debug("Звершение");
            return(response);
        }