Консольное приложение с использованием 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
в любом месте.