Beispiel #1
0
        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);
            });
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
 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;
 }
Beispiel #5
0
        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.");
                }
            }
        }
Beispiel #6
0
        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);
            });
        }
Beispiel #7
0
        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);
            });
        }
Beispiel #8
0
        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);
            });
        }
Beispiel #9
0
        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();
        }
Beispiel #10
0
        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();
        }
Beispiel #11
0
        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);
            });
        }
Beispiel #12
0
        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();
        }
Beispiel #13
0
        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);
            });
        }
Beispiel #14
0
        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();
        }