private void DeleteProjects() { List <PublishedProject> projectList = new List <PublishedProject>(); LV_ServerObjects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; projectList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (PublishedProject)selectedItem.Tag)); }); if (!projectList.Any()) { return; } int projectCounter = 1; List <QueueJob> jobs = projectList.Select(p => { if (p.IsCheckedOut) { QueueJob checkinJob = p.Draft.CheckIn(true); CsomHelper.ExecuteAndWait(checkinJob, TB_Status); } QueueJob job = p.DeleteObject(); Log.WriteVerbose(new SourceInfo(), TB_Status, "Deleting project {0} of {1} with name {2}.", projectCounter++, projectList.Count, p.Name); return(job); }).ToList(); Log.WriteVerbose(new SourceInfo(), TB_Status, _bgeProjectsDelete, "Waiting for the Delete queue job to complete."); CsomHelper.ExecuteAndWait(jobs, TB_Status); Log.WriteVerbose(new SourceInfo(), TB_Status, _bgeProjectsDelete, "Refreshing Projects."); LoadProjectsList(); }
private void PublishProjects() { List <PublishedProject> projectList = new List <PublishedProject>(); LV_Projects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; projectList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (PublishedProject)selectedItem.Tag)); }); if (!projectList.Any()) { return; } List <QueueJob> jobs = projectList.Select(p => { if (!p.IsCheckedOut) { p.CheckOut(); } Log.WriteVerbose(new SourceInfo(), TB_Status, "Publishing project:{0}.", p.Name); QueueJob job = p.Draft.Publish(true); return(job); }).ToList(); Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus, "Waiting for the Publish queue job to complete."); CsomHelper.ExecuteAndWait(jobs, TB_Status); Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus, "Refreshing Projects."); LoadProjects(); }
private void DeleteResources() { List <EnterpriseResource> resourceList = new List <EnterpriseResource>(); LV_ServerObjects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; resourceList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (EnterpriseResource)selectedItem.Tag)); }); if (!resourceList.Any()) { return; } resourceList.ForEach(r => { if (r.IsCheckedOut) { Log.WriteVerbose(new SourceInfo(), TB_Status, "Checking in resource:{0}.", r.Name); r.ForceCheckIn(); } Log.WriteVerbose(new SourceInfo(), TB_Status, "Deleting resource:{0}.", r.Name); r.DeleteObject(); }); ProjContext.EnterpriseResources.Update(); ProjContext.ExecuteQuery(); Log.WriteVerbose(new SourceInfo(), TB_Status, _bgeResourcesDelete, "Refreshing Resources"); LoadResources(); }
private void RemoveResources() { PublishedProject publishedProject = null; DraftProject draftProject; List <DraftProjectResource> draftProjectResourceresList = new List <DraftProjectResource>(); LV_Projects.InvokeIfRequired(s => publishedProject = (PublishedProject)s.SelectedItems[0].Tag); LV_ProjectResources.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; draftProjectResourceresList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (DraftProjectResource)selectedItem.Tag)); }); if (draftProjectResourceresList.Any()) { draftProject = publishedProject.IsCheckedOut ? publishedProject.Draft : publishedProject.CheckOut(); draftProjectResourceresList.ForEach(r => { Log.WriteVerbose(new SourceInfo(), TB_Status, "Removing Resource:{0} from Project:{1}.", r.Name, publishedProject.Draft.Name); draftProject.ProjectResources.Remove(r); }); QueueJob queueJob = draftProject.Update(); Log.WriteVerbose(new SourceInfo(), TB_Status, _bgeRemoveProjectResources, "Waiting for the Project Update job to complete."); CsomHelper.ExecuteAndWait(queueJob, TB_Status); } Log.WriteVerbose(new SourceInfo(), TB_Status, _bgeRemoveProjectResources, "Refreshing Project resources."); GetDraftTeamForSelectedProject(); }
private void CheckInCheckoutProjects() { List <PublishedProject> projectList = new List <PublishedProject>(); LV_ServerObjects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; projectList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (PublishedProject)selectedItem.Tag)); }); if (!projectList.Any()) { return; } if (_checkin) { List <QueueJob> jobs = projectList.Where(s => s.IsCheckedOut).Select(p => { QueueJob job = null; Log.WriteVerbose(new SourceInfo(), TB_Status, "Checking in Project {0}", p.Name); job = p.Draft.CheckIn(true); return(job); }).ToList(); if (jobs.Count <= 0) { return; } Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus, "Waiting for the Queue jobs to complete"); CsomHelper.ExecuteAndWait(jobs, TB_Status); Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus, "Loading Projects"); LoadProjects(); } else { bool needExecute = false; projectList.ForEach(p => { if (p.IsCheckedOut) { return; } Log.WriteVerbose(new SourceInfo(), TB_Status, "Checking out Project {0}", p.Name); p.CheckOut(); needExecute = true; }); if (needExecute) { ProjContext.ExecuteQuery(); LoadProjects(); } else { Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus, "All selected projects are in checked out state."); } } }
private void ShowSelectionModInfo(ListView.SelectedListViewItemCollection selection) { CkanModule module = (CkanModule)selection?.Cast <ListViewItem>().FirstOrDefault()?.Tag; ActiveModInfo = module == null ? null : new GUIMod( module, RegistryManager.Instance(CurrentInstance).registry, CurrentInstance.VersionCriteria() ); }
private void EditModpack_OnSelectedItemsChanged(ListView.SelectedListViewItemCollection items) { var first = items.Cast <ListViewItem>().FirstOrDefault()?.Tag as ModuleRelationshipDescriptor; var ident = first?.name; if (!string.IsNullOrEmpty(ident) && ManageMods.mainModList.full_list_of_mod_rows.TryGetValue(ident, out DataGridViewRow row)) { ActiveModInfo = row.Tag as GUIMod; } else { ActiveModInfo = null; } }
private void UpdateProjectOwner() { List <PublishedProject> projectList = new List <PublishedProject>(); EnterpriseResource resource = null; LV_Projects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; projectList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (PublishedProject)selectedItem.Tag)); }); LV_EnterpiseResources.InvokeIfRequired(s => resource = (EnterpriseResource)s.SelectedItems[0].Tag); if (resource == null) { Log.WriteWarning(new SourceInfo(), TB_Status, "No enterprise resource selected."); return; } List <QueueJob> jobs = new List <QueueJob>(); foreach (PublishedProject publishedproject in projectList) { if (!publishedproject.IsCheckedOut) { publishedproject.CheckOut(); } else if (!publishedproject.CheckedOutBy.IsNull() && publishedproject.CheckedOutBy.Title != CsomBase.CurrentResource.User.Title) { Log.WriteWarning(new SourceInfo(), TB_Status, "Project:{0} checked out to a different user:{1}, not changing the owner to {2}.", publishedproject.Name, publishedproject.Owner.Title, resource.User.Title); continue; } Log.WriteVerbose(new SourceInfo(), TB_Status, "Updating project:{0}, Setting owner to:{1}", publishedproject.Name, resource.Name); publishedproject.Owner = resource.User; jobs.Add(publishedproject.Draft.Update()); } Log.WriteVerbose(new SourceInfo(), TB_Status, _bgeProject, "Waiting for the Project Update job to complete."); CsomHelper.ExecuteAndWait(jobs, TB_Status); Log.WriteVerbose(new SourceInfo(), TB_Status, _bgeProject, "Loading Projects."); LoadProjects(); }
private void DeleteCustomFields() { List <CustomField> customFieldList = new List <CustomField>(); LV_ServerObjects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; customFieldList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (CustomField)selectedItem.Tag)); }); if (!customFieldList.Any()) { return; } customFieldList.ForEach(cf => cf.DeleteObject()); ProjContext.ExecuteQuery(); LoadCustomFields(); }
private void DeleteCalendars() { List <Calendar> calendarList = new List <Calendar>(); LV_ServerObjects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; calendarList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (Calendar)selectedItem.Tag)); }); if (!calendarList.Any()) { return; } calendarList.ForEach(c => { c.DeleteObject(); }); ProjContext.ExecuteQuery(); LoadCalendars(); }
private bool IsProjectSelected(ListView.SelectedListViewItemCollection selected) { //if (_errorsList.SelectedItems.Count != 1) return false; var selectedItem = selected.Cast <ListViewItem>().FirstOrDefault(); if (selectedItem == null) { return(true); } ValidationError warning = selectedItem.Tag as ValidationError; if (warning == null) { return(false); } if (warning.Source == null || warning.Source as Project == null) { return(false); } return(true); }
private void DeleteLookupTables() { List <LookupTable> lookupTableList = new List <LookupTable>(); LV_ServerObjects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; lookupTableList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (LookupTable)selectedItem.Tag)); }); if (!lookupTableList.Any()) { return; } lookupTableList.ForEach(lt => { lt.DeleteObject(); }); ProjContext.ExecuteQuery(); LoadLookupTables(); }
private void ButtonRemoveFontClick(object sender, EventArgs e) { ListView.SelectedListViewItemCollection selected = listViewFonts.SelectedItems; List <ListViewItem> used = GetUsed(selected); if (used.Count > 0) { var sb = new StringBuilder(); sb.AppendFormat(Resources.FontSettings.ConverterSettingsForm_buttonRemoveFont_FontNameMessage, used[0].Text); MessageBox.Show(this, sb.ToString(), Resources.FontSettings.ConverterSettingsForm_buttonRemoveFont_Click_Font_used, MessageBoxButtons.OK, MessageBoxIcon.Warning); } List <ListViewItem> toDelete = selected.Cast <ListViewItem>().Where(item => (item != null) && !used.Contains(item)).ToList(); listViewFonts.BeginUpdate(); foreach (ListViewItem selectedItem in toDelete) { CSSFontSettings.Fonts.Remove(selectedItem.Text); listViewFonts.Items.Remove(selectedItem); } listViewFonts.EndUpdate(); RefreshData(); }
private void CheckInResources() { List <EnterpriseResource> resourceList = new List <EnterpriseResource>(); LV_ServerObjects.InvokeIfRequired(s => { ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems; resourceList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (EnterpriseResource)selectedItem.Tag)); }); if (!resourceList.Any()) { return; } foreach (var res in resourceList.Where(r => r.IsCheckedOut)) { Log.WriteVerbose(new SourceInfo(), TB_Status, "Checking in Resource {0}", res.Name); res.ForceCheckIn(); } ProjContext.ExecuteQuery(); Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus, "Loading Resources"); LoadResources(); }
private List <ListViewItem> GetUsed(ListView.SelectedListViewItemCollection selected) { return(selected.Cast <ListViewItem>().Where(item => CSSFontSettings.IsFontUsed(item.Text)).ToList()); }
public IEnumerator <GenericListViewItem <T> > GetEnumerator() { return(_items.Cast <GenericListViewItem <T> >().GetEnumerator()); }