Ejemplo n.º 1
0
        //news notification as per preferences
        public static async System.Threading.Tasks.Task CheckPrefAndSendNewsCard()
        {
            UPreferences UserPref   = GetDataHelper.ReadPreferences();
            int          UPrefCount = UserPref.Preferences.Count();
            Attachment   card       = null;

            for (int i = 0; i < UPrefCount; i++)
            {
                string userName = UserPref.Preferences[i].UserName;

                string   NewsNotificationTime1 = UserPref.Preferences[i].News.NewsNotificationTime;
                DateTime NewsNotificationTime  = DateTime.ParseExact(UserPref.Preferences[i].News.NewsNotificationTime, "H:mm tt", CultureInfo.InvariantCulture);
                //List<string[]> NewsCat = UserPref.preferences[i].News.Select(c => c.SelectedCategories).ToList();

                DateTime currTime = DateTime.Now;
                if (NewsNotificationTime >= currTime.AddMinutes(-10) || NewsNotificationTime <= currTime.AddMinutes(10))
                {
                    card = Helper.CardHelper.GetNewsCard(userName);
                    string uIn    = UserPref.Preferences[i].UserInfo.Select(c => c.UniqueID).ToString();
                    string tenID  = UserPref.Preferences[i].UserInfo.Select(c => c.UniqueID).ToString();
                    string serURL = UserPref.Preferences[i].UserInfo.Select(c => c.UniqueID).ToString();
                    await NotificationHelper.SendNotification(uIn, serURL, tenID, card);
                }
            }
        }
Ejemplo n.º 2
0
        public static Preference UserPreference(string userName)
        {
            UPreferences uPrefs = GetDataHelper.ReadPreferences();
            Preference   uPref  = uPrefs.Preferences.Where(c => c.UserName == userName).FirstOrDefault();;

            return(uPref);
        }
Ejemplo n.º 3
0
        public static UPreferences ReadPreferences()
        {
            string       file = System.Web.Hosting.HostingEnvironment.MapPath("~/TestData/") + @"/Preferences/Userpreferences.json";
            UPreferences pref = new UPreferences();
            string       json = File.ReadAllText(file);

            pref = new JavaScriptSerializer().Deserialize <UPreferences>(json);
            return(pref);
        }
Ejemplo n.º 4
0
        public static void WritePreferences(Preference newPref)
        {
            string       file = System.Web.Hosting.HostingEnvironment.MapPath("~/TestData/") + @"/Preferences/Userpreferences.json";
            string       json = File.ReadAllText(file);
            int          i;
            UPreferences uPref = new JavaScriptSerializer().Deserialize <UPreferences>(json);

            if (uPref == null)
            {
                uPref = new UPreferences();
                // Add new record and return;
                uPref.Preferences = new[] { newPref };
            }
            else
            {
                var oldPrefList = uPref.Preferences.ToList();
                var oldPref     = oldPrefList.FirstOrDefault(u => u.UserName == newPref.UserName);
                if (oldPref == null)
                {
                    // TODO: update this logic
                    var allPref = uPref.Preferences.ToList();
                    allPref.Add(newPref);
                    uPref.Preferences = allPref.ToArray();
                }
                else
                {
                    //var oldPrefList =  uPref.preferences.ToList();
                    //var oldPrefObj = oldPrefList.FirstOrDefault(  )
                    oldPrefList.Remove(oldPref);
                    oldPrefList.Add(newPref);
                    //uPref.preferences = oldPrefList.ToArray();
                    // oldPref = newPref;
                    uPref.Preferences = oldPrefList.ToArray();
                }
                //var cat = uPref.preferences.Select(c => c.News).FirstOrDefault().Select(d => d.SelectedCategories).FirstOrDefault();

                //List<Preference> list = uPref.preferences.ToList();
                //for (i = 0; i < list.Count(); i++)
                //{
                //    if (list[i].UserName.Equals(pref.UserName))
                //    {
                //        //rewrite
                //        list[i] = pref;
                //        break;
                //    }
                //}
                //if (i == list.Count())
                //    list.Add(pref);
                //uPref.preferences = list.ToArray();
            }
            var convertedJson = JsonConvert.SerializeObject(uPref, Formatting.Indented);

            File.WriteAllText(file, convertedJson);
            return;
        }