public ActionResult CCtray(string readOnlyToken) { var buildStatusService = new BuildStatusService(); var projects = new Projects(); projects.AddRange(buildStatusService.AppHarborBuilds(readOnlyToken)); projects.AddRange(buildStatusService.AzureWebsiteBuilds(readOnlyToken)); return new CcTrayActionResult(projects); }
public ActionResult CCtray(string readOnlyToken) { var buildStatusService = new BuildStatusService(); var projects = new Projects(); projects.AddRange(buildStatusService.AppHarborBuilds(readOnlyToken)); projects.AddRange(buildStatusService.AzureWebsiteBuilds(readOnlyToken)); return(new CcTrayActionResult(projects)); }
private async Task LoadCompany() { try { Company = await _adminService.ReadCompanyByIdAsync(_globalModel.CurrentUser.CompanyId); var projects = await _adminService.ReadProjectsForCompanyAsync(Company); Projects.Clear(); Projects.AddRange(projects); var users = await _adminService.ReadAllUsersForCompanyAsync(Company.CompanyId); Users.Clear(); Users.AddRange(users); _canCreateNewProject = await _adminService.CanCreateNewProject(Company.CompanyId); NewProject.RaiseCanExecuteChanged(); } catch (TimeoutException timeoutEx) { _eventAggregator.GetEvent <TimeoutErrorEvent>().Publish(timeoutEx); } IsCompanyEditorVisible = false; IsProjectEditorVisible = false; IsUserEditorVisible = false; }
public void Include(EntityData otherData) { Alerts.AddRange(otherData.Alerts); EmailAlertRecipients.AddRange(otherData.EmailAlertRecipients); SmsAlertRecipients.AddRange(otherData.SmsAlertRecipients); AlertReports.AddRange(otherData.AlertReports); AlertRules.AddRange(otherData.AlertRules); ApplicationLanguages.AddRange(otherData.ApplicationLanguages); ContentLanguages.AddRange(otherData.ContentLanguages); Countries.AddRange(otherData.Countries); DataCollectors.AddRange(otherData.DataCollectors); Districts.AddRange(otherData.Districts); GatewaySettings.AddRange(otherData.GatewaySettings); HeadManagerConsents.AddRange(otherData.HeadManagerConsents); HealthRisks.AddRange(otherData.HealthRisks); HealthRiskLanguageContents.AddRange(otherData.HealthRiskLanguageContents); Localizations.AddRange(otherData.Localizations); LocalizedTemplates.AddRange(otherData.LocalizedTemplates); NationalSocieties.AddRange(otherData.NationalSocieties); Notifications.AddRange(otherData.Notifications); Projects.AddRange(otherData.Projects); SupervisorUserProjects.AddRange(otherData.SupervisorUserProjects); ProjectHealthRisks.AddRange(otherData.ProjectHealthRisks); RawReports.AddRange(otherData.RawReports); Regions.AddRange(otherData.Regions); Reports.AddRange(otherData.Reports); Users.AddRange(otherData.Users); UserNationalSocieties.AddRange(otherData.UserNationalSocieties); Villages.AddRange(otherData.Villages); Zones.AddRange(otherData.Zones); }
private void UpdateShowingProjects() { Projects.Clear(); var showingProjects = _projects.Where(p => { if (SearchText == "") { return(true); } if (p.Name.Contains(SearchText)) { return(true); } else if (p.Key.Contains(SearchText)) { return(true); } return(false); }); if (CanCreateProject) { Projects.Add(null); } Projects.AddRange(showingProjects); }
async Task LoadProjectsFromDb() { var projects = await GetStorageService().GetProjects(Id); foreach (var asanaProject in projects) { var tasksCount = await SetProjectInfo(asanaProject); asanaProject.TasksCount = tasksCount.Item1; asanaProject.OverdueTasksCount = tasksCount.Item2; } Dispatcher.RunAsync(() => { Projects.Clear(); Projects.AddRange(projects); Workspace.ProjectsCount = projects.Count(x => !x.archived); if (IsPinned) { //PinService.CreateUpdateStartTileAsync(Workspace.name, Workspace.ProjectsCountText, PinService.GetWorkspaceDetailsUri(Id), false); } }); }
public int Commit() { EnsureItems(); var saveCollection = new Projects(); saveCollection.AddRange(_CachedItems); var xml = XmlSerializationService <Projects> .Serialize(saveCollection); File.WriteAllText(_filePath, xml); return(0); }
/// <summary> /// 载入处理 /// </summary> public void OnSolutionLoad() { if (!Solutions.Contains(Solution)) { Solutions.Add(Solution); } Entities.AddRange(Solution.Entities); Projects.AddRange(Solution.Projects); Enums.AddRange(Solution.Enums); TypedefItems.AddRange(Solution.TypedefItems); NotifyItems.AddRange(Solution.NotifyItems); ApiItems.AddRange(Solution.ApiItems); Solution.Entities.CollectionChanged += (s, e) => CollectionChanged(Entities, e); Solution.Projects.CollectionChanged += (s, e) => CollectionChanged(Projects, e); Solution.Enums.CollectionChanged += (s, e) => CollectionChanged(Projects, e); Solution.TypedefItems.CollectionChanged += (s, e) => CollectionChanged(TypedefItems, e); Solution.ApiItems.CollectionChanged += (s, e) => CollectionChanged(Projects, e); Solution.NotifyItems.CollectionChanged += (s, e) => CollectionChanged(Projects, e); }
public void MergeWith(IOutputWriter cache) { // Remove all crawled items cache .Projects.ForEach(x => { Projects.RemoveAll(y => y.File == x.File); Files.RemoveAll(y => y.Project != null && y.Project.File == x.File); }); cache .Files.ForEach(x => { Files.RemoveAll(y => y.File == x.File); Usings.RemoveAll(y => y.File.File == x.File); UsingAliases.RemoveAll(y => y.File.File == x.File); Namespaces.RemoveAll(y => y.File.File == x.File); Classes.RemoveAll(y => y.File.File == x.File); Interfaces.RemoveAll(y => y.File.File == x.File); Structs.RemoveAll(y => y.File.File == x.File); Enums.RemoveAll(y => y.File.File == x.File); Fields.RemoveAll(y => y.File.File == x.File); Methods.RemoveAll(y => y.File.File == x.File); Parameters.RemoveAll(y => y.File.File == x.File); Variables.RemoveAll(y => y.File.File == x.File); }); // Write new items Projects.AddRange(cache.Projects); Files.AddRange(cache.Files); Usings.AddRange(cache.Usings); UsingAliases.AddRange(cache.UsingAliases); Namespaces.AddRange(cache.Namespaces); Classes.AddRange(cache.Classes); Interfaces.AddRange(cache.Interfaces); Structs.AddRange(cache.Structs); Enums.AddRange(cache.Enums); Fields.AddRange(cache.Fields); Methods.AddRange(cache.Methods); Parameters.AddRange(cache.Parameters); Variables.AddRange(cache.Variables); BuildTypeIndex(); }
public ProjectsPageViewModel( INavigationService navigationService, IProjectDataStore projectDataStore, IAnalyticService analyticService) : base(navigationService) { Title = "Projects"; this.WhenActivated((CompositeDisposable _) => { // track every time this screen is activated analyticService.TrackScreen("my-projects"); }); ViewProjectDetails = ReactiveCommand.CreateFromTask <Project, Unit>(async project => { analyticService.TrackTapEvent("view-project"); await NavigationService.NavigateAsync( nameof(ProjectDetailsPage), new NavigationParameters { { "project", project } }).ConfigureAwait(false); return(Unit.Default); }); AddProject = ReactiveCommand.CreateFromTask(async() => { analyticService.TrackTapEvent("new-project"); await NavigationService.NavigateAsync($"NavigationPage/{nameof(EditProjectPage)}", useModalNavigation: true).ConfigureAwait(false); }); Filter = ReactiveCommand.CreateFromTask(async() => { // TODO: Finish this await NavigationService.NavigateAsync( $"NavigationPage/{nameof(ProjectFilterPage)}", new NavigationParameters { { "filter", _filter } }, useModalNavigation: true).ConfigureAwait(false); }); // set up the command used to load projects LoadProjects = ReactiveCommand.CreateFromTask(_ => { this.Log().Debug($"Loading projects on thread: {Thread.CurrentThread.ManagedThreadId}, IsBackground = {Thread.CurrentThread.IsBackground}"); AssertRunningOnBackgroundThread(); return(projectDataStore.LoadOldProjects(_oldestProject, ItemsPerPage)); }); // set up the command used to refresh projects RefreshProjects = ReactiveCommand.CreateFromTask(_ => { // TODO: Should track this with analytics? this.Log().Debug($"Refreshing projects on thread: {Thread.CurrentThread.ManagedThreadId}, IsBackground = {Thread.CurrentThread.IsBackground}"); AssertRunningOnBackgroundThread(); return(_newestProject != null ? projectDataStore.LoadNewProjects(_newestProject, ItemsPerPage) : projectDataStore.LoadNewProjects(ItemsPerPage)); }); LoadProjects .Merge(RefreshProjects) .SubscribeSafe(projects => { if (projects.Any()) { // NOTE: This probably isn't necessary... projects = projects.ExceptBy(Projects, p => p.ProjectId); // get the oldest and newest projects from the new data set. Age is simply // determined by the date the project was created var oldProject = projects.MinBy(p => p.CreateDate).First(); var newProject = projects.MaxBy(p => p.CreateDate).First(); if (_oldestProject == null && _newestProject == null) { _oldestProject = oldProject; _newestProject = newProject; // first projects being added. Add them to the list Projects.AddRange(projects); } else if (_oldestProject?.CreateDate > oldProject.CreateDate) { _oldestProject = oldProject; // if the projects are older, add them to the end of the list Projects.AddRange(projects); } else if (_newestProject?.CreateDate < newProject.CreateDate) { _newestProject = newProject; // if the projects are newer, insert them at the beginning of the list Projects.InsertRange(0, projects); } } }); // when either of the commands are executing, update the busy state LoadProjects.IsExecuting .CombineLatest(RefreshProjects.IsExecuting, (isLoadExecuting, isRefreshExecuting) => isLoadExecuting || isRefreshExecuting) .DistinctUntilChanged() .StartWith(false) .ToProperty(this, x => x.IsBusy, out _isBusy, scheduler: RxApp.MainThreadScheduler); // When an exception is thrown for either command, log the error and let the user handle // the exception LoadProjects.ThrownExceptions .Merge(RefreshProjects.ThrownExceptions) .SelectMany(exception => { this.Log().ErrorException("Error loading or refreshing data", exception); return(SharedInteractions.Error.Handle(exception)); }) .Subscribe(); }
protected override async void OnInitialize() { var projects = await teamServices.GetProjectsAsync(); Projects.AddRange(projects.Select(p => new ProjectViewModel(p))); }
public SimpleTestSolutionContext(string solutionRoot, params SimpleTestProjectContext[] projects) { SolutionPath = Path.Combine(solutionRoot, "solution.sln"); Projects.AddRange(projects); }
void ProjectsChanged(IEnumerable <Project> projects) { Projects.Clear(); Projects.AddRange(projects); UpdateDefaultProject(); }
async void LoadData() { var storageService = new StorageService(); AddOperation(); if (WorkspaceId == 0) { if (ProjectId.HasValue) { var project = await storageService.Find <AsanaProject>(ProjectId.Value); WorkspaceId = project.workspaceid; } else if (Id.HasValue) { var task = await storageService.Find <AsanaTask>(Id.Value); if (task == null) { MessageBox.Show("Task is not found"); NavigationManager.GoBack(); return; } WorkspaceId = task.workspaceid; } else if (ParentId.HasValue) { var task = await storageService.Find <AsanaTask>(ParentId.Value); if (task == null) { MessageBox.Show("Task is not found"); NavigationManager.GoBack(); return; } WorkspaceId = task.workspaceid; ProjectId = task.projectid; CanEditProject = false; } } var followers = await storageService.GetUsers(WorkspaceId); Followers.AddRange(followers); AppTitle = (await storageService.Find <AsanaWorkspace>(WorkspaceId)).name; var tags = await storageService.GetTags(WorkspaceId); Tags.AddRange(tags); if (IsEditMode) { var task = await storageService.Find <AsanaTask>(Id.Value); if (task == null) { MessageBox.Show("Task is not found"); NavigationManager.GoBack(); return; } var r = await CheckSyncStatus(task); if (r != null) { task = r; } await SetData(task); if (task.parentId.HasValue) { CanEditProject = false; } // if (model.CheckInternetConnection(false)) // { // var response = //await AsanaClient.SendRequest(() => new AsanaRespository().GetTask(model.Id.Value)); // if (AsanaClient.ProcessResponse(response)) // { // response.Data.projectid = response.Data.projects.Any() ? response.Data.projects.First().id : 0; // response.Data.assigneeid = response.Data.assignee != null ? response.Data.assignee.id : 0; // SetData(response.Data); // using (var db = new DbTransaction()) // { // db.InsertOrUpdate(response.Data); // db.Commit(); // } // } // } } else { DueDate = DateTime.Today; } var projects = await storageService.GetActiveProjects(WorkspaceId); Projects.Insert(0, new AsanaProject { id = 0, name = "none", workspaceid = WorkspaceId }); Projects.AddRange(projects); Project = ProjectId.HasValue ? Projects.FirstOrDefault(x => x.id == ProjectId.Value) : Projects.FirstOrDefault(x => x.id > 0); if (Project != null) { OldProjectId = Project.id; } if (Project == null) { Project = Projects.FirstOrDefault(x => x.id > 0); } if (Status == null) { Status = Statuses.FirstOrDefault(x => x.name == EAsanaTaskStatus.upcoming.ToString()); } var users = await storageService.GetUsers(WorkspaceId); Users.Insert(0, new AsanaUser() { id = -1, name = "none" }); Users.AddRange(users); User = UserId.HasValue ? Users.FirstOrDefault(x => x.id == UserId.Value) : Users.FirstOrDefault(); if (User == null) { User = Users.FirstOrDefault(); } RemoveOperation(); }
public void AddProjects(params string[] projects) { Projects.AddRange(projects.Where(d => !Projects.Any(ep => ep.Name == d)).Select(p => new Project(p, this))); }
private void SimpleButton_Click(object sender, EventArgs e) { Button btn = sender as Button; if (null == btn) { return; } if (CancelBtn == btn) { // if we are still connected disconnect now if (Connected) { Cmd.ServerInterface.Logout(Data); Connected = false; } // then close the dialog normally DialogResult = DialogResult.OK; Close(); return; } if (LoginBtn == btn) { if (Connected) { Cmd.ServerInterface.Logout(Data); Connected = false; UploadBtn.Enabled = false; } BimServerLoginForm form = new BimServerLoginForm(UIDoc, Data, false); if (DialogResult.OK != form.ShowDialog()) { return; } Data.CopyFrom(form.Data); Cmd.ShowResult(Data.Token); Data.SaveToProperties(false); // save the settings in the properties so the next call will default with them UploadBtn.Enabled = true; // if we have a connection we can enable the action buttons (upload) Connected = true; // mark as connected return; } if (SaveBtn == btn) { string name = SelectedProjectName; if (string.IsNullOrEmpty(name)) { return; } Data.ProjectName = name; Cmd.BimServerExchange.SaveBimServerLink(name); // report to the user Cmd.BimServerExchange.ShowResultInForm($"This revit document is now linked to BIMserver project '{name}'"); return; } if (SaveIfcBtn == btn) { string path = Cmd.BimServerExchange.GetCurrentProjectPath(); if (string.IsNullOrEmpty(path) || !File.Exists(path)) { return; } path = Cmd.BimServerExchange.AskForIfcSavePath(path); if (string.IsNullOrEmpty(path)) { return; } Cmd.ShowResult(path); try { Cmd.BimServerExchange.ActivateButtons(false); Cmd.BimServerExchange.ExportProjectToIFC(path); IfcEdt.Text = path; Cmd.BimServerExchange.DoUpload(); } catch (IcnException iex) { iex.Display("Exception in Export to IFC"); } catch (Exception ex) { Cmd.ShowResult($"Export to IFC failed ({ex.Message})"); Cmd.ShowResult(ex.Message); } finally { Cmd.BimServerExchange.ActivateButtons(true); } return; } if (LoadIfcBtn == btn) { string path = Cmd.BimServerExchange.AskForIfcUploadPath(); if (string.IsNullOrEmpty(path) || !File.Exists(path)) { return; } IfcEdt.Text = path; Cmd.BimServerExchange.DoUpload(); return; } if (CopyProjectNameBtn == btn) { string name = UIDoc.Document.PathName; if (string.IsNullOrEmpty(name)) { return; } string fname = Path.GetFileNameWithoutExtension(name); if (string.IsNullOrEmpty(fname)) { return; } ProjectNameEdt.Text = fname; Cmd.BimServerExchange.SelectProjectInTree(fname); return; } if (ProjectAddBtn == btn) { if (string.IsNullOrEmpty(ProjectNameEdt.Text)) { Cmd.ShowResult("The revit project does not have a name (it must be saved before running this tool)"); return; } string ifcFormat = NewProjectData.IfcFormat; if (ifcFormat.StartsWith("ifc2x3", StringComparison.InvariantCultureIgnoreCase)) { ifcFormat = "ifc2x3tc1"; } else { ifcFormat = "ifc4"; } string fullname = Cmd.BimServerExchange.AddProject(SelectedProject, ProjectNameEdt.Text, ProjectDescEdt.Text, ifcFormat); if (string.IsNullOrEmpty(fullname)) { Cmd.ShowResult("Could not add a new project"); return; } UploadBtn.Enabled = true; // reset the projects list Projects.Clear(); Projects.AddRange(Cmd.ServerInterface.GetAllProjects(Data)); return; } if (UploadBtn == btn) { Cmd.BimServerExchange.DoUpload(); return; } if (CancelUploadBtn == btn) { Cmd.BimServerExchange.ActivateButtons(true); Cmd.ServerInterface.CancelDownload(); return; } // the exact structure of the IFC download request/response is currently undetermined, // we can't get the filename if (DownloadBtn == btn) { // see if there is a project up and running try { SProject proj = SelectedProject; if (null == proj) { throw new IcnException("No project selected", 10, "Download"); } SRevision file = SelectedRevision; if (null == file) { throw new IcnException("No IFC file selected", 10, "Download"); } string scheme = proj.schema; if (string.IsNullOrEmpty(scheme) || !scheme.StartsWith("Ifc", StringComparison.InvariantCultureIgnoreCase)) { Cmd.ShowResult($"Unknown IFC scheme '{scheme ?? string.Empty}'. Attemping to download with 'Ifc2x3tc1 (Streaming)'"); scheme = "Ifc2x3tc1 (Streaming)"; } SSerializer serialiser = Cmd.ServerInterface.GetSerialiser(Data, proj, scheme); //SSerializer serialiser = Cmd.ServerInterface.GetSerialiser(Data, proj, "json"); if (null == serialiser) { throw new IcnException($"Serializer '{scheme}' not found in project '{SelectedProjectName}'", 10, "Download"); } // construct a default pathname out of the current revit project location and the BIMserver project name string path = UIDoc.Document.PathName; if (!string.IsNullOrEmpty(path)) { path = Path.GetDirectoryName(path); } path = Cmd.BimServerExchange.AskForIfcDownloadFilename(path, proj.name + ".ifc"); if (string.IsNullOrEmpty(path)) { throw new IcnException($"No path supplied to download to", 10, "Download"); } if (File.Exists(path)) { string backup = Path.ChangeExtension(path, "bak"); if (File.Exists(backup)) { File.Delete(backup); } File.Move(path, backup); } // we may have linked files. And we likely will need additional controls (e.g. for the Project to upload to) and additional data to go with this Cmd.ServerInterface.DownloadFile(Data, path, file.oid, serialiser.oid); Cmd.ShowResult($"IFC file '{path}' is copied form the BIMsrver"); } catch (IcnException iex) { iex.Display(@"Exception in Download IFC file"); Cmd.ShowResult(iex.ToString()); } catch (Exception ex) { Cmd.ShowResult($"Download IFC file failed ({ex.Message})"); Cmd.ShowResult(ex.Message); } return; } throw new IcnException($"SimpleButton '{btn.Name}' activated that has no code", 20, "BimServerExchangeForm"); }