private void LoadResourcesList() { IEnumerable <EnterpriseResource> resourcesList = ProjContext.LoadQuery(ProjContext.EnterpriseResources.Include(p => p.Name, p => p.Id, p => p.IsCheckedOut)); ProjContext.ExecuteQuery(); List <ListViewItem> listViewItems = new List <ListViewItem>(); foreach (EnterpriseResource res in resourcesList) { ListViewItem lvi = new ListViewItem(res.Id.ToString()); lvi.SubItems.Add(res.Name); lvi.SubItems.Add(res.IsCheckedOut.ToString()); lvi.Tag = res; Log.WriteVerbose(new SourceInfo(), TB_Status, "Found Resource {0}", res.Name); listViewItems.Add(lvi); } LV_ServerObjects.InvokeIfRequired(s => { s.Items.Clear(); s.Columns.Clear(); s.Columns.Add(new ColumnHeader { Text = "Id", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Name", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "CheckOut", DisplayIndex = 0, Width = 20 }); s.Items.AddRange(listViewItems.ToArray()); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); }
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 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 CheckInCheckOut_Load(object sender, EventArgs e) { LV_ServerObjects.Items.Clear(); LV_ServerObjects.Columns.Clear(); LV_ServerObjects.Columns.Add(new ColumnHeader { Text = "Name", DisplayIndex = 0, Width = 20 }); LV_ServerObjects.Columns.Add(new ColumnHeader { Text = "CheckOut", DisplayIndex = 0, Width = 20 }); LV_ServerObjects.Columns.Add(new ColumnHeader { Text = "Owner", DisplayIndex = 0, Width = 30 }); LV_ServerObjects.Columns.Add(new ColumnHeader { Text = "CheckOut By", DisplayIndex = 0, Width = 20 }); LV_ServerObjects.Columns.Add(new ColumnHeader { Text = "CheckOut Date", DisplayIndex = 0, Width = 20 }); LV_ServerObjects.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); LV_ServerObjects.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); PropulateServerObjects(); LV_ServerObjects.View = View.Details; LV_ServerObjects.Alignment = ListViewAlignment.SnapToGrid; LV_ServerObjects.GridLines = true; LV_ServerObjects.FullRowSelect = true; LV_ServerObjects.Scrollable = true; LV_ServerObjects.HideSelection = false; LV_ServerObjects.FullRowSelect = true; }
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 LoadProjectsList() { LV_ServerObjects.InvokeIfRequired(s => { s.Items.Clear(); s.Columns.Clear(); s.Columns.Add(new ColumnHeader { Text = "Name", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "CheckOut", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Owner", DisplayIndex = 0, Width = 30 }); s.Columns.Add(new ColumnHeader { Text = "CheckOut By", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "CheckOut Date", DisplayIndex = 0, Width = 20 }); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); IEnumerable <PublishedProject> projectList = ProjContext.LoadQuery(ProjContext.Projects.Include(p => p.Name, p => p.Id, p => p.IsCheckedOut, p => p.Owner.LoginName, p => p.CheckedOutBy.LoginName, p => p.CheckedOutDate)); ProjContext.ExecuteQuery(); List <ListViewItem> listViewItems = new List <ListViewItem>(); foreach (PublishedProject project in projectList) { ListViewItem lvi = new ListViewItem(project.Name); lvi.SubItems.Add(project.IsCheckedOut.ToString()); lvi.SubItems.Add(project.Owner.LoginName); if (project.IsCheckedOut) { lvi.SubItems.Add(project.CheckedOutBy.LoginName); lvi.SubItems.Add(project.CheckedOutDate.ToString(CultureInfo.InvariantCulture)); } lvi.Tag = project; listViewItems.Add(lvi); } LV_ServerObjects.InvokeIfRequired(s => { s.Items.AddRange(listViewItems.ToArray()); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); }
private void LoadCustomFieldsList() { LV_ServerObjects.InvokeIfRequired(s => { s.Items.Clear(); s.Columns.Clear(); s.Columns.Add(new ColumnHeader { Text = "Id", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Name", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Type", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Required", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "LookupTable", DisplayIndex = 0, Width = 20 }); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); IEnumerable <CustomField> customFieldList = ProjContext.LoadQuery(ProjContext.CustomFields.Include(r => r.Name, r => r.EntityType.Name, r => r.Id, r => r.IsRequired, r => r.LookupTable.Name)); ProjContext.ExecuteQuery(); List <ListViewItem> listViewItems = new List <ListViewItem>(); foreach (CustomField cf in customFieldList) { ListViewItem lvi = new ListViewItem(cf.Id.ToString()); lvi.SubItems.Add(cf.Name); lvi.SubItems.Add(cf.EntityType.Name); lvi.SubItems.Add(cf.IsRequired.ToString()); if (cf.LookupTable.ServerObjectIsNull != null && !cf.LookupTable.ServerObjectIsNull.Value) { lvi.SubItems.Add(cf.LookupTable.Name); } lvi.Tag = cf; listViewItems.Add(lvi); } LV_ServerObjects.InvokeIfRequired(s => { s.Items.AddRange(listViewItems.ToArray()); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); }
private void LoadResourcesList() { LV_ServerObjects.InvokeIfRequired(s => { s.Items.Clear(); s.Columns.Clear(); s.Columns.Add(new ColumnHeader { Text = "Id", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Name", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Active", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "CheckOut", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Modified", DisplayIndex = 0, Width = 20 }); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); IEnumerable <EnterpriseResource> resourcesList = ProjContext.LoadQuery(ProjContext.EnterpriseResources.Include(p => p.Name, p => p.Id, p => p.IsCheckedOut, p => p.Modified, p => p.IsActive)); ProjContext.ExecuteQuery(); List <ListViewItem> listViewItems = new List <ListViewItem>(); foreach (EnterpriseResource res in resourcesList) { ListViewItem lvi = new ListViewItem(res.Id.ToString()); lvi.SubItems.Add(res.Name); lvi.SubItems.Add(res.IsActive.ToString()); lvi.SubItems.Add(res.IsCheckedOut.ToString()); lvi.SubItems.Add(res.Modified.ToString(CultureInfo.InvariantCulture)); lvi.Tag = res; listViewItems.Add(lvi); } LV_ServerObjects.InvokeIfRequired(s => { s.Items.AddRange(listViewItems.ToArray()); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); }
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 void LoadLookupTablesList() { LV_ServerObjects.InvokeIfRequired(s => { s.Items.Clear(); s.Columns.Clear(); s.Columns.Add(new ColumnHeader { Text = "Id", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Name", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Type", DisplayIndex = 0, Width = 20 }); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); IEnumerable <LookupTable> lookupFieldList = ProjContext.LoadQuery(ProjContext.LookupTables.Include(r => r.Name, r => r.Id, r => r.FieldType)); ProjContext.ExecuteQuery(); List <ListViewItem> listViewItems = new List <ListViewItem>(); foreach (LookupTable lt in lookupFieldList) { ListViewItem lvi = new ListViewItem(lt.Id.ToString()); lvi.SubItems.Add(lt.Name); lvi.SubItems.Add(lt.FieldType.ToString()); lvi.Tag = lt; listViewItems.Add(lvi); } LV_ServerObjects.InvokeIfRequired(s => { s.Items.AddRange(listViewItems.ToArray()); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); }
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 LoadCalendarsList() { LV_ServerObjects.InvokeIfRequired(s => { s.Items.Clear(); s.Columns.Clear(); s.Columns.Add(new ColumnHeader { Text = "Id", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Name", DisplayIndex = 0, Width = 20 }); s.Columns.Add(new ColumnHeader { Text = "Changed Date", DisplayIndex = 0, Width = 20 }); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); IEnumerable <Calendar> calendarList = ProjContext.LoadQuery(ProjContext.Calendars.Include(r => r.Name, r => r.Id, r => r.Modified)); ProjContext.ExecuteQuery(); List <ListViewItem> listViewItems = new List <ListViewItem>(); foreach (Calendar cal in calendarList) { ListViewItem lvi = new ListViewItem(cal.Id.ToString()); lvi.SubItems.Add(cal.Name); lvi.SubItems.Add(cal.Modified.ToString(CultureInfo.InvariantCulture)); lvi.Tag = cal; listViewItems.Add(lvi); } LV_ServerObjects.InvokeIfRequired(s => { s.Items.AddRange(listViewItems.ToArray()); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }); }
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(); }