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); }
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(); }
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); }); } }
/// <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); }