示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }