private static void AddRemoveSubscription(int subTypeId, string username, bool add) { string settingKey = EMAIL_SUB_SETTING_KEY_PREFIX + subTypeId; var data = LibCommon.DBModel(); // first remove any existing var existingSubs = data.userSettings .Where(x => x.active_flag && x.settingKey == settingKey && x.username == username); foreach (var sub in existingSubs) { sub.active_flag = false; sub.update_dt = DateTime.Now; } // if add, then add it if (add) { db.userSetting sub = new db.userSetting(); sub.settingKey = settingKey; sub.settingValue = string.Empty; sub.username = username; sub.insert_dt = DateTime.Now; sub.update_dt = DateTime.Now; sub.active_flag = true; data.userSettings.InsertOnSubmit(sub); } data.SubmitChanges(); }
public static db.user[] GetSubscribedUsers(EmailSubscriptionType subType) { var names = LibCommon.DBModel().userSettings .Where(x => x.settingKey == EMAIL_SUB_SETTING_KEY_PREFIX + (int)subType && x.active_flag) .Select(x => x.username) .ToArray(); return(LibCommon.DBModel().users.Where(x => names.Contains(x.name) && x.email != null && x.IsActive).OrderBy(u => u.registration_dt).ToArray()); }
public static string GetEmailSubDescription(int subTypeId) { var sub = LibCommon.DBModel().emailSubscriptionTypes.FirstOrDefault(x => x.Id == subTypeId); if (sub != null) { return(sub.Name); } else { return(null); } }
public static int[] AllSubscriptionTypeIds() { return(LibCommon.DBModel().emailSubscriptionTypes.Select(x => x.Id).ToArray()); }
public static bool UserHasSubscription(int subTypeId, string username) { return(LibCommon.DBModel().userSettings.Count(x => x.settingKey == EMAIL_SUB_SETTING_KEY_PREFIX + subTypeId && x.username == username && x.active_flag) > 0); }