Exemple #1
0
        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();
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
 public static int[] AllSubscriptionTypeIds()
 {
     return(LibCommon.DBModel().emailSubscriptionTypes.Select(x => x.Id).ToArray());
 }
Exemple #5
0
 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);
 }