| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Threading;
 
- using System.Threading.Tasks;
 
- using Xamarin.Forms;
 
- using InABox.Core;
 
- using InABox.Clients;
 
- using InABox.Mobile;
 
- using Comal.Classes;
 
- using comal.timesheets.CustomControls;
 
- using PRSSecurity = InABox.Core.Security;
 
- using Plugin.LocalNotification;
 
- namespace comal.timesheets
 
- {
 
-     public delegate void MainPageNotificationsChanged();
 
-     public delegate void RefreshScreen();
 
-     public delegate void RequestUserInputForTask(Guid taskID);
 
-     public delegate void TaskTitleChanged(string title);
 
-     
 
-     public static class MainPageUtils
 
-     {
 
-         public static event MainPageNotificationsChanged OnMainPageNotificationsChanged;
 
-         public static event RequestUserInputForTask OnRequestUserInput;
 
-         public static event TaskTitleChanged OnTaskTitleChanged;
 
-         
 
-         #region Notifications
 
-         // public static Page DetermineCorrectPage(Plugin.LocalNotification.EventArgs.NotificationActionEventArgs e)
 
-         // {
 
-         //     string data = e.Request.ReturningData;
 
-         //     int index = data.IndexOf("$");
 
-         //     Guid ID = Guid.Parse(data.Remove(index));
 
-         //     string type = data.Substring(index + 1);
 
-         //     if (type == "Comal.Classes.Kanban")
 
-         //         return new AddEditTask(ID);
 
-         //     else if (type == "Comal.Classes.Delivery")
 
-         //         return new DeliveryDetails(ID);
 
-         //     else
 
-         //         return null;
 
-         // }
 
-         //
 
-         // private static void CheckNotificationsPushed(CoreTable table)
 
-         // {
 
-         //     try
 
-         //     {
 
-         //         if (!Application.Current.Properties.ContainsKey("LastPushedNotifications"))
 
-         //         {
 
-         //             Application.Current.Properties.Add("LastPushedNotifications", DateTime.Now);
 
-         //         }
 
-         //         DateTime lastPushed = DateTime.Parse(Application.Current.Properties["LastPushedNotifications"].ToString());
 
-         //         List<NotificationShell> toNotify = new List<NotificationShell>();
 
-         //         foreach (CoreRow row in table.Rows)
 
-         //         {
 
-         //             List<object> list = row.Values;
 
-         //             DateTime created = DateTime.Parse(list[3].ToString());
 
-         //             if (created > new DateTime(2022, 8, 22)) // prevent spam from buildup of old notifications before this is released
 
-         //             {
 
-         //                 if (created > lastPushed)
 
-         //                 {
 
-         //                     if (list[1] == null) list[1] = "";
 
-         //                     if (list[2] == null) list[2] = "";
 
-         //                     if (list[3] == null) list[3] = DateTime.MinValue;
 
-         //                     if (list[4] == null) list[4] = "";
 
-         //                     if (list[5] == null) list[5] = "";
 
-         //                     if (list[6] == null) list[6] = Guid.Empty;
 
-         //
 
-         //                     NotificationShell shell = new NotificationShell
 
-         //                     {
 
-         //                         ID = Guid.Parse(list[0].ToString()),
 
-         //                         Sender = list[1].ToString(),
 
-         //                         Title = list[2].ToString(),
 
-         //                         Created = DateTime.Parse(list[3].ToString()),
 
-         //                         EntityType = list[5].ToString(),
 
-         //                         EntityID = Guid.Parse(list[6].ToString())
 
-         //                     };
 
-         //                     toNotify.Add(shell); //add notification to be pushed
 
-         //                 }
 
-         //             }
 
-         //         }
 
-         //         if (toNotify.Count > 0)
 
-         //             PushNotificationsAsync(toNotify);
 
-         //     }
 
-         //     catch { }
 
-         // }
 
-         //
 
-         // private static async Task PushNotificationsAsync(string title, )
 
-         // {
 
-         //     try
 
-         //     {
 
-         //         int count = 1;
 
-         //
 
-         //         foreach (NotificationShell shell in shells)
 
-         //         {
 
-         //             var notification = new NotificationRequest
 
-         //             {
 
-         //                 BadgeNumber = 1,
 
-         //                 Description = title,
 
-         //                 Title = "New PRS Notification: ",
 
-         //                 ReturningData = shell.EntityID.ToString() + "$" + shell.EntityType,
 
-         //                 NotificationId = count,
 
-         //             };
 
-         //             count++;
 
-         //             NotificationImage img = new NotificationImage();
 
-         //             img.ResourceName = "icon16.png";
 
-         //             notification.Image = img;
 
-         //
 
-         //             await LocalNotificationCenter.Current.Show(notification);
 
-         //         }
 
-         //         Application.Current.Properties["LastPushedNotifications"] = DateTime.Now;
 
-         //     }
 
-         //     catch { }
 
-         // }
 
-         #endregion
 
-         
 
-     }
 
- }
 
 
  |