private void BackgroundWorker_QueryProcessorObjectsReady(object sender, QueryProcessorObjectsEventArgs e)
        {
            if (e.ResultObjects == null)
            {
                return;
            }

            foreach (IResultObject resultObject in e.ResultObjects)
            {
                DataGridViewRow dataGridViewRow = new DataGridViewRow();
                dataGridViewRow.CreateCells(dataGridViewApplications);

                dataGridViewRow.Cells[0].Value = false;
                dataGridViewRow.Cells[1].Value = resultObject["LocalizedDisplayName"].StringValue;

                dataGridViewRow.Tag = resultObject;
                dataGridViewApplications.Rows.Add(dataGridViewRow);
            }
        }
Пример #2
0
        private void BackgroundWorker_QueryProcessorObjectsReady(object sender, QueryProcessorObjectsEventArgs e)
        {
            if (e.ResultObjects == null)
            {
                return;
            }

            foreach (IResultObject resultObject in e.ResultObjects)
            {
                listViewCollections.Items.Add(new ListViewItem()
                {
                    Text     = resultObject["Name"].StringValue,
                    SubItems =
                    {
                        resultObject["CollectionID"].StringValue
                    }
                });
                resultObject.Dispose();
            }
        }
        private void BackgroundWorker_QueryProcessorObjectsReady(object sender, QueryProcessorObjectsEventArgs e)
        {
            if (e.ResultObjects == null)
            {
                return;
            }

            foreach (IResultObject resultObject in e.ResultObjects)
            {
                DataGridViewRow dataGridViewRow = new DataGridViewRow();
                dataGridViewRow.CreateCells(dataGridViewUpdates);
                dataGridViewRow.Cells[0] = new DataGridViewImageCell
                {
                    Value = resultObject["IsExpired"].BooleanValue ? new Icon(Properties.Resources.expiredupdate, new Size(16, 16)).ToBitmap() : new Icon(Properties.Resources.supersededupdate, new Size(16, 16)).ToBitmap()
                };
                dataGridViewRow.Cells[1].Value = false;
                dataGridViewRow.Cells[2].Value = resultObject["LocalizedDisplayName"].StringValue;
                dataGridViewRow.Cells[3].Value = resultObject["ArticleID"].StringValue;

                dataGridViewRow.Tag = resultObject;
                dataGridViewUpdates.Rows.Add(dataGridViewRow);
            }
        }
Пример #4
0
        private void BackgroundWorker_QueryProcessorObjectsReady(object sender, QueryProcessorObjectsEventArgs e)
        {
            if (e.ResultObjects == null)
            {
                return;
            }

            foreach (IResultObject resultObject in e.ResultObjects)
            {
                IResultObject collectionSettings = ConnectionManager.GetInstance("SMS_CollectionSettings.CollectionID='" + resultObject["CollectionID"].StringValue + "'");
                collectionSettings.Get();

                foreach (IResultObject arrayItem in collectionSettings.GetArrayItems("ServiceWindows"))
                {
                    if (arrayItem["IsEnabled"].BooleanValue)
                    {
                        listViewWindows.Items.Add(new ListViewItem()
                        {
                            Text     = arrayItem["Name"].StringValue,
                            SubItems =
                            {
                                resultObject["Name"].StringValue,
                                GetServiceWindowType((ServiceWindowTypesControl.ServiceWindowTypes)arrayItem["ServiceWindowType"].IntegerValue)
                            }
                        });

                        List <IResultObject> resultObjectList = ResultObjectHelpers.ScheduleReadFromString(ConnectionManager, arrayItem["ServiceWindowSchedules"].StringValue);
                        IResultObject        schedule         = resultObjectList[0];

                        DateTime startTime   = schedule["StartTime"].DateTimeValue;
                        DateTime currentTime = DateTime.Now;
                        int[]    days        = { 0, 7, 14, 21 };

                        string date = "";

                        switch (arrayItem["RecurrenceType"].IntegerValue)
                        {
                        case 1:
                            // nothing to do here, just add the date
                            date = startTime.ToString();

                            break;

                        case 2:
                            // daily schedule, check when next windows occures
                            do
                            {
                                startTime = startTime.AddDays(schedule["DaySpan"].IntegerValue);
                            } while (currentTime.CompareTo(startTime) >= 0);

                            if (currentTime.CompareTo(startTime) <= 0)
                            {
                                date = startTime.ToString();
                            }

                            break;

                        case 3:
                            // weekly schedule, check when next windows occures
                            while ((int)currentTime.DayOfWeek != (schedule["Day"].IntegerValue - 1))
                            {
                                currentTime = currentTime.AddDays(1);
                            }

                            currentTime = currentTime.AddDays(days[(schedule["ForNumberOfWeeks"].IntegerValue - 1)]);
                            currentTime = currentTime.Date.Add(startTime.TimeOfDay);

                            date = currentTime.ToString();

                            break;

                        case 4:
                            // monthly schedule with week selection, check when next windows occures
                            currentTime = new DateTime(currentTime.Year, currentTime.Month, 1);
                            // add months
                            if (schedule["ForNumberOfMonths"].IntegerValue > 1)
                            {
                                currentTime = currentTime.AddMonths(schedule["ForNumberOfMonths"].IntegerValue);
                            }
                            // find the day in month
                            while ((int)currentTime.DayOfWeek != (schedule["Day"].IntegerValue - 1))
                            {
                                currentTime = currentTime.AddDays(1);
                            }
                            // add weeks
                            currentTime = currentTime.AddDays(days[(schedule["WeekOrder"].IntegerValue - 1)]);
                            currentTime = currentTime.Date.Add(startTime.TimeOfDay);

                            date = currentTime.ToLongDateString();

                            break;

                        case 5:
                            // monthly schedule, check when next windows occures
                            int monthDay = schedule["MonthDay"].IntegerValue;
                            // day of month
                            if (monthDay >= 1)
                            {
                                currentTime = new DateTime(currentTime.Year, currentTime.Month, monthDay);
                            }
                            // last day of month
                            else if (monthDay == 0)
                            {
                                currentTime = new DateTime(currentTime.Year, currentTime.Month, DateTime.DaysInMonth(currentTime.Year, currentTime.Month));
                            }

                            if (schedule["ForNumberOfMonths"].IntegerValue > 1)
                            {
                                currentTime = currentTime.AddMonths(schedule["ForNumberOfMonths"].IntegerValue);
                            }
                            currentTime = currentTime.Date.Add(startTime.TimeOfDay);

                            date = currentTime.ToLongDateString();

                            break;
                        }

                        listViewUpcomingWindows.Items.Add(new ListViewItem()
                        {
                            Text     = date,
                            SubItems =
                            {
                                arrayItem["Name"].StringValue,
                            }
                        });
                    }
                }
            }
        }
Пример #5
0
        private void BackgroundWorkerQueryMachine_QueryProcessorObjectsEvent(object sender, QueryProcessorObjectsEventArgs e)
        {
            List <ListViewItem> list = new List <ListViewItem>();

            foreach (IResultObject resultObject in e.ResultObjects)
            {
                string name     = !resultObject.PropertyList.ContainsKey("Name") ? resultObject["ResourceID"].LongValue.ToString() : resultObject["Name"].StringValue;
                string domain   = resultObject["ResourceDomainORWorkgroup"].ObjectValue != null ? resultObject["ResourceDomainORWorkgroup"].StringValue : string.Empty;
                string siteCode = (resultObject["SMSAssignedSites"].ObjectValue != null && resultObject["SMSAssignedSites"].StringArrayValue.Length > 0) ? resultObject["SMSAssignedSites"].StringArrayValue[0] : string.Empty;

                ListViewItem listViewItem = new ListViewItem()
                {
                    Text     = name,
                    SubItems =
                    {
                        domain,
                        siteCode
                    },
                    Tag      = resultObject,
                    Selected = true
                };

                list.Add(listViewItem);
            }
            listViewSelectedResources.BeginUpdate();
            listViewSelectedResources.Items.AddRange(list.ToArray());
            listViewSelectedResources.EndUpdate();
        }