Пример #1
0
 private void buttonSave_Click(object sender, EventArgs e)
 {
     if (saveFileDialogRls.ShowDialog(this) == DialogResult.OK)
     {
         RuleSerializer.SaveRule(listViewRules.Items.OfType <ListViewItem>().Select(x => (Rule)x.Tag).ToList(), saveFileDialogRls.FileName);
     }
 }
        protected List <ValidationResult> ValidateModRule(TemplateRuleModelBase model)
        {
            var errors = ValidateRule(model);

            if (!string.IsNullOrEmpty(model.ModRuleDefinition))
            {
                var modRule = RuleSerializer.Container <RootContainer>().Deserialize(model.ModRuleDefinition);

                if (modRule == null)
                {
                    errors.Add(new ValidationResult("Правило для переноса служб заполнено с неопределяемыми системой ошибками", new List <string>()
                    {
                        "ModRuleDefinition"
                    }));
                }
                else if (!modRule.IsValid)
                {
                    errors.Add(new ValidationResult(modRule.GetBrokenConstraints().GetSummary(), new List <string>()
                    {
                        "ModRuleDefinition"
                    }));
                }
            }

            return(errors);
        }
        public U Process <U>(U rule) where U : IRule
        {
            var serializedString = new RuleSerializer().Serialize(rule);
            var deserializedRule = new RuleSerializer().Deserialize <U>(serializedString);

            return(deserializedRule);
        }
Пример #4
0
        public void ACustomRuleIsSerialized_WhenSpecifyingItsType()
        {
            var rule             = new CustomRule();
            var result           = new RuleSerializer().Serialize(rule, rule.GetType());
            var deserializedRule = new RuleSerializer().Deserialize(result, rule.GetType());

            deserializedRule.Should().NotBeNull();
        }
Пример #5
0
 private void buttonOpen_Click(object sender, EventArgs e)
 {
     if (openFileDialogRls.ShowDialog(this) == DialogResult.OK)
     {
         var liste = RuleSerializer.LoadRule(openFileDialogRls.FileName);
         listViewRules.Items.Clear();
         liste.ForEach(x =>
         {
             var viewItem = new ListViewItem(x.Name, 0)
             {
                 Tag = x
             };
             listViewRules.Items.Add(viewItem);
         });
     }
 }
Пример #6
0
        /// <summary>
        /// Переопределяет правило для исполнения
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Result <ScheduleDataCalculatorResponse> Calculate(ScheduleDataCalculatorRequest request)
        {
            var response = Decoratee.Calculate(request);

            if (response.Failure)
            {
                return(response);
            }

            response.Value.Settings.RuleContainer = RuleSerializer.Container <RootContainer>().Deserialize(CustomRule);

            //обнуляем добавления?
            response.Value.Settings.Addition = null;

            return(response);
        }