コード例 #1
0
        public void X()
        {
            Dictionary <string, string> items = new Dictionary <string, string>();

            items.Add("reportType", "resource_request");

            CreaterReportRequest sut = new CreaterReportRequest(items);

            var xml = sut.CreateSoapRequest();
        }
コード例 #2
0
        public async Task <CreateReportResponse> CreateReportAsync(ExpenseAuthorizationRequest expenseAuthorizationRequest)
        {
            if (expenseAuthorizationRequest == null)
            {
                throw new ArgumentNullException(nameof(expenseAuthorizationRequest));
            }

            // login and get session cookie
            await LoginAsync(_options.Value);

            CreateReportResponse ret;
            // get the defaults, we could cache this in the future
            var resourceCategories = await GetLookupAsync(LookupType.ResourceCategory);

            var statuses = await GetLookupAsync(LookupType.StatusResource);

            var priorities = await GetLookupAsync(LookupType.PriorityResource);

            string resourceCategory = resourceCategories.FirstOrDefault(_ => _.Value == DefaultResourceCategory)?.Value;
            string currentStatus    = statuses.FirstOrDefault(_ => _.Value == DefaultCurrentStatus)?.Id;
            string priority         = priorities.FirstOrDefault(_ => _.Value == DefaultPriority)?.Id;

            var items = _mapper.Map(expenseAuthorizationRequest, priority, resourceCategory, currentStatus);

            var    request     = new CreaterReportRequest(items);
            string soapRequest = request.CreateSoapRequest();

            try
            {
                CreateReportResponse response1 = new CreateReportResponse();

                var soapResponse = await _client.CreateReportAsync(soapRequest);

                response1.LoadFromXml(soapResponse);

                ret = response1;
            }
            catch (ApiException exception)
            {
                throw new SoapFaultException(exception);
            }

            CreateReportResponse response = ret;

            return(response);
        }