private IQueryable <SMSList> FetchSentMessages()
        {
            var ingroups = UserInGroups();
            var q        = from message in CurrentDatabase.SMSLists
                           where ingroups.Contains(message.SendGroupID)
                           select message;

            if (SentFilterStart != null)
            {
                q = q.Where(e => e.SendAt >= SentFilterStart);
            }
            if (SentFilterEnd != null)
            {
                q = q.Where(e => e.SendAt < SentFilterEnd.Value.AddHours(24));
            }
            if (SentFilterGroupId.ToInt() > 0)
            {
                q = q.Where(e => e.SendGroupID == SentFilterGroupId.ToInt());
            }
            if (SentFilterPeopleId.ToInt() > 0)
            {
                q = q.Where(e => e.SenderID == SentFilterPeopleId.ToInt());
            }
            if (SentFilterTitle.HasValue())
            {
                var titleid = SentFilterTitle.Substring(1);
                q = titleid.AllDigits()
                    ? q.Where(e => e.ReplyToId == titleid.ToInt())
                    : q.Where(e => e.Title.Contains(SentFilterTitle));
            }
            return(q);
        }
        public IEnumerable <SelectListItem> GroupMembers()
        {
            var q = from c in CurrentDatabase.SMSGroupMembers
                    where SentFilterGroupId.ToInt() == c.GroupID
                    select new SelectListItem
            {
                Value = c.User.PeopleId.ToString(),
                Text  = c.User.Name2,
            };
            var groupMembers = q.ToList();

            groupMembers.Insert(0, new SelectListItem {
                Text = "(select group member)", Value = "0"
            });
            return(groupMembers);
        }