public object Clone() { var trackerProject = new TrackerProject(); trackerProject.IdStudio = IdStudio; trackerProject.NameStudio = NameStudio; trackerProject.PathStudio = PathStudio; trackerProject.Id = Id; trackerProject.Name = Name; trackerProject.Path = Path; trackerProject.Description = Description; trackerProject.ClientId = ClientId; trackerProject.ProjectStatus = ProjectStatus; trackerProject.DateCreated = DateCreated; trackerProject.DateStart = DateStart; trackerProject.DateCompleted = DateCompleted; trackerProject.DateDue = DateDue; trackerProject.ProjectActivities = new List <TrackerProjectActivity>(); foreach (var tpa in ProjectActivities) { trackerProject.ProjectActivities.Add((TrackerProjectActivity)tpa.Clone()); } return(trackerProject); }
public static TrackerProject GetProjectFromId(string id) { var trackerProject = new TrackerProject(); foreach (var project in Tracked.Preferences.TrackerProjects) { if (project.Id != id) { continue; } trackerProject = project; break; } return(trackerProject); }
public static Structures.TrackerProject GetTrackerProjectFromDocument(IStudioDocument doc) { Structures.TrackerProject trackerProject = null; try { var projectInfo = doc.Project.GetProjectInfo(); if (projectInfo != null) { foreach (var project in Tracked.Preferences.TrackerProjects) { if (project.IdStudio != projectInfo.Id.ToString() && string.Compare(project.PathStudio, projectInfo.LocalProjectFolder.Trim() , StringComparison.OrdinalIgnoreCase) != 0) { continue; } trackerProject = project; break; } if (trackerProject == null) { trackerProject = new Structures.TrackerProject { Id = Guid.NewGuid().ToString(), Name = projectInfo.Name, Path = projectInfo.LocalProjectFolder.Trim(), IdStudio = projectInfo.Id.ToString(), NameStudio = projectInfo.Name.Trim(), PathStudio = projectInfo.LocalProjectFolder.Trim(), ClientId = string.Empty, ProjectActivities = new List <Structures.TrackerProjectActivity>(), ProjectStatus = projectInfo.IsCompleted ? "Completed" : "In progress", Description = projectInfo.Description ?? string.Empty, DateStart = projectInfo.CreatedAt, DateCreated = DateTime.Now, DateDue = projectInfo.DueDate ?? DateTime.Now.AddDays(7) }; if (trackerProject.DateDue < DateTime.Now) { trackerProject.DateDue = DateTime.Now.AddDays(1); } trackerProject.DateCompleted = DateTime.Now; Tracked.Preferences.TrackerProjects.Add(trackerProject); Tracked.TarckerCheckNewProjectAdded = true; Tracked.TarckerCheckNewProjectId = trackerProject.Id; } } } catch (Exception) { // ignored } return(trackerProject); }