private bool isAddProject(bool redmineProject, bool selectedProject, bool bothProject, List <string> listProject, Project project) { bool res = false; if (redmineProject) { if (LoadHours.IsItemInPlanActiveProject(project)) { res = true; return(res); } } if (selectedProject) { string findProjectName = listProject.Find(x => x.Equals(project.Name)); if (findProjectName != null) { res = true; return(res); } } if (bothProject) { string findProjectName = listProject.Find(x => x.Equals(project.Name)); if (LoadHours.IsItemInPlanActiveProject(project) || findProjectName != null) { res = true; return(res); } } return(res); }
public void GetIssue_ProjectFromRedmine(bool redmineProject, bool selectedProject, bool bothProject, string textProject) { redmineData.listIssue.Clear(); redmineData.listOpenIssue.Clear(); redmineData.listProject.Clear(); redmineData.listMonthHours.Clear(); List <string> listProject = getListProject(textProject); try { NameValueCollection parametr = new NameValueCollection { { "project_id", "*" } }; foreach (Project project in redmineManager.GetObjects <Project>(parametr)) { //MessageBox.Show(project.Status.ToString()); //redmineData.listProject.Add(project); if (isAddProject(redmineProject, selectedProject, bothProject, listProject, project)) { redmineData.listProject.Add(project); } } parametr = new NameValueCollection { { "status_id", "open" } }; foreach (Issue issue in redmineManager.GetObjects <Issue>(parametr)) { Project project = redmineData.listProject.Find(x => x.Id == issue.Project.Id); if (project != null) { if ((issue.StartDate != null) & (issue.DueDate != null) & (issue.AssignedTo != null)) { redmineData.listOpenIssue.Add(issue); } } } parametr = new NameValueCollection { { "status_id", "*" } }; foreach (Issue issue in redmineManager.GetObjects <Issue>(parametr)) { Project project = redmineData.listProject.Find(x => x.Id == issue.Project.Id); if (issue.Id == 936) { Issue issue_jornals = redmineManager.GetObject <Issue>(issue.Id.ToString(), new NameValueCollection { { "include", "journals" } }); this.EmailSaveIssue = issue_jornals; } if (issue.Id == 937) { Issue issue_jornals = redmineManager.GetObject <Issue>(issue.Id.ToString(), new NameValueCollection { { "include", "journals" } }); foreach (var journal in issue_jornals.Journals) { string note = journal.Notes; if (!note.Equals("")) { MonthHours monthHours = new MonthHours(note); redmineData.listMonthHours.Add(monthHours); } } } if (project != null) { if ((issue.StartDate != null) & (issue.DueDate != null) & (issue.AssignedTo != null)) { redmineData.listIssue.Add(issue); //if (!issue.Status.Name.Contains("Закрыта") & !issue.Status.Name.Contains("Решена") & // !issue.Status.Name.Contains("Отклонена")) //{ // foreach (IssueRelation issueRelation in redmineManager.GetObjects<IssueRelation>(new NameValueCollection { { "issue_id", issue.Id.ToString() } })) // { // if (issueRelation != null) // issue.Relations.Add(issueRelation); // } //} } } //else // listIssue.Add(issue); } } catch (Exception ex) { MessageBox.Show("Error - " + ex.Message); MessageBox.Show(redmineData.listIssue[(redmineData.listIssue.Count - 1)].Id.ToString()); } LoadHours.GetYearsFromListIssue(listYear, redmineData.listIssue); }