Ejemplo n.º 1
0
        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);
                    }
                });
            }
        }
Ejemplo n.º 4
0
        public ContentViewModel(CustomViewProject project)
        {
            Name = "Content View";

            Project = project;
        }