예제 #1
0
        public static async System.Threading.Tasks.Task <bool> WritePrefsToSPList(Preference body)
        {
            string token = await GetDataHelper.GetAuthenticationToken();

            //"{'UserName':'******', 'Uni_ID':'likansf3993', 'TenantID':'7454731348764','ServiceURL':'abcghij','SelectedCategories':'a, b, c','NewsNotificationTime':' ','EnTNotifyMe':' ','EnTNotificationTime':' ','TaskNotificationTime':' ','NewsNotificationFlag':' ','EnTNotificationFlag':' ','NewsNotifyMe':' '}";
            string cats = string.Join(",", body.News.SelectedCategories);
            //change below code to some model
            string finalBody = "{'UserName' :'" + body.UserName + "', 'Uni_ID' :'" + body.UserInfo[0].UniqueID + "', 'TenantID' :'" + body.UserInfo[0].TenantID + "', 'ServiceURL' :'" + body.UserInfo[0].ServiceURl + "', 'SelectedCategories' :'" + cats + "', 'NewsNotificationTime' :'" + body.News.NewsNotificationTime + "', 'EnTNotifyMe' :'" + body.EandT.EandTNotifyMe + "', 'EnTNotificationTime' :'" + body.EandT.EandTNotificationTime + "', 'TaskNotificationTime' :'" + body.Task.TaskNotificationTime + "', 'NewsNotificationFlag' :'" + body.News.NewsNotificationFlag + "', 'EnTNotificationFlag' :'" + body.EandT.EandTNotificationFlag + "', 'NewsNotifyMe' :'" + body.News.NewsNotifyMe + "'}";



            string endpoint = "https://avadheshftc.sharepoint.com/sites/EmployeeConnectPrototype/_api/web/lists/GetByTitle('PreferencesList')/items";

            using (var client = new HttpClient())
            {
                using (var request = new HttpRequestMessage(HttpMethod.Post, endpoint))
                {
                    request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
                    request.Content = new StringContent(finalBody, Encoding.UTF8, "application/json");

                    using (HttpResponseMessage response = await client.SendAsync(request))
                    {
                        if (response.IsSuccessStatusCode)
                        {
                            return(true);
                        }
                        return(false);
                    }
                }
            }
        }
예제 #2
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);
                }
            }
        }
예제 #3
0
        public static Preference UserPreference(string userName)
        {
            UPreferences uPrefs = GetDataHelper.ReadPreferences();
            Preference   uPref  = uPrefs.Preferences.Where(c => c.UserName == userName).FirstOrDefault();;

            return(uPref);
        }
예제 #4
0
        public static async System.Threading.Tasks.Task GetPreferencesandWriteToFile() // need to decide how many time it will run and update the data file.
        {
            string token = await GetDataHelper.GetAuthenticationToken();

            string          endpoint = "https://avadheshftc.sharepoint.com/sites/EmployeeConnectPrototype/_api/web/Lists(guid'e8937172-f3f3-478e-97bb-d5699f8d8945')/items";
            SPFXPreferences pref     = null;

            using (var client = new HttpClient())
            {
                using (var request = new HttpRequestMessage(HttpMethod.Get, endpoint))
                {
                    string location = System.Web.Hosting.HostingEnvironment.MapPath(@"~\TestData\");
                    request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);

                    using (HttpResponseMessage response = await client.SendAsync(request))
                    {
                        if (response.IsSuccessStatusCode)
                        {
                            var json = await response.Content.ReadAsStringAsync();

                            try
                            {
                                pref = (new JavaScriptSerializer().Deserialize <SPFXPreferences>(json));
                                File.WriteAllText(location + "PreferencesMock.json", json);
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }
                }
            }
        }
        public static void UpdateETMockData()
        {
            string filename = System.Web.Hosting.HostingEnvironment.MapPath("~/TestData/") + @"/EventsAndTraining_June.json";

            if (File.Exists(filename))
            {
                EandTModel eandt      = GetDataHelper.GetEandT();
                int        eandtCount = eandt.EventsAndtraining.Count();

                for (int i = 0; i < eandtCount; i++)
                {
                }


                string json = File.ReadAllText(filename);
            }


            //EventsAndTraining et = new JavaScriptSerializer().Deserialize<EventsAndTraining>(json);

            //foreach(EventsAndTraining i in et)
            //{
            //    et.ETDate = DateTime.Now.Date.ToString("MM/dd/yyyy");
            //}
        }
예제 #6
0
        public static void SaveTicketsInfo(JObject ticketData)
        {
            TicketsDataModel currentTicket = GetDataHelper.GetTickets();

            int TicketCount = currentTicket.Tickets.Count();
            var tNo         = Convert.ToInt32(ticketData.GetValue("TicketNo"));
            var ticDes      = ticketData.GetValue("Description").ToString();
            var ticDate     = ticketData.GetValue("Date").ToString();
            var ticPriority = ticketData.GetValue("Priority").ToString();
            var ticCat      = ticketData.GetValue("Category").ToString();

            JavaScriptSerializer js = new JavaScriptSerializer();
            string TicketJson       = js.Serialize(currentTicket);
            string filePath         = System.Web.Hosting.HostingEnvironment.MapPath("~/TestData/SupportTickets") + @"/Tickets.json";

            if (File.Exists(filePath))
            {
                File.WriteAllText(filePath, TicketJson);
            }
        }
        public static void UpdateNewsMockData()
        {
            string filename = System.Web.Hosting.HostingEnvironment.MapPath("~/TestData/") + @"/NewsData.json";

            if (File.Exists(filename))
            {
                NewsModel news      = GetDataHelper.GetNews();
                int       NewsCount = news.news.Count();

                DateTime[] last15Days = Enumerable.Range(0, 15).Select(i => DateTime.Now.Date.AddDays(-i)).ToArray();

                for (int i = 0; i < NewsCount; i++)
                {
                    Random r         = new Random();
                    int    randomnum = r.Next(0, last15Days.Length);
                    news.news[i].NewsDateTIme = last15Days[randomnum].ToString("M/dd/yyyy, h:mm tt");
                }
                string json = JsonConvert.SerializeObject(news); //create json object

                File.WriteAllText(filename, json);
            }
        }