public static IDictionary <string, string> IssuesChanges(Issues oldIssues, Issues newIssues) { IDictionary <string, string> listOfChanges = new Dictionary <string, string>(); int count = 0; foreach (Issue oldIss in oldIssues.issues) { foreach (Issue newIss in newIssues.issues) { //если не равны issue с одинаковым id if ((Issue.intToBool(oldIss.ID.CompareTo(newIss.ID))) & (oldIss != newIss)) { String str = "Issue #" + oldIss.ID + " changed "; //проверяем не изменились ли статусы задач if (!Issue.intToBool(oldIss.Status.Name.CompareTo(newIss.Status.Name))) { str += "\n\t'status' from " + oldIss.Status.Name + " to " + newIss.Status.Name; } //проверяем не изменился ли процент выполнения задач if (!Issue.intToBool(oldIss.Done_ratio.CompareTo(newIss.Done_ratio))) { str += "\n\t'Done ratio' from " + oldIss.Done_ratio + " to " + newIss.Done_ratio; } //проверяем не изменился ли priority if (!Issue.intToBool(oldIss.Priority.Name.CompareTo(newIss.Priority.Name))) { str += "\n\t'Priority' from " + oldIss.Priority.Name + " to " + newIss.Priority.Name; } listOfChanges.Add(oldIss.ID, str); /* * * добавить проверку на изменение других полей задачи * */ } } } return(listOfChanges); }
public static bool IssuesCount(Issues oldIssues, Issues newIssues) { //возвращает true если количество issue одиннаковое int oldCount = 0, newCount = 0; foreach (Issue issue1 in oldIssues.issues) { oldCount++; } foreach (Issue issue2 in newIssues.issues) { newCount++; } if (oldCount != newCount) { return(false); } else { return(true); } }