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); }
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); }
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); }