使用OnTimeApi的控制台应用程序

时间:2013-12-16 16:12:31

标签: c# console-application ontime

我正在尝试创建一个控制台应用程序,它将从我们的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 个答案:

答案 0 :(得分:0)

看起来您在第一个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