Esempio n. 1
0
        private IList <Condition> ParseConditions()
        {
            bool conditionExist          = false;
            IList <Condition> conditions = new List <Condition>();

            if (FilterSeverity != null)
            {
                string operatorProperty = FilterSeverity.Split(':')[0];
                validateCondition(operatorProperty, "FilterSeverity");
                conditions.Add(new Condition(
                                   field: "severity",
                                   operatorProperty: FilterSeverity.Split(':')[0],
                                   values: FilterSeverity.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (FilterMonitorService != null)
            {
                string operatorProperty = FilterMonitorService.Split(':')[0];
                validateCondition(operatorProperty, "FilterMonitorService");
                conditions.Add(new Condition(
                                   field: "MonitorService",
                                   operatorProperty: FilterMonitorService.Split(':')[0],
                                   values: FilterMonitorService.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (FilterMonitorCondition != null)
            {
                string operatorProperty = FilterMonitorCondition.Split(':')[0];
                validateCondition(operatorProperty, "FilterMonitorCondition");
                conditions.Add(new Condition(
                                   field: "MonitorCondition",
                                   operatorProperty: FilterMonitorCondition.Split(':')[0],
                                   values: FilterMonitorCondition.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (FilterTargetResourceType != null)
            {
                string operatorProperty = FilterTargetResourceType.Split(':')[0];
                validateCondition(operatorProperty, "FilterTargetResourceType");
                conditions.Add(new Condition(
                                   field: "TargetResourceType",
                                   operatorProperty: FilterTargetResourceType.Split(':')[0],
                                   values: FilterTargetResourceType.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (FilterDescription != null)
            {
                string operatorProperty = FilterDescription.Split(':')[0];
                validateCondition(operatorProperty, "FilterDescription");
                conditions.Add(new Condition(
                                   field: "Description",
                                   operatorProperty: FilterDescription.Split(':')[0],
                                   values: FilterDescription.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (FilterAlertRuleName != null)
            {
                string operatorProperty = FilterAlertRuleName.Split(':')[0];
                validateCondition(operatorProperty, "FilterAlertRuleName");
                conditions.Add(new Condition(
                                   field: "AlertRuleName",
                                   operatorProperty: FilterAlertRuleName.Split(':')[0],
                                   values: FilterAlertRuleName.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (FilterAlertRuleId != null)
            {
                string operatorProperty = FilterAlertRuleId.Split(':')[0];
                validateCondition(operatorProperty, "FilterAlertRuleId");
                conditions.Add(new Condition(
                                   field: "AlertRuleId",
                                   operatorProperty: FilterAlertRuleId.Split(':')[0],
                                   values: FilterAlertRuleId.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (FilterAlertContext != null)
            {
                string operatorProperty = FilterAlertContext.Split(':')[0];
                validateCondition(operatorProperty, "FilterAlertContext");
                conditions.Add(new Condition(
                                   field: "AlertContext",
                                   operatorProperty: FilterAlertContext.Split(':')[0],
                                   values: FilterAlertContext.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (FilterSignalType != null)
            {
                string operatorProperty = FilterSignalType.Split(':')[0];
                validateCondition(operatorProperty, "FilterSignalType");
                conditions.Add(new Condition(
                                   field: "SignalType",
                                   operatorProperty: FilterSignalType.Split(':')[0],
                                   values: FilterSignalType.Split(':')[1].Split(',')));
                conditionExist = true;
            }

            if (conditionExist == true)
            {
                return(conditions);
            }

            return(null);
        }