using AxosoftAPI.NET.Models;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace transfertIssueGitlabAxo {
public class MyJob : IJob {
public void Execute(IJobExecutionContext context) {
var axoController = new ApiControllerAxo();
var axosoftClient = axoController.Launch();
Console.WriteLine($"{DateTime.UtcNow} : Starting to take data from gitlab");
var gitResults = new ApiControllerGitlab().ListProjectIssuesAsync(9).Result.ToArray();
Console.WriteLine($"{DateTime.UtcNow} : Finished to take data from gitlab");
var axoBugs = axosoftClient.Defects.Get(new Dictionary<string, object> {
{ "sort_fields", "id desc" },
{ "columns", "id,name,reported_date,status,description,due_date,reported_date,reported_by,created_by,release,project,reported_by_customer_contact,workflow_step,percent_complete,completion_date,assigned_to" }
var axoUsers = axosoftClient.Users.Get();
Console.WriteLine($"{DateTime.UtcNow} : Starting to take data from axo");
var axoResults = axoBugs.Data != null ? axoBugs.Data.ToArray() : Array.Empty<Item>();
Console.WriteLine($"{DateTime.UtcNow} : Finished to take data from axo");
var axoUsersResults = axoUsers.Data != null ? axoUsers.Data.ToArray() : Array.Empty<User>();
foreach (var elem in gitResults.Reverse())
if (elem.State.ToString() == "Opened")
foreach (var element in axoResults)
var elementExists = element.Name.Contains("#" + elem.LocalId);
Console.WriteLine("update - {0} : {1}", element.LastUpdatedDateTime, elem.UpdatedAt);
foreach (var element in axoResults)
Console.WriteLine("update - {0} : {1}", element.Name, elem.LocalId);
var elementExists = element.Name.Contains("#" + elem.LocalId);
if (elementExists && element.Status.Name.ToLower().Contains("signalé"))
Console.WriteLine("update - {0} : {1}", element.LastUpdatedDateTime, elem.UpdatedAt);