Консольное приложение с использованием OnTimeApi

Я пытаюсь создать консольное приложение, которое будет считывать данные с нашего сайта Ontime, а затем записывать их в базу данных.

Я добавил ссылку на OnTimeApi, но у меня возникают трудности с написанием части.

Вот часть моего кода:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using OnTimeApi;
using System.Net;
using System.IO;
using System.Security.Cryptography;
using System.Configuration;

namespace ConsoleApplication2
{
    class Program
    {

    static void Main(string[] args)
    {
        Settings = new Settings(
        onTimeUrl: ConfigurationManager.AppSettings.Get("OnTimeUrl"),
        clientId: ConfigurationManager.AppSettings.Get("ClientId"),
        clientSecret: ConfigurationManager.AppSettings.Get("ClientSecret")
    );

        var OnTime = new OnTime(Program.Settings);

        OnTime.ObtainAccessTokenFromUsernamePassword(
            username: "************",
            password: "************",
            scope: "read write"
        );

        var result = OnTime.Get<DataResponse<List<Project>>>("v1/projects");
        Console.WriteLine("Testing...");

        foreach (result in OnTime.GetUrl("v1/projects", null))
        {
            Console.WriteLine("{0}", file.Name);
        }
        Console.ReadLine();
        Projects.Clear();
        foreach (var project in result.data)
        {
            Projects.Add(project);
            GetFeatures(project.id);
            GetDefects(project.id);
            GetTasks(project.id);
            GetWork_Logs(project.id);
        }


    }

Попытка заставить это пройти через каждую из различных частей, таким образом, это получает все. Я думаю, что это близко, но я не уверен.

1 ответ

Решение

Похоже, вы использовали неправильное имя переменной цикла в вашем первом foreach:

    foreach (result in OnTime.GetUrl("v1/projects", null))
    {
        Console.WriteLine("{0}", file.Name);
    }

должно быть

    foreach (var file in OnTime.GetUrl("v1/projects", null))
    {
        Console.WriteLine("{0}", file.Name);
    }

в противном случае вы не объявили file в любом месте.

Другие вопросы по тегам