public void Get() { try { var options = CreateNewContextOptions(); using (var db = new ConversationContext(options)) { ConversationTestHelper.PopulateDefaultDataCtx(db); } using (var db = new ConversationContext(options)) { var repository = new ConversationRepository(db); var item = GenerateModel(); IEnumerable <Conv> result = null; Assert.DoesNotThrow(() => repository.Save(item)); Assert.DoesNotThrow(() => repository.AddMember(new User { Id = 1 }, item)); var filter = new ConversationFilter <int> { UserId = item.UserStartedId, ConversationTypeId = item.ConversationTypeId, }; Assert.DoesNotThrow(() => result = repository.Get(filter)); Assert.True(result != null && result.Any()); filter.Code = "Conv1"; Assert.DoesNotThrow(() => result = repository.Get(filter)); Assert.True(result != null && result.Any()); filter.Title = "Conversation"; Assert.DoesNotThrow(() => result = repository.Get(filter)); Assert.True(result != null && result.Any()); filter.DateCreatedInterval = new Interval <DateTime?> { Start = DateTime.Now.AddDays(-2) }; Assert.DoesNotThrow(() => result = repository.Get(filter)); Assert.True(result != null && result.Any()); filter.DateCreatedInterval.Start = null; filter.DateCreatedInterval.End = DateTime.Now.AddDays(2); Assert.DoesNotThrow(() => result = repository.Get(filter)); Assert.True(result != null && result.Any()); filter.DateCreatedInterval.Start = DateTime.Now.AddDays(-2); Assert.DoesNotThrow(() => result = repository.Get(filter)); Assert.True(result != null && result.Any()); } } catch (Exception ex) { LogEventManager.Logger.Error(ex); throw; } }
public IEnumerable <Server.Model.Conversation.Conversation> Get(ConversationFilter <int> filter) { try { var query = from conversation in Db.Set <Server.Model.Conversation.Conversation>() join conversationUser in Db.Set <ConversationUser>() on conversation.Id equals conversationUser.ConversationId where filter.UserId == conversationUser.UserId && conversation.ConversationTypeId == filter.ConversationTypeId select conversation; if (!string.IsNullOrEmpty(filter.Code)) { query = query.Where(it => it.Code == filter.Code); } if (filter.DateCreatedInterval != null && filter.DateCreatedInterval.Start.HasValue) { query = query.Where(it => it.DateCreated >= filter.DateCreatedInterval.Start); } if (filter.DateCreatedInterval != null && filter.DateCreatedInterval.End.HasValue) { query = query.Where(it => it.DateCreated <= filter.DateCreatedInterval.End); } //Case sensetive contains if (!string.IsNullOrEmpty(filter.Title)) { query = query.Where(it => it.Name.ToUpper().Contains(filter.Title.ToUpper())); } query = query.Include(it => it.UserStarted).Include(it => it.ConversationType); query = filter.Sord.Equals("desc", StringComparison.OrdinalIgnoreCase) ? query.OrderByDescending(filter.Sidx) : query.OrderBy(filter.Sidx); return(query.Skip(filter.Rows * (filter.Page - 1)).Take(filter.Rows).Distinct()); } catch (Exception ex) { LogEventManager.Logger.Error(ex.Message, ex); throw; } }
/// <summary> /// Get Conversation filtered by the criteria specified in the passed filter. /// </summary> /// <param name="filter">Limit the items returned. If null, then all items returned.</param> /// <returns>ICollection of the items as specified in the filter.</returns> public ICollection <Conversation> Conversations(ConversationFilter filter) { return(Get <Conversation>(filter ?? new ConversationFilter())); }
public void OnReceivedAllConversations(List <Conversation> conversations) { App.Current.Dispatcher.BeginInvoke((Action) delegate { CurrentConversation = null; Conversations.Clear(); ConversationByCID.Clear(); var filteredConverstions = conversations.Where(w => w.ConvName.ToLower().Contains(ConversationFilter.ToLower())); foreach (var conversation in filteredConverstions) { AddConversationToView(conversation); } }); }