示例#1
0
        public static List <Domain.Socioboard.Models.DaywiseSchedule> DeleteMultiDaywiseSocialMessages(List <long> socioqueueId, long userId, long GroupId, Helper.Cache _redisCache, Helper.AppSettings _appSeetings, Model.DatabaseRepository dbr)
        {
            string[] profileids = null;
            List <Domain.Socioboard.Models.DaywiseSchedule> ScheduledMessagess = dbr.Find <Domain.Socioboard.Models.DaywiseSchedule>(t => socioqueueId.Contains(t.id)).ToList();

            ScheduledMessagess.ForEach(tr => tr.status = Domain.Socioboard.Enum.ScheduleStatus.Deleted);

            dbr.UpdateAll <Domain.Socioboard.Models.DaywiseSchedule>(ScheduledMessagess);
            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.DaywiseSchedule> lstScheduledMessage = dbr.Find <Domain.Socioboard.Models.DaywiseSchedule>(t => profileids.Contains(t.profileId) && t.status == 0).ToList();

            if (lstScheduledMessage != null && lstScheduledMessage.Count > 0)
            {
                _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheScheduleMessage + GroupId, lstScheduledMessage);
                return(lstScheduledMessage);
            }
            else
            {
                return(null);
            }
        }