public MessageModel GetRandomMessage(long accountId, int orderNumber, bool isEmergencyText, MessageRegime?regime) { var messageData = new GetMessageModelQueryHandler(new DataBaseContext()).Handle(new GetMessageModelQuery() { AccountId = accountId }).Where(model => model.MessageRegime == regime).ToList(); return(messageData.Where(model => model.OrderNumber == orderNumber && model.IsEmergencyText == isEmergencyText && model.MessageRegime == regime) .OrderBy(x => Guid.NewGuid()) .FirstOrDefault()); }
public MessageListModel GetMessagesList(long?accountId, long?groupId) { var messages = new GetMessageModelQueryHandler(new DataBaseContext()).Handle(new GetMessageModelQuery { AccountId = accountId, GroupId = groupId }); var groups = new GetGroupsQueryHandler(new DataBaseContext()) .Handle(new GetGroupsQuery()) .Select(data => new Group { Id = data.Id, Name = data.Name }).ToList(); if (groupId == null && accountId != null) { var account = _accountManager.GetAccountById((long)accountId); groupId = new GetGroupIdByFacebookIdQueryHandler(new DataBaseContext()).Handle( new GetGroupIdByFacebookIdQuery { FacebookId = account.FacebookId }); } var result = new MessageListModel { Messages = messages.Select(model => new MessageListItemModel { Message = model.Message, OrderNumber = model.OrderNumber, StartTime = model.StartTime, EndTime = model.EndTime, IsEmergencyText = model.IsEmergencyText, ImportancyFactor = model.ImportancyFactor, IsBotFirst = model.MessageRegime == MessageRegime.BotFirstMessage, Id = model.Id }).ToList(), AccountId = accountId, GroupId = groupId, GroupList = new GroupList { Groups = groups } }; return(result); }