示例#1
0
        public static int getAllGroupsofUserCount(long userId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            List <long> lstGroupIds = dbr.Find <Domain.Socioboard.Models.Groupmembers>(t => t.userId == userId && t.memberStatus == Domain.Socioboard.Enum.GroupMemberStatus.Accepted).Select(t => t.groupid).ToList();
            //List<Domain.Socioboard.Models.Groups> groups = dbr.Find<Domain.Socioboard.Models.Groups>(t => lstGroupIds.Contains(t.id)).ToList();
            int lstScheduledMessage = dbr.Counts <Domain.Socioboard.Models.Groups>(t => lstGroupIds.Contains(t.id));

            return(lstScheduledMessage);
        }
示例#2
0
        public static int getMemberCount(long userId, Helper.Cache _redisCache, Model.DatabaseRepository dbr)
        {
            List <Groupmembers> lstgrpmember = dbr.Find <Groupmembers>(t => t.userId == userId && t.memberStatus == Domain.Socioboard.Enum.GroupMemberStatus.Accepted && t.isAdmin == true).ToList();
            List <long>         tempLst      = new List <long>();

            foreach (var itemLst in lstgrpmember)
            {
                tempLst.Add(itemLst.groupid);
            }
            int membersAdminGrp = dbr.Counts <Domain.Socioboard.Models.Groupmembers>(t => tempLst.Contains(t.groupid) && t.memberStatus == Domain.Socioboard.Enum.GroupMemberStatus.Accepted);
            //int lstGrp = dbr.GetCount<Domain.Socioboard.Models.Groups>(t => t.adminId == userId);
            //long[] lstgrpId = lstGrp.Select(t => t.id).ToArray();
            ////int GrpMemberCount = dbr.Find<Domain.Socioboard.Models.Groupmembers>(t => lstgrpId.Contains(t.groupid) && t.isAdmin==false).Count();
            //int GrpMemberCount = dbr.Counts<Domain.Socioboard.Models.Groupmembers>(t => lstgrpId.Contains(t.groupid) && t.isAdmin == false);
            int nonadminMemberCount = dbr.GetCount <Domain.Socioboard.Models.Groupmembers>(t => t.userId == userId && t.isAdmin != true && t.memberStatus == Domain.Socioboard.Enum.GroupMemberStatus.Accepted);
            //int GrpMemberCount = dbr.GetCount<Domain.Socioboard.Models.Groupmembers>(t => t.userId == userId && t.memberStatus==Domain.Socioboard.Enum.GroupMemberStatus.Accepted)- (lstGrp+ nonadminMemberCount);
            int GrpMemberCount = nonadminMemberCount + membersAdminGrp - tempLst.Count;

            return(GrpMemberCount);
        }
示例#3
0
        public static int GetAllSentMessagesCount(long userId, long groupId, Model.DatabaseRepository dbr, Helper.Cache _redisCache)
        {
            string[] profileids = null;
            List <Domain.Socioboard.Models.Groupprofiles> iMmemGroupprofiles = _redisCache.Get <List <Domain.Socioboard.Models.Groupprofiles> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + groupId);
            List <Domain.Socioboard.Models.Groupprofiles> lstGroupprofiles   = new List <Groupprofiles>();

            if (iMmemGroupprofiles != null && iMmemGroupprofiles.Count > 0)
            {
                lstGroupprofiles = iMmemGroupprofiles;
            }
            else
            {
                lstGroupprofiles = dbr.Find <Domain.Socioboard.Models.Groupprofiles>(t => t.groupId == groupId).ToList();
                _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + groupId, lstGroupprofiles);
            }

            profileids = lstGroupprofiles.Select(t => t.profileId).ToArray();
            // List<Domain.Socioboard.Models.ScheduledMessage> lstScheduledMessage = dbr.Find<Domain.Socioboard.Models.ScheduledMessage>(t => profileids.Contains(t.profileId) && t.status == Domain.Socioboard.Enum.ScheduleStatus.Compleated).ToList();
            int lstScheduledMessage = dbr.Counts <Domain.Socioboard.Models.ScheduledMessage>(t => profileids.Contains(t.profileId) && t.status == Domain.Socioboard.Enum.ScheduleStatus.Compleated);

            return(lstScheduledMessage);
        }