Exemple #1
0
        private void _cmsi_Users_viewGroupMembers_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;

            UltraGrid grid = (UltraGrid)((ContextMenuStrip)((ToolStripItem)sender).Owner).SourceControl;

            Sql.User group = new Sql.User(grid.ActiveRow.Cells[colPrincipalName].Text,
                                          new Sid(grid.ActiveRow.Cells[colSid].Value as byte[]),
                                          DescriptionHelper.GetEnumDescription(Sql.ServerPrincipalTypes.WindowsGroup),
                                          Sql.User.UserSource.Snapshot);

            int snapshotid = (int)grid.ActiveRow.Cells[colSnapshotId].Value;

            Sql.User user = Forms.Form_SelectGroupMember.GetUser(snapshotid, group);

            if (user != null)
            {
                string server = grid.ActiveRow.Cells[colConnection].Text;
                Sql.RegisteredServer registeredServer = Program.gController.Repository.RegisteredServers.Find(server);

                Program.gController.ShowRootView(new Utility.NodeTag(new Data.PermissionExplorer(registeredServer, snapshotid, user, Views.View_PermissionExplorer.Tab.UserPermissions),
                                                                     Utility.View.PermissionExplorer));
            }

            Cursor = Cursors.Default;
        }
        public GridLineModel(Line data)
        {
            var bus = data.BusesToLines.Select(x => x.Bus).FirstOrDefault();

            Id             = data.Id;
            LineName       = data.LineName;
            LineNumber     = data.LineNumber;
            Direction      = (LineDirection)data.Direction;
            IsActive       = data.IsActive;
            totalStudents  = data.totalStudents ?? 0;
            Duration       = data.Duration;
            Sun            = data.Sun.HasValue ? data.Sun.Value : false;
            SunTime        = DateHelper.TimeToString(data.SunTime);
            Mon            = data.Mon.HasValue ? data.Mon.Value : false;
            MonTime        = DateHelper.TimeToString(data.MonTime);
            Tue            = data.Tue.HasValue ? data.Tue.Value : false;
            TueTime        = DateHelper.TimeToString(data.TueTime);
            Wed            = data.Wed.HasValue ? data.Wed.Value : false;
            WedTime        = DateHelper.TimeToString(data.WedTime);
            Thu            = data.Thu.HasValue ? data.Thu.Value : false;
            ThuTime        = DateHelper.TimeToString(data.ThuTime);
            Fri            = data.Fri.HasValue ? data.Fri.Value : false;
            FriTime        = DateHelper.TimeToString(data.FriTime);
            Sut            = data.Sut.HasValue ? data.Sut.Value : false;
            SutTime        = DateHelper.TimeToString(data.SutTime);
            Bus            = bus != null ? bus.Id : (int)0;
            BusDescription = bus != null?DescriptionHelper.GetBusDescription(bus) : string.Empty;

            BusId          = bus != null ? bus.BusId : string.Empty;
            PlateNumber    = bus != null ? bus.PlateNumber : string.Empty;
            BusCompanyName = bus != null ? (bus.BusCompany != null? bus.BusCompany.companyName: string.Empty) : string.Empty;
            seats          = bus != null ? bus.seats : null;
            price          = bus != null ? bus.price : null;
        }
Exemple #3
0
        public WaybillDetailsView()
        {
            InitializeComponent();
            DataContextChanged += OnDataContextChanged;

            var element = Rounding;
            var items   = DescriptionHelper.GetDescriptions(typeof(Rounding));

            element.ItemsSource       = items;
            element.DisplayMemberPath = "Name";

            var binding = new Binding("Waybill.Rounding");

            binding.Converter          = new ComboBoxSelectedItemConverter();
            binding.ConverterParameter = items;
            BindingOperations.SetBinding(element, Selector.SelectedItemProperty, binding);

            DataContextChanged += (sender, args) => {
                if (model == null)
                {
                    return;
                }
                var handler = new BarcodeHandler(this, model.Settings);
                handler.Barcode.Subscribe(x => Execute(model.BarcodeScanned(x)));
            };
        }
Exemple #4
0
        public CatalogOfferView()
        {
            InitializeComponent();
            var grid = Offers;

            grid.CommandBindings.Add(new CommandBinding(DataGrid.DeleteCommand,
                                                        Commands.DoInvokeViewModel,
                                                        Commands.CanInvokeViewModel));

            Conventions.ConfigureDataGrid(grid, typeof(Offer));
            new Editable().Attach(grid);
            DataGridHelper.CalculateColumnWidths(Offers);
            ApplyStyles();
            BindingOperations.SetBinding(OfferOverlayPanel, Grid.MaxHeightProperty,
                                         new Binding("ActualHeight")
            {
                Source    = Offers,
                Converter = new LambdaConverter <double>(v => v * 0.7)
            });

            var element = Rounding;
            var items   = DescriptionHelper.GetDescriptions(typeof(Rounding));

            element.ItemsSource       = items;
            element.DisplayMemberPath = "Name";

            var binding = new Binding("Rounding.Value")
            {
                Converter          = new ComboBoxSelectedItemConverter(),
                ConverterParameter = items
            };

            BindingOperations.SetBinding(element, Selector.SelectedItemProperty, binding);
        }
        public Form_ExplanationNotes(int policyId, int assessmentId, int metricId, string serverName)
        {
            InitializeComponent();

            this.Description = DESCRIPTION;

            m_PolicyId     = policyId;
            m_AssessmentId = assessmentId;
            m_MetricId     = metricId;
            m_ServerName   = serverName;

            _toolStripButton_ExplanationNotesSave.Image  = AppIcons.AppImage16(AppIcons.Enum.GridSaveToExcel);
            _toolStripButton_ExplanationNotesPrint.Image = AppIcons.AppImage16(AppIcons.Enum.Print);

            // hook the toolbar labels to the grids so the heading can be used for printing
            _grid_ExplanationNotes.Tag = _label_ExplanationNotes;

            // hook the grids to the toolbars so they can be used for button processing
            _headerStrip_ExplanationNotes.Tag = _grid_ExplanationNotes;

            // load value lists for grid display
            ValueList severityValueList = new ValueList();

            severityValueList.Key                    = valueListSeverity;
            severityValueList.DisplayStyle           = ValueListDisplayStyle.Picture;
            severityValueList.Appearance.ImageVAlign = VAlign.Top;
            _grid_ExplanationNotes.DisplayLayout.ValueLists.Add(severityValueList);

            ValueListItem listItem;

            severityValueList.ValueListItems.Clear();
            listItem = new ValueListItem(Utility.Policy.Severity.Ok, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Ok));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.check_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Low, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Low));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.LowRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Medium, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Medium));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.MediumRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.High, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.High));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.HighRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Undetermined, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Undetermined));
            listItem.Appearance.Image       = AppIcons.AppImage16(AppIcons.Enum.Unknown);
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);

            _grid_ExplanationNotes.DrawFilter = new Utility.HideFocusRectangleDrawFilter();

            loadDataSource();
        }
Exemple #6
0
        internal controlConfigurePolicyVulnerabilities(ConfigurePolicyControlType state)
        {
            // SQLsecure 3.1 (Anshul Aggarwal) - Represents current state of control - 'Configure Security Check' or 'Export/Import Policy'.
            m_ControlType = state;

            InitializeComponent();

            ultraTabControl1.DrawFilter = new HideFocusRectangleDrawFilter();

            _toolStripButton_ColumnChooser.Image = AppIcons.AppImage16(AppIcons.Enum.GridFieldChooser);
            _toolStripButton_GroupBy.Image       = AppIcons.AppImage16(AppIcons.Enum.GridGroupBy);
            _toolStripButton_Save.Image          = AppIcons.AppImage16(AppIcons.Enum.GridSaveToExcel);
            _toolStripButton_Print.Image         = AppIcons.AppImage16(AppIcons.Enum.Print);

            // load value lists for grid display
            ValueListItem listItem;
            ValueList     severityValueList = new ValueList();

            severityValueList.Key          = Utility.Constants.POLICY_METRIC_VALUE_LIST_SERVERITY;
            severityValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
            ultraGridPolicyMetrics.DisplayLayout.ValueLists.Add(severityValueList);
            severityValueList.ValueListItems.Clear();
            listItem = new ValueListItem(Utility.Policy.Severity.Ok, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Ok));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.check_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Low, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Low));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.LowRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Medium, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Medium));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.MediumRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.High, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.High));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.HighRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Undetermined, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Undetermined));
            listItem.Appearance.Image       = AppIcons.AppImage16(AppIcons.Enum.Unknown);
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);

            ValueList enabledValueList = new ValueList();

            enabledValueList.Key          = Utility.Constants.POLICY_METRIC_VALUE_LIST_ENABLED;
            enabledValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
            ultraGridPolicyMetrics.DisplayLayout.ValueLists.Add(enabledValueList);
            listItem = new ValueListItem(true, "Yes");
            enabledValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(false, "No");
            enabledValueList.ValueListItems.Add(listItem);

            // SQLsecure 3.1 (Anshul Aggarwal) - Change control state based on current control usage type.
            RefreshState();
        }
        protected override void OnViewAttached(object view, object context)
        {
            base.OnViewAttached(view, context);

            var grid = (Grid)((FrameworkElement)view).FindName("Data");

            grid.DataContext = Target;
            for (var i = 0; i < Properties.Length; i++)
            {
                grid.RowDefinitions.Add(new RowDefinition());
                var property = Properties[i];
                var label    = new Label {
                    Content = ((DisplayAttribute)property.Item2[0]).Name
                };
                label.SetValue(Grid.RowProperty, i);
                label.SetValue(Grid.ColumnProperty, 0);
                grid.Children.Add(label);

                UIElement          input;
                DependencyProperty inputProperty = null;
                var propertyType = property.Item1.PropertyType;
                if (propertyType == typeof(DateTime))
                {
                    input         = new DatePicker();
                    inputProperty = DatePicker.SelectedDateProperty;
                }
                else if (propertyType.IsEnum)
                {
                    input = new ComboBox();
                    var items = DescriptionHelper.GetDescriptions(propertyType);
                    input.SetValue(ItemsControl.DisplayMemberPathProperty, "Name");
                    input.SetValue(ItemsControl.ItemsSourceProperty, items);

                    var binding = new Binding(property.Item1.Name);
                    binding.Converter          = new ComboBoxSelectedItemConverter();
                    binding.ConverterParameter = items;
                    BindingOperations.SetBinding(input, Selector.SelectedItemProperty, binding);
                }
                else
                {
                    input = new TextBox {
                        MinWidth          = 100,
                        VerticalAlignment = VerticalAlignment.Center
                    };
                    inputProperty = TextBox.TextProperty;
                }
                if (inputProperty != null)
                {
                    BindingOperations.SetBinding(input, inputProperty, new Binding(property.Item1.Name));
                }
                input.SetValue(Grid.RowProperty, i);
                input.SetValue(Grid.ColumnProperty, 1);
                grid.Children.Add(input);
            }
        }
        private FieldOfInterestView MapToFieldOfInterestView(FieldOfInterest field)
        {
            string languageId;
            string description = DescriptionHelper.GetDescription(field.Descriptions, out languageId);

            return(new FieldOfInterestView
            {
                FieldOfInterestId = field.FieldOfInterestId,
                LanguageId = languageId,
                Description = description,
                Created = field.Created,
                CreatedBy = field.CreatedBy,
                Updated = field.Updated,
                UpdatedBy = field.UpdatedBy,
                RowVersion = field.RowVersion
            });
        }
Exemple #9
0
 private void PrintConnections()
 {
     foreach (var connection in Table.MapConnections)
     {
         var isTunnel = connection.Connection.IsTunnel ? "Тунель," : "";
         var isFree   = connection.IsFree ? "Свободен" : $"владелец: {connection.Owner.Color}, ";
         var jokers   = (connection.Connection.JokersRequired != null && connection.Connection.JokersRequired > 0) ? $"требуется {connection.Connection.JokersRequired} паровозов" : "";
         Console.WriteLine($"{connection.Connection.Id}: " +
                           $"{connection.Connection.City1.Name} - " +
                           $"{connection.Connection.City2.Name}, " +
                           $"цвет={DescriptionHelper.GetEnumDescription((CardColor)connection.Connection.Color)}, " +
                           $"длина={connection.Connection.Length}, " +
                           $"{isTunnel} " +
                           $"{isFree} " +
                           $"{jokers}");
     }
 }
        public GridLineBusModel(Line data)
        {
            var bus = data.BusesToLines.Select(x => x.Bus).FirstOrDefault();

            Id             = data.Id;
            LineName       = data.LineName;
            LineNumber     = data.LineNumber;
            Direction      = (LineDirection)data.Direction;
            IsActive       = data.IsActive;
            totalStudents  = data.totalStudents ?? 0;
            Duration       = data.Duration;
            Bus            = bus != null ? bus.Id : (int)0;
            BusDescription = bus != null?DescriptionHelper.GetBusDescription(bus) : string.Empty;

            BusId          = bus != null ? bus.BusId : string.Empty;
            PlateNumber    = bus != null ? bus.PlateNumber : string.Empty;
            BusCompanyName = bus != null ? (bus.BusCompany != null ? bus.BusCompany.companyName : string.Empty) : string.Empty;
            seats          = bus != null ? bus.seats : (int?)null;
            price          = bus != null ? bus.price : (double?)null;
        }
        public JsonResult GetAvailableBuses(int lineId)
        {
            var buses = new List <SelectItemModel>();

            buses.Add(new SelectItemModel {
                Value = "0", Text = string.Empty, Title = string.Empty
            });
            using (var logic = new LineLogic()) {
                buses.AddRange(logic.GetAvailableBuses(lineId)
                               .ToList()
                               .Select(z => new SelectItemModel {
                    Value = z.Id.ToString(),
                    Text  = DescriptionHelper.GetBusDescription(z),
                    Title = DescriptionHelper.GetBusDescription(z)
                }));
            }

            return(new JsonResult {
                Data = buses
            });
        }
        public string GetDescription(int index)
        {
            var DescHelper = new DescriptionHelper();

            switch (index)
            {
            case 0:
                return(DescHelper.PageDescription);

            case 1:
                return(DescHelper.SWComponentDescription);

            case 2:
                return(DescHelper.WeatherComponentDescription);

            case 3:
                return(DescHelper.DaxkoMsg);

            default:
                return("Something went wrong.");
            }
        }
Exemple #13
0
        public Stocks()
        {
            DisplayName            = "Товарные запасы";
            AddressSelector        = new AddressSelector(this);
            Items.PropertyChanged += Items_PropertyChanged;
            ItemsTotal             = new ObservableCollection <StockTotal>();
            ItemsTotal.Add(new StockTotal {
                Total = "Итого",
            });

            Name = User?.FullName ?? "";
            StatusFilter.Value = DescriptionHelper.GetDescriptions(typeof(StockStatus))
                                 .Select(x => new Selectable <StockStatus>((StockStatus)x.Value, x.Name))
                                 .ToList();
            QuickSearch = new QuickSearch <Stock>(UiScheduler,
                                                  t => Items?.Value.FirstOrDefault(p => p.Product.IndexOf(t, StringComparison.CurrentCultureIgnoreCase) >= 0),
                                                  CurrentItem);
            TrackDb(typeof(Stock));

            PrintMenuItems = new ObservableCollection <MenuItem>();
            IsView         = true;
            CurrentItem.Select(x => x?.WaybillId != null).Subscribe(CanOpenWaybill);
        }
Exemple #14
0
        private void _contextMenuStrip_Users_Opening(object sender, CancelEventArgs e)
        {
            UltraGrid grid = (UltraGrid)((ContextMenuStrip)sender).SourceControl;

            _cmsi_Users_viewGroupMembers.Visible       =
                _cmsi_Users_showPermissions.Visible    =
                    _toolStripSeparator_Server.Visible = true;
            if (grid.ActiveRow != null)
            {
                _cmsi_Users_viewGroupMembers.Enabled =
                    (grid.ActiveRow.Cells[colPrincipalType].Text == DescriptionHelper.GetEnumDescription(Sql.ServerPrincipalTypes.WindowsGroup));

                _cmsi_Users_showPermissions.Enabled =
                    (grid.ActiveRow.Cells[colSid].Value != null);
            }
            else
            {
                _cmsi_Users_viewGroupMembers.Enabled    =
                    _cmsi_Users_showPermissions.Enabled = false;
            }

            _cmsi_Users_viewGroupByBox.Checked = !grid.DisplayLayout.GroupByBox.Hidden;
        }
        private static void WriteDesc(string text, ICustomAttributeProvider method)
        {
            var desc = DescriptionHelper.GetDescription(method);

            if (!String.IsNullOrEmpty(desc))
            {
                text += " - ";
                text += desc;
            }
            Console.WriteLine(text);
            //на подумать, получается все равно криво
            //var rest = text.Length;
            //var begin = 0;
            //while (rest > 0) {
            //	var length = Math.Min(Math.Min(Console.WindowWidth - 1, 64), rest);
            //	var line = text.Substring(begin, length);
            //	if (begin > 0)
            //		Console.Write("    ");
            //	Console.WriteLine(line);
            //	begin += length;
            //	rest -= length;
            //}
        }
        private void loadDataSource()
        {
            if (m_policy.IsAssessment)
            {
                if (m_server != null)
                {
                    ((Interfaces.IView)_reportCard).SetContext(new Data.ReportCard(m_policy, m_server));
                }
                else
                {
                    ((Interfaces.IView)_reportCard).SetContext(new Data.ReportCard(m_policy));
                }
            }
            else
            {
                if (m_server != null)
                {
                    ((Interfaces.IView)_reportCard).SetContext(new Data.ReportCard(m_policy, m_context.UseBaseline, m_context.SelectionDate, m_server));
                }
                else
                {
                    ((Interfaces.IView)_reportCard).SetContext(new Data.ReportCard(m_policy, m_context.UseBaseline, m_context.SelectionDate));
                }
            }

            logX.loggerX.Info("Get " + (m_policy.IsAssessment ? "Assessment" : "Policy") + (m_server == null ? string.Empty : " Server") + " Summary Security Status");

            _viewSection_PolicyStatus.SuspendLayout();

            _viewSection_PolicyStatus.Title =
                string.Format(TitleFormat,
                              m_server == null ? (m_policy.IsAssessment ? string.Format(Display_Assessment, m_policy.AssessmentStateName) : Display_Policy) : Display_Server);

            logX.loggerX.Verbose("Load Assessment Audit Data Selections");
            if (m_policy.IsAssessment)
            {
                _label_Selections.Text = string.Format(SelectionsFormat, m_policy.UseBaseline ? Display_Baseline : string.Empty);
                if (m_policy.AssessmentDate.HasValue)
                {
                    _label_Selections.Text += "\nas of " + m_policy.AssessmentDate.Value.ToLocalTime().ToString(Utility.Constants.DATETIME_FORMAT);
                }
            }
            else
            {
                _label_Selections.Text = string.Format(SelectionsFormat, Program.gController.PolicyUseBaselineSnapshots ? Display_Baseline : string.Empty);
                if (Program.gController.PolicyTime.HasValue)
                {
                    _label_Selections.Text += "\nas of " + Program.gController.PolicyTime.Value.ToLocalTime().ToString(Utility.Constants.DATETIME_FORMAT);
                }
            }

            try
            {
                List <Sql.PolicyMetric> metrics = m_policy.GetPolicyMetrics(Program.gController.Repository.ConnectionString);
                int high   = 0;
                int medium = 0;
                int low    = 0;
                logX.loggerX.Verbose("Process Security Check Counts");

                foreach (Sql.PolicyMetric metric in metrics)
                {
                    if (metric.IsEnabled)
                    {
                        if (metric.Severity == (int)Policy.Severity.High)
                        {
                            high++;
                        }
                        if (metric.Severity == (int)Policy.Severity.Medium)
                        {
                            medium++;
                        }
                        if (metric.Severity == (int)Policy.Severity.Low)
                        {
                            low++;
                        }
                    }
                }

                logX.loggerX.Verbose("Load " + (m_policy.IsAssessment ? "Assessment" : "Policy") + " Description");
                if (m_policy.IsAssessment)
                {
                    _label_Description.Text = string.IsNullOrEmpty(m_policy.AssessmentDescription)
                                                  ? m_policy.AssessmentName
                                                  : m_policy.AssessmentDescription;
                    _toolTip_Description.SetToolTip(_label_Description,
                                                    string.Format("{0}\n{1}", m_policy.PolicyAssessmentName,
                                                                  m_policy.AssessmentDescription));
                }
                else
                {
                    _label_Description.Text = string.IsNullOrEmpty(m_policy.PolicyDescription)
                                                  ? m_policy.PolicyName
                                                  : m_policy.PolicyDescription;
                    _toolTip_Description.SetToolTip(_label_Description,
                                                    string.Format("{0}\n{1}", m_policy.PolicyName,
                                                                  m_policy.PolicyDescription));
                }

                // Set the assessment statuses

                //High
                logX.loggerX.Verbose("Load " + (m_policy.IsAssessment ? "Assessment" : "Policy") + " High Status Bar");
                _pictureBox_SecurityStatusHigh.Image = global::Idera.SQLsecure.UI.Console.Properties.Resources.HighRisk_32;
                _label_High.Text      = string.Format(BarLabelDisplay, DescriptionHelper.GetEnumDescription(Policy.Severity.High));
                _label_HighCount.Text = string.Format(BarHighCountDisplay, high);

                if (high > 0)
                {
                    _label_HighMsg.Visible    = false;
                    _label_HighRiskCount.Text = _reportCard.Risks.RiskCountHigh.ToString();
                    if (_reportCard.Risks.RiskCountHigh > 0)
                    {
                        _label_HighRiskBar.Width = Convert.ToInt16(BarMax * _reportCard.Risks.RiskCountHigh / high);
                        _label_HighBar.Left      = BarLeft + _label_HighRiskBar.Width;
                        _label_HighBar.Width     = BarMax - _label_HighRiskBar.Width;
                    }
                    else
                    {
                        _label_HighRiskBar.Width = 0;
                        _label_HighBar.Left      = BarLeft;
                        _label_HighBar.Width     = BarMax;
                    }
                    _label_HighRiskBar.Visible =
                        _label_HighBar.Visible = true;
                }
                else
                {
                    _label_HighRiskCount.Text  = string.Empty;
                    _label_HighMsg.Text        = NoMetrics;
                    _label_HighMsg.Visible     = true;
                    _label_HighRiskBar.Visible =
                        _label_HighBar.Visible = false;
                }

                //Medium
                logX.loggerX.Verbose("Load " + (m_policy.IsAssessment ? "Assessment" : "Policy") + " Medium Status Bar");
                _pictureBox_SecurityStatusMedium.Image = global::Idera.SQLsecure.UI.Console.Properties.Resources.MediumRisk_32;
                _label_Medium.Text      = string.Format(BarLabelDisplay, DescriptionHelper.GetEnumDescription(Policy.Severity.Medium));
                _label_MediumCount.Text = string.Format(BarHighCountDisplay, medium);

                if (medium > 0)
                {
                    _label_MediumMsg.Visible    = false;
                    _label_MediumRiskCount.Text = _reportCard.Risks.RiskCountMedium.ToString();
                    if (_reportCard.Risks.RiskCountMedium > 0)
                    {
                        _label_MediumRiskBar.Width = Convert.ToInt16(BarMax * _reportCard.Risks.RiskCountMedium / medium);
                        _label_MediumBar.Left      = BarLeft + _label_MediumRiskBar.Width;
                        _label_MediumBar.Width     = BarMax - _label_MediumRiskBar.Width;
                    }
                    else
                    {
                        _label_MediumRiskBar.Width = 0;
                        _label_MediumBar.Left      = BarLeft;
                        _label_MediumBar.Width     = BarMax;
                    }
                    _label_MediumRiskBar.Visible =
                        _label_MediumBar.Visible = true;
                }
                else
                {
                    _label_MediumRiskCount.Text  = string.Empty;
                    _label_MediumMsg.Text        = NoMetrics;
                    _label_MediumMsg.Visible     = true;
                    _label_MediumRiskBar.Visible =
                        _label_MediumBar.Visible = false;
                }

                //Low
                logX.loggerX.Verbose("Load " + (m_policy.IsAssessment ? "Assessment" : "Policy") + " Low Status Bar");
                _pictureBox_SecurityStatusLow.Image = global::Idera.SQLsecure.UI.Console.Properties.Resources.LowRisk_32;
                _label_Low.Text      = string.Format(BarLabelDisplay, DescriptionHelper.GetEnumDescription(Policy.Severity.Low));
                _label_LowCount.Text = string.Format(BarHighCountDisplay, low);

                if (low > 0)
                {
                    _label_LowMsg.Visible    = false;
                    _label_LowRiskCount.Text = _reportCard.Risks.RiskCountLow.ToString();
                    if (_reportCard.Risks.RiskCountLow > 0)
                    {
                        _label_LowRiskBar.Width = Convert.ToInt16(BarMax * _reportCard.Risks.RiskCountLow / low);
                        _label_LowBar.Left      = BarLeft + _label_LowRiskBar.Width;
                        _label_LowBar.Width     = BarMax - _label_LowRiskBar.Width;
                    }
                    else
                    {
                        _label_LowRiskBar.Width = 0;
                        _label_LowBar.Left      = BarLeft;
                        _label_LowBar.Width     = BarMax;
                    }
                    _label_LowRiskBar.Visible =
                        _label_LowBar.Visible = true;
                }
                else
                {
                    _label_LowRiskCount.Text  = string.Empty;
                    _label_LowMsg.Text        = NoMetrics;
                    _label_LowMsg.Visible     = true;
                    _label_LowRiskBar.Visible =
                        _label_LowBar.Visible = false;
                }

                if (m_server == null)
                {
                    _grid_Servers.SuspendLayout();

                    m_serverTable.Clear();

                    logX.loggerX.Verbose("Load " + (m_policy.IsAssessment ? "Assessment" : "Policy") + " Server Counts");
                    foreach (KeyValuePair <string, ReportCard.RiskCounts> server in _reportCard.ServerRisks)
                    {
                        if (server.Key.Length > 0)
                        {
                            logX.loggerX.Verbose("Loading Server " + server.Key);
                            DataRow row = m_serverTable.NewRow();
                            row[colSeverity] = server.Value.HighestRiskImage;
                            row[colServer]   = server.Key;
                            row[colHigh]     = server.Value.RiskCountHigh;
                            row[colMedium]   = server.Value.RiskCountMedium;
                            row[colLow]      = server.Value.RiskCountLow;
                            row[colStatus]   = server.Value.AllRisksText;

                            m_serverTable.Rows.Add(row);
                        }
                    }

                    DataView dv = m_serverTable.DefaultView;
                    dv.Sort = colServer;

                    _grid_Servers.SetDataBinding(m_serverTable.DefaultView, null);

                    _label_Servers.Text = string.Format(HeaderDisplay,
                                                        dv.Count,
                                                        dv.Count == 1 ? string.Empty : "s");

                    _grid_Servers.ResumeLayout();

                    _viewSection_ServerSummary.Visible = true;
                    _viewSection_ServerInfo.Visible    = false;
                }
                else
                {
                    logX.loggerX.Verbose("Load " + (m_policy.IsAssessment ? "Assessment" : "Policy") + " Server Info");
                    _label_Server.Text  = m_server.ConnectionName;
                    _label_Version.Text = m_server.VersionFriendlyLong;
                    _label_Edition.Text = m_server.Edition;
                    _label_Os.Text      = m_server.OS;

                    Dictionary <int, int> snapshots = m_policy.PolicySnapshotList;
                    int snapshotId;
                    snapshots.TryGetValue(m_server.RegisteredServerId, out snapshotId);

                    Sql.Snapshot snap = null;
                    if (snapshotId > 0)
                    {
                        snap = Sql.Snapshot.GetSnapShot(snapshotId);
                    }

                    if (snap != null)
                    {
                        _label_Audited.Text = snap.StartTime.ToLocalTime().ToString(Utility.Constants.DATETIME_FORMAT);
                    }
                    else
                    {
                        _label_Audited.Text = @"Unknown";
                    }

                    _viewSection_ServerInfo.Visible    = true;
                    _viewSection_ServerSummary.Visible = false;
                    _grid_Servers.DataSource           = null;
                }
            }
            catch (Exception ex)
            {
                logX.loggerX.Error(@"Error - Unable to retrieve " + (m_policy.IsAssessment ? "Assessment" : "Policy") + (m_server == null ? string.Empty : " Server") + " summary info", ex);
                MsgBox.ShowError(string.Format(ErrorMsgs.CantGetPolicyInfoMsg, (m_policy.IsAssessment ? "Assessment" : "Policy") + " Summary Info"),
                                 ErrorMsgs.ErrorProcessPolicyInfo,
                                 ex);
                initDataSource();

                _grid_Servers.ResumeLayout();
            }

            _viewSection_PolicyStatus.ResumeLayout();
        }
 public void RetrieveEnumDescription_EnumValuePassed_ReturnsEnumDescription(
     WorkTaskStatus enumValue,
     string enumValueDescription)
 {
     Assert.AreEqual(DescriptionHelper.RetrieveEnumDescription(enumValue), enumValueDescription);
 }
Exemple #18
0
 public string GetDescription()
 {
     return("Fleeing " + DescriptionHelper.Describe(speed));
 }
        private bool LoadPermissions()
        {
            bool isOK = true;

            try
            {
                // Open connection to repository and query group members
                logX.loggerX.InfoFormat("Retrieve Snapshot OS Permissions for user: {0}", m_name);

                using (SqlConnection connection = new SqlConnection(Program.gController.Repository.ConnectionString))
                {
                    // Open the connection.
                    connection.Open();

                    string sidString = "0x";
                    foreach (Byte sidchar in m_sid)
                    {
                        sidString += sidchar.ToString("X2");
                    }
                    string query = string.Format(QueryOsObjectPermissions, m_snapshotId, sidString);

                    //Get Permissions
                    using (SqlCommand cmd = new SqlCommand(query, connection))
                    {
                        cmd.CommandType = CommandType.Text;

                        SqlDataAdapter da = new SqlDataAdapter(cmd);
                        DataSet        ds = new DataSet();
                        da.Fill(ds);

                        ds.Tables[0].Columns.Add(colTextRights);
                        ds.Tables[0].Columns.Add(colTextAuditFlags);
                        ds.Tables[0].Columns.Add(colTextAccessType);
                        DataView dv = new DataView(ds.Tables[0]);
                        dv.Sort = colName;

                        _grid.BeginUpdate();
                        _grid.SetDataBinding(dv, null);
                        _grid.EndUpdate();

                        foreach (DataRowView drv in dv)
                        {
                            string objectType;
                            string rights = string.Empty;

                            switch (drv[colType].ToString().Trim())
                            {
                            case OsObjectType.DB:
                                objectType = DescriptionHelper.GetDescription(typeof(OsObjectType), "DB");
                                if (drv[colRights] != DBNull.Value)
                                {
                                    rights = ((FileSystemRights)drv[colRights]).ToString();
                                }
                                break;

                            case OsObjectType.Disk:
                                objectType = DescriptionHelper.GetDescription(typeof(OsObjectType), "Disk");
                                if (drv[colRights] != DBNull.Value)
                                {
                                    rights = ((FileSystemRights)drv[colRights]).ToString();
                                }
                                break;

                            case OsObjectType.File:
                                objectType = DescriptionHelper.GetDescription(typeof(OsObjectType), "File");
                                if (drv[colRights] != DBNull.Value)
                                {
                                    rights = ((FileSystemRights)drv[colRights]).ToString();
                                }
                                break;

                            case OsObjectType.FileDirectory:
                                objectType = DescriptionHelper.GetDescription(typeof(OsObjectType), "FileDirectory");
                                if (drv[colRights] != DBNull.Value)
                                {
                                    rights = ((FileSystemRights)drv[colRights]).ToString();
                                }
                                break;

                            case OsObjectType.InstallDirectory:
                                objectType = DescriptionHelper.GetDescription(typeof(OsObjectType), "InstallDirectory");
                                if (drv[colRights] != DBNull.Value)
                                {
                                    rights = ((FileSystemRights)drv[colRights]).ToString();
                                }
                                break;

                            case OsObjectType.RegistryKey:
                                objectType = DescriptionHelper.GetDescription(typeof(OsObjectType), "RegistryKey");
                                if (drv[colRights] != DBNull.Value)
                                {
                                    rights = ((RegistryRights)drv[colRights]).ToString();
                                }
                                break;

                            default:
                                logX.loggerX.Warn("Warning - unknown OS Object Type encountered", drv[colType]);
                                objectType = DescriptionHelper.GetDescription(typeof(OsObjectType), "Unknown");
                                rights     = "Unknown";
                                break;
                            }
                            drv[colType]       = objectType;
                            drv[colTextRights] = rights;

                            //decode Audit flags
                            string auditFlags = string.Empty;

                            if (drv[colAuditFlags] != DBNull.Value)
                            {
                                foreach (int flag in Enum.GetValues(typeof(AuditFlags)))
                                {
                                    //skip 0 because that is the None value which is not displayed in the security settings
                                    if (flag > 0 && ((int)drv[colAuditFlags] & flag) == flag)
                                    {
                                        auditFlags += (auditFlags.Length > 0 ? ", " : string.Empty) +
                                                      DescriptionHelper.GetEnumDescription((AuditFlags)flag);
                                    }
                                }
                            }
                            drv[colTextAuditFlags] = auditFlags;

                            //decode access types
                            string access = drv[colAccessType].ToString();
                            if (drv[colAccessType] != DBNull.Value)
                            {
                                foreach (int flag in Enum.GetValues(typeof(AccessControlType)))
                                {
                                    if ((int)drv[colAccessType] == flag)
                                    {
                                        // These cannot be combined
                                        access = DescriptionHelper.GetEnumDescription((AccessControlType)flag);
                                        break;
                                    }
                                }
                            }
                            drv[colTextAccessType] = access;
                        }
                    }
                    _label_Header.Text = string.Format("OS Objects ({0} items)", _grid.Rows.Count);
                }
            }
            catch (SqlException ex)
            {
                logX.loggerX.Info("ERROR - unable to load OS Permissions from the selected Snapshot.", ex);
                Utility.MsgBox.ShowError(Utility.ErrorMsgs.OSPermissionsCaption, ex.Message);
                isOK = false;
            }
            catch (Exception ex)
            {
                isOK = false;
                logX.loggerX.Info("ERROR - unable to load OS Permissions from the selected Snapshot.", ex);
                Utility.MsgBox.ShowError(Utility.ErrorMsgs.OSPermissionsCaption, Utility.ErrorMsgs.CantGetSnapshot);
            }
            return(isOK);
        }
        private DataTable getGridDisplayTbl(DataSet ds)
        {
            // Fill the return data table.
            DataTable dt = null;

            // Create table and configure columns.
            dt = new DataTable();
            dt.Columns.Add(colIcon);
            dt.Columns.Add(colFileSystemRights);
            dt.Columns.Add(colAuditFlags);
            dt.Columns.Add(colUser);
            dt.Columns.Add(colAccessType);
            dt.Columns.Add(colInherited, typeof(bool));

            if (ds != null && ds.Tables.Count > 0)
            {
                // Process each row and store permissions in table
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    bool isInherited = (string)row[colInherited] == "Y" ? true : false;
                    if (!isInherited || !_rdbtn_ExplicitOnly.Checked)
                    {
                        string rights;
                        if (m_Tag.ObjType == Sql.ObjectType.TypeEnum.RegistryKey)
                        {
                            rights = ((RegistryRights)row[colFileSystemRights]).ToString();
                        }
                        else
                        {
                            rights = ((FileSystemRights)row[colFileSystemRights]).ToString();
                        }

                        string auditFlags = string.Empty;
                        if (row[colAuditFlags] != DBNull.Value)
                        {
                            foreach (int flag in Enum.GetValues(typeof(AuditFlags)))
                            {
                                //skip 0 because that is the None value which is not displayed in the security settings
                                if (flag > 0 && ((int)row[colAuditFlags] & flag) == flag)
                                {
                                    auditFlags += (auditFlags.Length > 0 ? ", " : string.Empty) +
                                                  DescriptionHelper.GetEnumDescription((AuditFlags)flag);
                                }
                            }
                        }

                        string access = row[colAccessType].ToString();
                        if (row[colAccessType] != DBNull.Value)
                        {
                            foreach (int flag in Enum.GetValues(typeof(AccessControlType)))
                            {
                                if ((int)row[colAccessType] == flag)
                                {
                                    // These cannot be combined
                                    access = DescriptionHelper.GetEnumDescription((AccessControlType)flag);
                                    break;
                                }
                            }
                        }

                        dt.Rows.Add(new object[]
                        {
                            null,
                            rights,
                            auditFlags,
                            (string)row[colUser],
                            access,
                            (string)row[colInherited] == "Y" ? true : false
                        });
                    }
                }
            }

            return(dt);
        }
        public static void Register()
        {
            ConventionManager.ApplyValueConverter = ApplyValueConverter;
            ConventionManager.AddElementConvention <SplitButton>(ContentControl.ContentProperty, "DataContext", "Click");
            ConventionManager.AddElementConvention <Run>(Run.TextProperty, "Text", "DataContextChanged");
            ConventionManager.AddElementConvention <IntegerUpDown>(UpDownBase <int?> .ValueProperty, "Value", "ValueChanged");
            ConventionManager.AddElementConvention <FlowDocumentScrollViewer>(FlowDocumentScrollViewer.DocumentProperty, "Document ", "DataContextChanged");
            ConventionManager.AddElementConvention <DocumentViewerBase>(DocumentViewerBase.DocumentProperty, "Document ", "DataContextChanged");
            ConventionManager.AddElementConvention <PasswordBox>(ContentElementBinder.PasswordProperty, "Password", "PasswordChanged")
            .ApplyBinding = (viewModelType, path, property, element, convention) => {
                //по умолчанию для PasswordBox установлен шрифт times new roman
                //высота поля ввода вычисляется на основе шрифта
                //если расположить TextBox и PasswordBox на одном уровне то разница в высоте будет заметна
                //правим эту кривизну
                ((PasswordBox)element).FontFamily = SystemFonts.MessageFontFamily;
                return(ConventionManager.SetBindingWithoutBindingOverwrite(viewModelType, path, property, element, convention, convention.GetBindableProperty(element)));
            };

            ConventionManager.AddElementConvention <MultiSelector>(ItemsControl.ItemsSourceProperty, "SelectedItem", "SelectionChanged")
            .ApplyBinding = (viewModelType, path, property, element, convention)
                            => TryBindSelectedItems(viewModelType, path, property, element, convention,
                                                    ((MultiSelector)element).SelectedItems);

            ConventionManager.AddElementConvention <ListBox>(ItemsControl.ItemsSourceProperty, "SelectedItem", "SelectionChanged")
            .ApplyBinding = (viewModelType, path, property, element, convention)
                            => TryBindSelectedItems(viewModelType, path, property, element, convention,
                                                    ((ListBox)element).SelectedItems);

            ConventionManager.AddElementConvention <ComboBox>(ItemsControl.ItemsSourceProperty, "SelectedItem", "SelectionChanged")
            .ApplyBinding = (viewModelType, path, property, element, convention) => {
                NotifyValueSupport.Patch(ref path, ref property);
                if (property.PropertyType.IsEnum)
                {
                    if (NotBindedAndNull(element, ItemsControl.ItemsSourceProperty) &&
                        !ConventionManager.HasBinding(element, Selector.SelectedItemProperty))
                    {
                        var items = DescriptionHelper.GetDescriptions(property.PropertyType);
                        element.SetValue(ItemsControl.DisplayMemberPathProperty, "Name");
                        element.SetValue(ItemsControl.ItemsSourceProperty, items);

                        var binding = new Binding(path);
                        binding.Converter          = new ComboBoxSelectedItemConverter();
                        binding.ConverterParameter = items;
                        BindingOperations.SetBinding(element, Selector.SelectedItemProperty, binding);
                    }
                }
                else
                {
                    var fallback = ConventionManager.GetElementConvention(typeof(Selector));
                    if (fallback != null)
                    {
                        return(fallback.ApplyBinding(viewModelType, path, property, element, fallback));
                    }
                }
                return(true);
            };
            ConventionManager.AddElementConvention <DataGrid>(ItemsControl.ItemsSourceProperty, "SelectedItem", "SelectionChanged")
            .ApplyBinding = (viewModelType, path, property, element, convention) => {
                var dataGrid = (DataGrid)element;
                if (dataGrid.Columns.Count > 1)
                {
                    Interaction.GetBehaviors(element).Add(new CustomMenu());
                }

                var fallback = ConventionManager.GetElementConvention(typeof(MultiSelector));
                if (fallback != null)
                {
                    var actualProperty = property;
                    var result         = fallback.ApplyBinding(viewModelType, path, actualProperty, element, fallback);
                    var dummy          = "";
                    NotifyValueSupport.Patch(ref dummy, ref actualProperty);
                    var propertyType = actualProperty.PropertyType;
                    if (result &&
                        propertyType.IsGenericType &&
                        typeof(IEnumerable).IsAssignableFrom(propertyType))
                    {
                        ConfigureDataGrid(dataGrid, propertyType.GetGenericArguments()[0]);
                    }
                    return(result);
                }
                return(false);
            };
            ConventionManager.AddElementConvention <Label>(ContentControl.ContentProperty, "Content", "DataContextChanged")
            .ApplyBinding = (viewModelType, path, property, element, convention) => {
                return(ConventionManager.SetBindingWithoutBindingOverwrite(viewModelType, path, property, element, convention, convention.GetBindableProperty(element)));
            };
        }
Exemple #22
0
        private string databaseDetails()
        {
            Debug.Assert(Type == RuleType.Database);

            // Initialize the string builder objects.
            StringBuilder details = new StringBuilder();

            if (m_FilterDetailsSubReport)
            {
                details.Append(FilterDetailsPrefixForSubReport);
            }
            else
            {
                details.Append(FilterDetailsPrefix);
            }
            //SQLSecure 3.1 (Barkha Khatri) populating strings based on servertype
            if (ServerType == ServerType.AzureSQLDatabase)
            {
                details.Append(AlwaysCollectedForAzureDB);
            }
            else
            {
                details.Append(AlwaysCollected);
            }
            StringBuilder dbDetails           = new StringBuilder();
            StringBuilder tblDetails          = new StringBuilder();
            StringBuilder tblMatchString      = new StringBuilder();
            StringBuilder viewDetails         = new StringBuilder();
            StringBuilder viewMatchString     = new StringBuilder();
            StringBuilder functionDetails     = new StringBuilder();
            StringBuilder functionMatchString = new StringBuilder();
            List <string> otherObjs           = new List <string>();

            // Process each of the rules.
            foreach (DataCollectionFilter.Rule rule in m_Rules)
            {
                switch (rule.ObjectType)
                {
                case RuleObjectType.Database:
                    dbDetails.Append(RuleDbPrefix);
                    dbDetails.Append("All ");
                    dbDetails.Append(DescriptionHelper.GetEnumDescription(rule.ObjectScope));
                    dbDetails.Append(" Databases");
                    if (!string.IsNullOrEmpty(rule.MatchString))
                    {
                        dbDetails.Append(" with names matching '" + rule.MatchString + "'");
                    }
                    if (m_Rules.Count > 1)
                    {
                        dbDetails.Append(RuleDbSuffix);
                    }
                    break;

                case RuleObjectType.Table:
                    if (tblDetails.Length == 0)
                    {
                        tblDetails.Append(RuleTblPrefix);
                        tblDetails.Append("All ");
                        tblDetails.Append(DescriptionHelper.GetEnumDescription(rule.ObjectScope));
                        tblDetails.Append(" Tables");
                    }
                    if (!string.IsNullOrEmpty(rule.MatchString))
                    {
                        switch (tblMatchString.Length)
                        {
                        case 0:
                            tblMatchString.Append(" with names matching '");
                            break;

                        default:
                            tblMatchString.Append(", ");
                            break;
                        }
                        tblMatchString.Append(rule.MatchString);
                    }
                    break;

                case RuleObjectType.StoredProcedure:
                    break;

                case RuleObjectType.View:
                    if (viewDetails.Length == 0)
                    {
                        viewDetails.Append(RuleSpPrefix);
                        viewDetails.Append("All ");
                        viewDetails.Append(DescriptionHelper.GetEnumDescription(rule.ObjectScope));
                        viewDetails.Append(" Views");
                    }
                    if (!string.IsNullOrEmpty(rule.MatchString))
                    {
                        switch (viewMatchString.Length)
                        {
                        case 0:
                            viewMatchString.Append(" with names matching '");
                            break;

                        default:
                            viewMatchString.Append(", ");
                            break;
                        }
                        viewMatchString.Append(rule.MatchString);
                    }
                    break;

                case RuleObjectType.Function:
                    if (functionDetails.Length == 0)
                    {
                        functionDetails.Append(RuleSpPrefix);
                        functionDetails.Append("All ");
                        functionDetails.Append(DescriptionHelper.GetEnumDescription(rule.ObjectScope));
                        functionDetails.Append(" Functions");
                    }
                    if (!string.IsNullOrEmpty(rule.MatchString))
                    {
                        switch (functionMatchString.Length)
                        {
                        case 0:
                            functionMatchString.Append(" with names matching '");
                            break;

                        default:
                            functionMatchString.Append(", ");
                            break;
                        }
                        functionMatchString.Append(rule.MatchString);
                    }
                    break;

                case RuleObjectType.ExtendedStoredProcedure:
                    break;

                case RuleObjectType.User:
                    break;

                case RuleObjectType.Role:
                    break;

                case RuleObjectType.Assembly:
                    otherObjs.Add("Assemblies");
                    break;

                case RuleObjectType.Certificate:
                    otherObjs.Add("Certificates");
                    break;

                case RuleObjectType.FullTextCatalog:
                    otherObjs.Add("Full Text Catalogs");
                    break;

                case RuleObjectType.Key:
                    otherObjs.Add("Keys");
                    break;

                case RuleObjectType.UserDefinedDataType:
                    otherObjs.Add("User-defined Data Types");
                    break;

                case RuleObjectType.XMLSchemaCollection:
                    otherObjs.Add("XML Schema Collections");
                    break;

                case RuleObjectType.Synonym:
                    otherObjs.Add("Synonyms");
                    break;

                case RuleObjectType.SequenceObject:
                    otherObjs.Add("Sequence Objects");
                    break;

                default:
                    Debug.Assert(false);
                    break;
                }
            }

            // Fill the details string builder.
            //if (espDetail.Length > 0)
            //{
            //    details.Append(RuleDbPrefix);
            //    details.Append(espDetail.ToString());
            //    details.Append(RuleDbSuffix);
            //}
            details.Append(dbDetails.ToString());
            if (tblDetails.Length > 0 || viewDetails.Length > 0 || functionDetails.Length > 0 || otherObjs.Count > 0)
            {
                details.Append(RuleDbLastSuffix);
            }
            if (tblDetails.Length > 0)
            {
                details.Append(tblDetails.ToString());
                if (tblMatchString.Length > 0)
                {
                    details.Append(tblMatchString.ToString());
                    details.Append("'");
                }
                details.Append(RuleTblSuffix);
            }
            if (viewDetails.Length > 0)
            {
                details.Append(viewDetails.ToString());
                if (viewMatchString.Length > 0)
                {
                    details.Append(viewMatchString.ToString());
                    details.Append("'");
                }
                details.Append(RuleSpSuffix);
            }

            if (functionDetails.Length > 0)
            {
                details.Append(functionDetails.ToString());
                if (functionMatchString.Length > 0)
                {
                    details.Append(functionMatchString.ToString());
                    details.Append("'");
                }
                details.Append(RuleSpSuffix);
            }
            if (otherObjs.Count > 0)
            {
                details.Append(RuleOtherPrefix);
                if (otherObjs.Count == 1)
                {
                    details.Append(otherObjs[0]);
                }
                else
                {
                    int last = otherObjs.Count - 1;
                    for (int i = 0; i < otherObjs.Count; ++i)
                    {
                        if (i == 0)
                        {
                            details.Append(otherObjs[i]);
                        }
                        else
                        {
                            details.Append(((i != last) ? ", " : " and ") + otherObjs[i]);
                        }
                    }
                }
                details.Append(RuleOtherSuffix);
            }

            return(details.ToString());
        }
        public ControlImportExportPolicyVulnerabilities()
        {
            InitializeComponent();

            // Hide all radio buttons for single selection group box
            radioButton1.Visible = false;
            radioButton2.Visible = false;
            radioButton3.Visible = false;
            radioButton4.Visible = false;
            radioButton5.Visible = false;
            radioButton6.Visible = false;
            radioButton7.Visible = false;
            radioButton8.Visible = false;

            // Hide single selectin group box
            groupBox_TriggerSingle.Visible = false;

            // Hide all checkboxes for multiple selection group box
            checkBox1.Visible = false;
            checkBox2.Visible = false;
            checkBox3.Visible = false;
            checkBox4.Visible = false;
            checkBox5.Visible = false;
            checkBox6.Visible = false;
            checkBox7.Visible = false;
            checkBox8.Visible = false;

            // Hide multiple selection group box
            groupBox_CriteriaMultiple.Visible = false;

            // Hide User Entered Multiple Selection group box
            groupBox_CriteriaUserEnterMultiple.Visible = false;

            // Hide User Entered Single Selection group box
            groupBox_CriteriaUserEnterSingle.Visible = false;

            // Hide Enabled Disabled Only group box
            groupBox_TriggerDisabledEnabledOnly.Visible = false;

            radioButton_SeverityCritical.Text =
                Utility.DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.High);
            radioButton_SeverityMedium.Text =
                Utility.DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Medium);
            radioButton_SeverityLow.Text =
                Utility.DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Low);

            _toolStripButton_ColumnChooser.Image = AppIcons.AppImage16(AppIcons.Enum.GridFieldChooser);
            _toolStripButton_GroupBy.Image       = AppIcons.AppImage16(AppIcons.Enum.GridGroupBy);
            _toolStripButton_Save.Image          = AppIcons.AppImage16(AppIcons.Enum.GridSaveToExcel);
            _toolStripButton_Print.Image         = AppIcons.AppImage16(AppIcons.Enum.Print);

            // load value lists for grid display
            ValueListItem listItem;
            ValueList     severityValueList = new ValueList();

            severityValueList.Key          = valueListSeverity;
            severityValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
            ultraGridPolicyMetrics.DisplayLayout.ValueLists.Add(severityValueList);
            severityValueList.ValueListItems.Clear();
            listItem = new ValueListItem(Utility.Policy.Severity.Ok, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Ok));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.check_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Low, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Low));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.LowRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Medium, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Medium));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.MediumRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.High, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.High));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.HighRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Undetermined, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Undetermined));
            listItem.Appearance.Image       = AppIcons.AppImage16(AppIcons.Enum.Unknown);
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);

            ValueList enabledValueList = new ValueList();

            enabledValueList.Key          = valueListEnabled;
            enabledValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
            ultraGridPolicyMetrics.DisplayLayout.ValueLists.Add(enabledValueList);
            listItem = new ValueListItem(true, "Yes");
            enabledValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(false, "No");
            enabledValueList.ValueListItems.Add(listItem);
        }
Exemple #24
0
        public View_ManagePolicies()
        {
            InitializeComponent();

            _label_Summary.Text = "Manage Policies";

            _toolStripButton_PoliciesColumnChooser.Image   =
                _toolStripButton_AuditsColumnChooser.Image = AppIcons.AppImage16(AppIcons.Enum.GridFieldChooser);
            _toolStripButton_PoliciesGroupBy.Image         =
                _toolStripButton_AuditsGroupBy.Image       = AppIcons.AppImage16(AppIcons.Enum.GridGroupBy);
            _toolStripButton_PoliciesSave.Image            =
                _toolStripButton_AuditsSave.Image          = AppIcons.AppImage16(AppIcons.Enum.GridSaveToExcel);
            _toolStripButton_PoliciesPrint.Image           =
                _toolStripButton_AuditsPrint.Image         = AppIcons.AppImage16(AppIcons.Enum.Print);


            _smallTask_CreatePolicy.TaskHandler += new System.EventHandler(this.CreatePolicy);
            _smallTask_EditPolicy.TaskHandler   += new System.EventHandler(this.EditPolicy);


            _grid_Assessments.Tag = _label_Assessments;
            _grid_Policies.Tag    = _label_Policies;

            _dt_Policies.Columns.Add(colHeaderName, typeof(String));
            _dt_Policies.Columns.Add(colHeaderRiskHigh, typeof(int));
            _dt_Policies.Columns.Add(colHeaderRiskMedium, typeof(int));
            _dt_Policies.Columns.Add(colHeaderRiskLow, typeof(int));
            _dt_Policies.Columns.Add(colHeaderAssessmentCount, typeof(int));
            _dt_Policies.Columns.Add(colHeaderDynamicServerSelection, typeof(bool));
            _dt_Policies.Columns.Add(colHeaderHasInterview, typeof(bool));
            _dt_Policies.Columns.Add(colHeaderDescription, typeof(String));
            _dt_Policies.Columns.Add(colHeaderHiddenPolicyId, typeof(int));
            _dt_Policies.Columns.Add(colHeaderHiddenAssessmentId, typeof(int));

            _dt_Assessments.Columns.Add(colHeaderStatus, typeof(int));
            _dt_Assessments.Columns.Add(colHeaderName, typeof(String));
            _dt_Assessments.Columns.Add(colHeaderConfiguredHigh, typeof(int));
            _dt_Assessments.Columns.Add(colHeaderRiskHigh, typeof(int));
            _dt_Assessments.Columns.Add(colHeaderConfiguredMedium, typeof(int));
            _dt_Assessments.Columns.Add(colHeaderRiskMedium, typeof(int));
            _dt_Assessments.Columns.Add(colHeaderConfiguredLow, typeof(int));
            _dt_Assessments.Columns.Add(colHeaderRiskLow, typeof(int));
            _dt_Assessments.Columns.Add(colHeaderState, typeof(String));
            _dt_Assessments.Columns.Add(colHeaderDate, typeof(String));
            _dt_Assessments.Columns.Add(colHeaderDescription, typeof(String));
            _dt_Assessments.Columns.Add(colHeaderHiddenPolicyId, typeof(int));
            _dt_Assessments.Columns.Add(colHeaderHiddenAssessmentId, typeof(int));


            _grid_Policies.DrawFilter    = new Utility.HideFocusRectangleDrawFilter();
            _grid_Assessments.DrawFilter = new Utility.HideFocusRectangleDrawFilter();


            // load value lists for grid display
            ValueListItem listItem;
            ValueList     severityValueList = new ValueList();

            severityValueList.Key          = valueListSeverity;
            severityValueList.DisplayStyle = ValueListDisplayStyle.Picture;
            _grid_Assessments.DisplayLayout.ValueLists.Add(severityValueList);
            severityValueList.ValueListItems.Clear();
            listItem = new ValueListItem(Utility.Policy.SeverityExplained.Ok, DescriptionHelper.GetEnumDescription(Utility.Policy.SeverityExplained.Ok));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.check_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.SeverityExplained.LowExplained, DescriptionHelper.GetEnumDescription(Utility.Policy.SeverityExplained.LowExplained));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.LowRiskExplained_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.SeverityExplained.MediumExplained, DescriptionHelper.GetEnumDescription(Utility.Policy.SeverityExplained.MediumExplained));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.MediumRiskExplained_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.SeverityExplained.HighExplained, DescriptionHelper.GetEnumDescription(Utility.Policy.SeverityExplained.HighExplained));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.HighRiskExplained_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.SeverityExplained.Low, DescriptionHelper.GetEnumDescription(Utility.Policy.SeverityExplained.Low));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.LowRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.SeverityExplained.Medium, DescriptionHelper.GetEnumDescription(Utility.Policy.SeverityExplained.Medium));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.MediumRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.SeverityExplained.High, DescriptionHelper.GetEnumDescription(Utility.Policy.SeverityExplained.High));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.HighRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.SeverityExplained.Undetermined, DescriptionHelper.GetEnumDescription(Utility.Policy.SeverityExplained.Undetermined));
            listItem.Appearance.Image       = AppIcons.AppImage16(AppIcons.Enum.Unknown);
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
        }
 public void RetrieveEnumDescription_EnumValueHasNotDescriptionAttribute_ReturnsEmptyString()
 {
     Assert.IsEmpty(DescriptionHelper.RetrieveEnumDescription(TaskStatus.Created));
 }
 public override string ToString()
 {
     return(this.IsLost
         ? $"{this.X} {this.Y} {DescriptionHelper.GetEnumDescription(this.Orientation)} LOST"
         : $"{this.X} {this.Y} {DescriptionHelper.GetEnumDescription(this.Orientation)}");
 }
Exemple #27
0
        internal controlConfigureMetricCriteria(ConfigurePolicyControlType controlType)
        {
            // SQLsecure 3.1 (Anshul Aggarwal) - Represents current state of control - 'Configure Security Check' or 'Export/Import Policy'.
            m_ControlType = controlType;

            InitializeComponent();

            // Hide all radio buttons for single selection group box
            radioButton1.Visible = false;
            radioButton2.Visible = false;
            radioButton3.Visible = false;
            radioButton4.Visible = false;
            radioButton5.Visible = false;
            radioButton6.Visible = false;
            radioButton7.Visible = false;
            radioButton8.Visible = false;

            // Hide single selectin group box
            groupBox_TriggerSingle.Visible = groupBox_TriggerSingle.Enabled = false;

            // Hide all checkboxes for multiple selection group box
            checkBox1.Visible = false;
            checkBox2.Visible = false;
            checkBox3.Visible = false;
            checkBox4.Visible = false;
            checkBox5.Visible = false;
            checkBox6.Visible = false;
            checkBox7.Visible = false;
            checkBox8.Visible = false;

            // Hide multiple selection group box
            groupBox_CriteriaMultiple.Visible = groupBox_CriteriaMultiple.Enabled = false;

            // Hide User Entered Multiple Selection group box
            groupBox_CriteriaUserEnterMultiple.Visible = groupBox_CriteriaUserEnterMultiple.Enabled = false;

            // Hide User Entered Single Selection group box
            groupBox_CriteriaUserEnterSingle.Visible = groupBox_CriteriaUserEnterSingle.Enabled = false;

            // Hide Enabled Disabled Only group box
            groupBox_TriggerDisabledEnabledOnly.Visible = groupBox_TriggerDisabledEnabledOnly.Enabled = false;

            radioButton_SeverityCritical.Text =
                Utility.DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.High);
            radioButton_SeverityMedium.Text =
                Utility.DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Medium);
            radioButton_SeverityLow.Text =
                Utility.DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Low);

            // load value lists for grid display
            ValueListItem listItem;
            ValueList     severityValueList = new ValueList();

            severityValueList.Key          = valueListSeverity;
            severityValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
            severityValueList.ValueListItems.Clear();
            listItem = new ValueListItem(Utility.Policy.Severity.Ok, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Ok));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.check_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Low, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Low));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.LowRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Medium, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Medium));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.MediumRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.High, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.High));
            listItem.Appearance.Image       = global::Idera.SQLsecure.UI.Console.Properties.Resources.HighRisk_16;
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(Utility.Policy.Severity.Undetermined, DescriptionHelper.GetEnumDescription(Utility.Policy.Severity.Undetermined));
            listItem.Appearance.Image       = AppIcons.AppImage16(AppIcons.Enum.Unknown);
            listItem.Appearance.ImageVAlign = VAlign.Top;
            severityValueList.ValueListItems.Add(listItem);

            ValueList enabledValueList = new ValueList();

            enabledValueList.Key          = valueListEnabled;
            enabledValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
            listItem = new ValueListItem(true, "Yes");
            enabledValueList.ValueListItems.Add(listItem);
            listItem = new ValueListItem(false, "No");
            enabledValueList.ValueListItems.Add(listItem);

            // SQLsecure 3.1 (Anshul Aggarwal) - Change control state based on current control usage type.
            RefreshState();
        }
        public override string ToString()
        {
            var taskStatusDescription = DescriptionHelper.RetrieveEnumDescription(Status);

            return($"[{AssignedUserName}] {Id} {Name} ({taskStatusDescription})");
        }