public async Task <IActionResult> PartialSelectTagTypes(TargetMode mode, string field, int index, string value = null)
        {
            var model = new RulesSelectModel
            {
                HtmlFieldId    = $"{mode}_{index}_{field}",                 // Exemple : Conditions_0_FieldType
                HtmlFieldName  = $"{mode}[{index}].{field}",                // Exemple : Conditions[0].FieldType
                OnChangeScript = $"on{mode}{field}Changed(this, {index});", // Exemple : onConditionFieldTypeChanged(this, 0);
                ListItems      = (await _api.GetAsync <IEnumerable <dto.Model.TagType> >("tagtypes")).OrderBy(tt => tt.Key).Select(tt => new SelectListItem
                {
                    Value    = tt.Key,
                    Text     = tt.Caption ?? tt.Key,
                    Selected = (tt.Key == value),
                }),
            };

            return(PartialView("_PartialSelectRules", model));
        }
        public async Task <IActionResult> PartialSelectTagValue(TargetMode mode, string field, int index, string tagType, string value = null)
        {
            var tags = (await _api.GetAsync <IEnumerable <Tag> >($"tags/{tagType}")).OrderBy(t => t.Key);

            var model = new RulesSelectModel
            {
                HtmlFieldId    = $"{mode}_{index}_{field}",   // Exemple : Conditions_0_FieldType
                HtmlFieldName  = $"{mode}[{index}].{field}",  // Exemple : Conditions[0].FieldType
                OnChangeScript = null,
                ListItems      = tags.Select(t => new SelectListItem
                {
                    Value    = t.Key,
                    Text     = t.Caption ?? t.Key,
                    Selected = (t.Key == value),
                }),
            };

            return(PartialView("_PartialSelectRules", model));
        }
        public IActionResult PartialSelectValueOperator(TargetMode mode, string field, int index, string value = null)
        {
            var values = Enum.GetNames(typeof(dto.ERecognitionRuleConditionOperator)).AsEnumerable().OrderBy(n => n);

            var model = new RulesSelectModel
            {
                HtmlFieldId    = $"{mode}_{index}_{field}",                 // Exemple : Conditions_0_FieldType
                HtmlFieldName  = $"{mode}[{index}].{field}",                // Exemple : Conditions[0].FieldType
                OnChangeScript = $"on{mode}{field}Changed(this, {index});", // Exemple : onConditionFieldTypeChanged(this, 0);
                ListItems      = values.Select(n => new SelectListItem
                {
                    Value    = n,
                    Text     = n,
                    Selected = (n == value),
                }),
            };

            return(PartialView("_PartialSelectRules", model));
        }
        public IActionResult PartialSelectFields(TargetMode mode, string field, int index, string value = null)
        {
            Type type       = typeof(ImportedTransaction);
            var  properties = type.GetProperties().AsEnumerable().OrderBy(p => p.Name);

            var model = new RulesSelectModel
            {
                HtmlFieldId    = $"{mode}_{index}_{field}",                 // Exemple : Conditions_0_FieldType
                HtmlFieldName  = $"{mode}[{index}].{field}",                // Exemple : Conditions[0].FieldType
                OnChangeScript = $"on{mode}{field}Changed(this, {index});", // Exemple : onConditionFieldTypeChanged(this, 0);
                ListItems      = properties.Select(p => new SelectListItem
                {
                    Value    = p.Name,
                    Text     = p.Name,
                    Selected = (p.Name == value),
                }),
            };

            return(PartialView("_PartialSelectRules", model));
        }