/// <summary> /// 用户获取所有提醒设置 /// </summary> /// <param name="userId">用户Id</param> /// <returns>用户提醒设置集合(Key:提醒方式Id,Value:提醒设置实体)</returns> public Dictionary <string, IEnumerable <UserReminderSettings> > GetAllUserReminderSettings(long userId) { StringBuilder cacheKey = new StringBuilder(RealTimeCacheHelper.GetListCacheKeyPrefix(CacheVersionType.AreaVersion, "UserId", userId)); cacheKey.Append("UserReminderSettings"); IEnumerable <UserReminderSettings> reminderSettingsList = cacheService.Get <IEnumerable <UserReminderSettings> >(cacheKey.ToString()); if (reminderSettingsList == null) { var sql = PetaPoco.Sql.Builder; sql.Select("*") .From("tn_UserReminderSettings") .Where("UserId = @0", userId); reminderSettingsList = CreateDAO().Fetch <UserReminderSettings>(sql); if (reminderSettingsList != null && reminderSettingsList.Count() > 0) { cacheService.Add(cacheKey.ToString(), reminderSettingsList, CachingExpirationType.Stable); } } Dictionary <string, IEnumerable <UserReminderSettings> > userReminderSettings = new Dictionary <string, IEnumerable <UserReminderSettings> >(); if (reminderSettingsList != null && reminderSettingsList.Count() > 0) { foreach (int modeId in ReminderMode.GetAll().Select(n => n.ModeId)) { userReminderSettings.Add(modeId.ToString(), reminderSettingsList.Where(n => n.ReminderModeId == modeId).ToList()); } } return(userReminderSettings); }
public override void Update(IDatabase db, Court court, IEnumerable <JudgeModel> judges) { base.Update(db, court, judges); court.Name = Name.Sanatize(); court.BoardName = BoardName.Sanatize(); court.Mail = Mail.Sanatize(); court.BoardMail = BoardMail.Sanatize(); court.ReminderMode = ReminderMode.TryParseEnum(Model.ReminderMode.Standard); if (CourtKey.IsNullOrEmpty()) { court.CourtKey = Rng.Get(16).ToHexString(); } else { court.CourtKey = CourtKey.Sanatize(); } if (BoardKey.IsNullOrEmpty()) { court.BoardKey = Rng.Get(16).ToHexString(); } else { court.BoardKey = BoardKey.Sanatize(); } court.LastUpdate = LastUpdate.ParseTimestamp(); court.LastReminder = LastReminder.ParseTimestamp(); court.ReminderLevel = ReminderLevel.TryParseInt(0, 0, 9); if (Substitute == NullOption) { court.Substitute = null; } else { Guid substituteId = Guid.Empty; if (Guid.TryParse(Substitute, out substituteId)) { if (substituteId.Equals(Guid.Empty)) { court.Substitute = null; } else { court.Substitute = db.Query <Court>(substituteId); } } } }
public static string Translate(this ReminderMode value) { switch (value) { case ReminderMode.Standard: return("Standard"); case ReminderMode.Infrequent: return("Reduziert"); case ReminderMode.Off: return("Aus"); default: throw new InvalidOperationException(); } }