Ejemplo n.º 1
0
        public virtual ActionResult RulesGroupCreateAndEdit(
            int searchModule,
            int searchGroupRule,
            int searchGroupClasification,
            string searchRuleName,
            int searchRuleGroupStatus,
            string searchClassificationCode)
        {
            ViewBag.fixLoad         = true;
            ViewBag.RuleGroupModule = _ruleEngService.GetItemsRuleEngModuleCode();

            var response = new RuleEngGroupViewModel
            {
                Name             = string.Empty,
                Classification   = string.Empty,
                Code             = string.Empty,
                ClassificationId = 0,
                IsActive         = false,
                CodeId           = 0,
                GroupRuleId      = 0,
                Module           = string.Empty,
                ModuleId         = 0,
                RuleEngGroupId   = 0,
                GroupRule        = string.Empty,
                BreakFirst       = false,
                RuleEngResultGroupClassificationId = 0,
                RuleEngResult = new List <RuleEngResultViewModel>(),
                RuleEng       = new List <RuleEngViewModel>(),
                RuleEngResultGroupClassification = new List <RuleEngResultGroupClassificationViewModel>()
            };

            if (searchGroupRule != 0)
            {
                response = _ruleEngService
                           .GetRulesGroupCreateAndEdit(
                    searchGroupRule,
                    searchModule,
                    searchGroupClasification,
                    searchRuleName,
                    searchRuleGroupStatus,
                    searchClassificationCode)
                           .GetRuleEngGroup;
            }

            response.GroupRole =
                _ruleEngService.GetItemsGroup(
                    searchGroupRule,
                    RulesEngAttributes.RULE_GROUP).GetRuleEngGroup;
            response.GroupClassification =
                _ruleEngService.GetItemsGroup(
                    searchGroupRule,
                    RulesEngAttributes.CLASSIFICATION).GetRuleEngGroup;
            ViewBag.RuleEngCode         = _ruleEngService.GetItemsRuleEngCode(searchGroupRule);
            ViewBag.ID                  = searchGroupRule;
            ViewBag.SerializedViewModel = PageSerializationHelper
                                          .SerializeObject(response);

            return(PartialView("Partials/RulesGroupEdit", response));
        }
Ejemplo n.º 2
0
        public virtual ActionResult TestRule(string code, string name)
        {
            var response =
                new RuleEngGroupViewModel
            {
                Name = name,
                Code = code
            };

            return(PartialView("Partials/TestRule", response));
        }
Ejemplo n.º 3
0
        public static void UpdateRuleEngGroupViewModel(
            this RuleEngGroupViewModel viewModel,
            ClientFieldData[] clientFieldData)
        {
            var searchModule =
                clientFieldData.FirstOrDefault(o =>
                                               !string.IsNullOrWhiteSpace(o.Name) && o.Name.Equals(SEARCH_RULE_GROUP_MODULE));

            if (searchModule != null)
            {
                viewModel.ModuleId = Convert.ToInt32(searchModule.Value);
            }

            var groupRule =
                clientFieldData.FirstOrDefault(o =>
                                               !string.IsNullOrWhiteSpace(o.Name) && o.Name.Equals(SEARCH_RULE_GROUP_CODE));

            if (groupRule != null)
            {
                viewModel.GroupRuleId = Convert.ToInt32(groupRule.Value);
            }

            var classification =
                clientFieldData.FirstOrDefault(o =>
                                               !string.IsNullOrWhiteSpace(o.Name) &&
                                               o.Name.Equals(SEARCH_RULE_GROUP_CLASSIFICATION));

            if (classification != null)
            {
                viewModel.RuleEngResultGroupClassificationId = Convert.ToInt32(classification.Value);
            }

            var breakFirst =
                clientFieldData.FirstOrDefault(o =>
                                               !string.IsNullOrWhiteSpace(o.Name) &&
                                               o.Name.Equals(BREAK_FIRST));

            if (breakFirst != null)
            {
                viewModel.BreakFirst = bool.Parse(breakFirst.Value);
            }

            var ruleEngIdValue = clientFieldData
                                 .Where(o => o.Name.Equals(RULE_ENG_ID))
                                 .ToList();
            var ruleEngResultIdValue = clientFieldData
                                       .Where(o => o.Name.Equals(RULE_ENG_RESULT_ID))
                                       .ToList();
            var ruleOrderIdValue = clientFieldData
                                   .Where(o => o.Name.Equals(RULE_ORDER))
                                   .ToList();
            var priorityValue = clientFieldData
                                .Where(o => o.Name.Equals(RULE_PRIORITY))
                                .ToList();
            var activeValue = clientFieldData
                              .Where(o => o.Name.Equals(ACTIVE))
                              .ToList();
            var resultValue = clientFieldData
                              .Where(o => o.Name.Equals(RESULT))
                              .ToList();
            var codeERValue = clientFieldData
                              .Where(o => o.Name.Equals(CODE_ER))
                              .ToList();
            var nameERValue = clientFieldData
                              .Where(o => o.Name.Equals(NAME_ER))
                              .ToList();
            var descriptionERValue = clientFieldData
                                     .Where(o => o.Name.Equals(DESCRIPTION_ER))
                                     .ToList();

            int  reId;
            int  roId;
            int  prId;
            bool act;

            viewModel.RuleEngResult = (
                from ruleEngId in ruleEngIdValue
                join priority in priorityValue
                on ruleEngIdValue.IndexOf(ruleEngId) equals priorityValue.IndexOf(priority)
                join ruleEngResultId in ruleEngResultIdValue
                on ruleEngIdValue.IndexOf(ruleEngId)
                equals ruleEngResultIdValue.IndexOf(ruleEngResultId)
                join ruleOrderId in ruleOrderIdValue
                on ruleEngIdValue.IndexOf(ruleEngId)
                equals ruleOrderIdValue.IndexOf(ruleOrderId)
                join active in activeValue
                on ruleEngIdValue.IndexOf(ruleEngId)
                equals activeValue.IndexOf(active)
                join result in resultValue
                on ruleEngIdValue.IndexOf(ruleEngId)
                equals resultValue.IndexOf(result)
                join codeER in codeERValue
                on ruleEngIdValue.IndexOf(ruleEngId)
                equals codeERValue.IndexOf(codeER)
                join nameER in nameERValue
                on ruleEngIdValue.IndexOf(ruleEngId)
                equals nameERValue.IndexOf(nameER)
                join descriptionER in descriptionERValue
                on ruleEngIdValue.IndexOf(ruleEngId)
                equals descriptionERValue.IndexOf(descriptionER)
                select new RuleEngResultViewModel
            {
                RuleEngId = int.Parse(ruleEngId.Value),
                RuleEngResultId = int.TryParse(ruleEngResultId.Value, out reId) ? reId : 0,
                Order = int.TryParse(ruleOrderId.Value, out roId) ? roId : 0,
                Priority = int.TryParse(priority.Value, out prId) ? prId : 0,
                IsActive = bool.TryParse(active.Value, out act) ? act : false,
                Result = result.Value,
                Code = codeER.Value,
                Name = nameER.Value,
                Description = descriptionER.Value
            }).ToList();

            viewModel.Deleted = GetDeleted(clientFieldData);
        }