public List <CustomViewProject> GetProjects() { var projectModels = new List <CustomViewProject>(); foreach (var project in _projectsController.GetAllProjects()) { var projectInfo = project.GetProjectInfo(); var projectModel = new CustomViewProject { Id = projectInfo.Id.ToString(), Name = projectInfo.Name, Description = projectInfo.Description, Created = projectInfo.CreatedAt, DueDate = projectInfo.DueDate ?? DateTime.MaxValue, ProjectType = projectInfo.ProjectType.ToString(), ProjectOrigin = projectInfo.ProjectOrigin, Path = projectInfo.LocalProjectFolder, SourceLanguage = GetLanguage(projectInfo.SourceLanguage), TargetLanguages = GetLanguages(projectInfo.TargetLanguages) }; projectModels.Add(projectModel); } return(projectModels); }
private void ActivateStudioProject(CustomViewProject customViewProject) { _projectsController.BeginInvoke(new Action(delegate { var studioProject = _projectsController.GetProjects().FirstOrDefault(a => a.GetProjectInfo().Id.ToString() == customViewProject.Id); var selectedStudioProject = _projectsController.CurrentProject?.GetProjectInfo(); if (studioProject != null && selectedStudioProject?.Id.ToString() != customViewProject.Id) { _projectsController.ActivateProject(studioProject); _projectsController.SelectedProjects = new[] { studioProject }; } })); }
private void OnSelectedProjectChanged(object sender, CustomViewProject customViewProject) { _contentViewModel.Project = customViewProject; if (_contentViewModel.Project != null) { _cancellationToken?.Cancel(); _cancellationToken = new CancellationTokenSource(); System.Threading.Tasks.Task.Run(async delegate { await System.Threading.Tasks.Task.Delay(500, _cancellationToken.Token); }).ContinueWith(c => { if (c.Status == System.Threading.Tasks.TaskStatus.RanToCompletion) { ActivateStudioProject(customViewProject); } }); } }
public ContentViewModel(CustomViewProject project) { Name = "Content View"; Project = project; }