/// <summary> /// Возвращает сообщения из лога /// </summary> /// <param name="paramets">Древо параметров поиска</param> /// <returns></returns> public IEnumerable<Message> Receive(SearchParametrs paramets) { var raw_msgs = (from msg in db.Messages select msg).ToList(); if(paramets.Children == null || paramets.Children.Count() == 0) { return raw_msgs; } var all_msgs = new List<Message>(); foreach( var par in paramets.Children) { all_msgs = all_msgs.Concat(Receive(par, raw_msgs)).ToList(); } return all_msgs; }
/// <summary> /// Возвращает сообщения из лога, но отбор идёи не из базыэ,а из какого-либо IEnumerable источника /// </summary> /// <param name="paramets">Древо параметров поиска</param> /// <param name="alreadyRecievd">Источник данных из которого происходит отбор сообщений</param> /// <returns></returns> public IEnumerable <Message> Receive(SearchParametrs paramets, IEnumerable <Message> alreadyRecievd) { var raw_msgs = paramets.Search(alreadyRecievd); if (paramets.Children == null || paramets.Children.Count() == 0) { return(raw_msgs); } var all_msgs = new List <Message>(); foreach (var par in paramets.Children) { all_msgs = all_msgs.Concat(Receive(par, raw_msgs)).ToList(); } return(all_msgs); }
/// <summary> /// Возвращает сообщения из лога /// </summary> /// <param name="paramets">Древо параметров поиска</param> /// <returns></returns> public IEnumerable <Message> Receive(SearchParametrs paramets) { var raw_msgs = (from msg in db.Messages select msg).ToList(); if (paramets.Children == null || paramets.Children.Count() == 0) { return(raw_msgs); } var all_msgs = new List <Message>(); foreach (var par in paramets.Children) { all_msgs = all_msgs.Concat(Receive(par, raw_msgs)).ToList(); } return(all_msgs); }
//public SearchParametrs Parent; /// <summary> /// Добавляет дочеренее древо параметров /// </summary> /// <param name="child">Новое дочернее древо параметров</param> public void AddChild(SearchParametrs child) { //child.Parent = this; Children.Add(child); }
/// <summary> /// Возвращает сообщения из лога, но отбор идёи не из базыэ,а из какого-либо IEnumerable источника /// </summary> /// <param name="paramets">Древо параметров поиска</param> /// <param name="alreadyRecievd">Источник данных из которого происходит отбор сообщений</param> /// <returns></returns> public IEnumerable<Message> Receive(SearchParametrs paramets, IEnumerable<Message> alreadyRecievd) { var raw_msgs = paramets.Search(alreadyRecievd); if (paramets.Children == null || paramets.Children.Count() == 0) { return raw_msgs; } var all_msgs = new List<Message>(); foreach (var par in paramets.Children) { all_msgs = all_msgs.Concat(Receive(par, raw_msgs)).ToList(); } return all_msgs; }