private void ExecuteAddCommand() { var view = new AddRuleView(); view.Show(); Messenger.Default.Send(new NotificationMessageAction <WebRuleItem>(null, item => { DatabaseHelper.Open(); var row = DatabaseHelper.InsertOrIgnore <WebRuleItem>( "Name , Url , CatalogBegin , CatalogEnd , ChapterBegin , ChapterEnd , Replace , AuthorBegin , AuthorEnd , DescriptionBegin , DescriptionEnd , CoverBegin , CoverEnd", "@Name , @Url , @CatalogBegin , @CatalogEnd , @ChapterBegin , @ChapterEnd , @Replace , @AuthorBegin , @AuthorEnd , @DescriptionBegin , @DescriptionEnd , @CoverBegin , @CoverEnd", new SQLiteParameter("@Name", item.Name), new SQLiteParameter("@Url", item.Url), new SQLiteParameter("@CatalogBegin", item.CatalogBegin), new SQLiteParameter("@CatalogEnd", item.CatalogEnd), new SQLiteParameter("@ChapterBegin", item.ChapterBegin), new SQLiteParameter("@ChapterEnd", item.ChapterEnd), new SQLiteParameter("@Replace", item.Replace), new SQLiteParameter("@AuthorBegin", item.AuthorBegin), new SQLiteParameter("@AuthorEnd", item.AuthorEnd), new SQLiteParameter("@DescriptionBegin", item.DescriptionBegin), new SQLiteParameter("@DescriptionEnd", item.DescriptionEnd), new SQLiteParameter("@CoverBegin", item.CoverBegin), new SQLiteParameter("@CoverEnd", item.CoverEnd)); DatabaseHelper.Close(); if (row > 0) { RulesList.Add(item); view.Close(); } }), "rule"); }
private void SearchBySNAction(object o) { RulesList.Clear(); foreach (Rule rule in db.Rules.Where(r => r.RuleYear == SearchRuleYear && r.AnnualSerialNumber == SearchASN)) { RulesList.Add(rule); } }
/// <summary> /// Initializes a new instance of the WebRulesViewModel class. /// </summary> public WebRulesViewModel() { DatabaseHelper.Open(); var reader = DatabaseHelper.Select <WebRuleItem>(); while (reader.Read()) { if (reader.HasRows) { RulesList.Add(new WebRuleItem(reader)); } } reader.Close(); DatabaseHelper.Close(); }
/** * Rule can have a common group and we can run rules part of a group */ public Result RunGroupRules(string groupName) { // Let's not do conversion inside the loop var groupList = new RulesList(); groupName = groupName.Trim().ToLower(); // If the rule's group matches the given group name, add to execution list foreach (var rule in RulesList) { if (rule.RuleAttributes.Group.Trim().ToLower() == groupName) { groupList.Add(rule); } } return(RunRules(groupList, groupName)); }
private void SearchAction(object o) { RulesList.Clear(); tempList = new ObservableCollection <string>(); SelectedTopics = AddTreeItemsToList(TopicsList); tempList = new ObservableCollection <string>(); SelectedIssuers = AddTreeItemsToList(IssuersList); //foreach (string topic in SelectedTopics) //{ // foreach (Rule rule in db.Rules.Where(r => r.Topic.Equals(topic)).ToList()) // RulesList.Add(rule); //} foreach (Rule rule in db.Rules.Where(r => SelectedTopics.Contains(r.Topic.TopicName) && SelectedIssuers.Contains(r.Issuer.IssuerName))) { RulesList.Add(rule); } }
/** * Run rules with specified names only */ public Result RunNamedRules(string[] ruleNames) { // Convert ruleNames array into trimmed lower case, so that we don't do in inside the loop var namedList = new RulesList(); for (var i = 0; i < ruleNames.Length; i++) { ruleNames[i] = ruleNames[i].Trim().ToLower(); } // If the current rule is listed in the ruleNames array, add to execution list foreach (var rule in RulesList) { if (Array.Exists(ruleNames, name => name == rule.RuleAttributes.Name.Trim().ToLower())) { namedList.Add(rule); } } return(RunRules(namedList, string.Join(", ", ruleNames))); }