Fórum
Ver pergunta

Selecionar campos Cabeçalho e linhas com Odata   

44 visualizações
0
0

Como não está a funcionar a importação dos dados do endpoint completo, devido a um problema no jasmin,  estando apenas a funcionar a importação para campos seleccionados. Preciso de ajuda para selecionar no endpoint “/billing/invoices/” campos relativos ao cabeçalho e linhas das faturas de modo a obter uma listagem.

Os campos que preciso são: do cabeçalho “id,documentType,serie,seriesNumber,documentDate,buyerCustomerParty,buyerCustomerPartyName,salesPerson,noteToRecipient” e das linhas “salesItem,description,unitPriceAmount,quantity,grossValueAmount,allowanceChargeAmountAmount,taxExclusiveAmountAmount”

O código que funcionava até à semana passada

		string endpoint = string.Format(CultureInfo.CurrentCulture, @"{0}/{1}/{2}/billing/invoices/odata?$filter=DocumentType eq 'FA' and day(DocumentDate) ge 1 and month(DocumentDate) eq 4 and year(DocumentDate) eq 2020", Constants.Jasmin.ApiBaseAddress, Constants.Jasmin.AccountKey, Constants.Jasmin.SubscriptionKey);
                    Uri endpointUri = new Uri(endpoint);
                    using (HttpResponseMessage response = await client.GetAsync(endpointUri))
                    {
                        if (!response.IsSuccessStatusCode)
                        {
                            string errorContent = await response.Content.ReadAsStringAsync();
                            StringBuilder sb = new StringBuilder();
                            sb.AppendLine(string.Format(CultureInfo.CurrentCulture, "The requested failed with status code {0} ({1}).", (int)response.StatusCode, response.StatusCode));
                            if (!string.IsNullOrWhiteSpace(errorContent))
                            {
                                sb.Append(string.Format(CultureInfo.CurrentCulture, "Message: {0}.", errorContent));
                            }
                            throw new InvalidOperationException(sb.ToString());
                        }

                        string json = await response.Content.ReadAsStringAsync();

                        JsonSerializerSettings settings = new JsonSerializerSettings()
                        {
                            ContractResolver = new CamelCasePropertyNamesContractResolver(),
                            Formatting = Formatting.Indented
                        };

                        InvoiceResourceOdata item = JsonConvert.DeserializeObject<InvoiceResourceOdata>(json);

                        List<InvoiceResource> items = item.Items;
					}

Preciso de ajuda na geração da query de Odata que me devolva esses campos

Obrigado

 

 

Faça login para poder traduzir
API Endpoints
Jasmin
Marcado como spam
Criado há 4 anos e 1 semana jorge
j
jorge Iniciante
Comentários
Não estou a entender, a ajuda é para fazer a query Odata ou para o código?
4 anos e 1 semana
sergiosereno
    Preciso da ajuda para a query Odata, uma query que me devolva os campos que referi acima. Obrigado
    4 anos e 1 semana
    jorge