| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 
							- using System;
 
- using System.Collections.Generic;
 
- using Xamarin.Forms;
 
- using InABox.Core;
 
- using Comal.Classes;
 
- using System.Linq;
 
- using System.Threading.Tasks;
 
- using Syncfusion.XForms.PopupLayout;
 
- using Xamarin.Essentials;
 
- using System.Windows.Input;
 
- using InABox.Mobile;
 
- using InABox.Mobile.Shared;
 
- using XF.Material.Forms.UI.Dialogs;
 
- using LogType = InABox.Core.LogType;
 
- using PRSSecurity = InABox.Core.Security;
 
- namespace PRS.Mobile
 
- {
 
-     
 
-     public partial class StaffStatusPage
 
-     {
 
-         
 
-         public StaffStatusPage()
 
-         {
 
-             
 
-             InitializeComponent();
 
-             
 
-             ProgressVisible = true;
 
-             
 
-             _staff.Columns
 
-                 .BeginUpdate()
 
-                 .Clear();
 
-             
 
-             if (!PRSSecurity.IsAllowed<CanViewMobileInOutBoardDetails>())
 
-                 _staff.Columns.Add(new MobileGridImageColumn<InOutShell>() { Column = x =>x.In, Width = 30, Margin = 6, Header = ImageSource.FromFile("circle_gray")});
 
-             
 
-             _staff.Columns.Add(new MobileGridTextColumn<InOutShell>() { Column = x => x.Name,  Alignment = TextAlignment.Start, Width = GridLength.Star });                    
 
-             
 
-             if (PRSSecurity.IsAllowed<CanViewMobileInOutBoardDetails>())
 
-                 _staff.Columns
 
-                     .Add(new MobileGridTimeColumn<InOutShell>() { Column = x => x.Start, Width = 50 })
 
-                     .Add(new MobileGridTimeColumn<InOutShell>() { Column = x => x.Finish, Width = 50 });
 
-             _staff.Columns.Add(new MobileGridImageColumn<InOutShell>() { Column = x => x.Call, Width = 30, Margin = 6, Tapped = CallEmployee, Header= ImageSource.FromFile("phone") });
 
-                 
 
-             _staff.Columns.EndUpdate();
 
-             RefreshData(false,true);
 
-         }
 
-         private async void CallEmployee(IMobileGridColumn column, object shell)
 
-         {
 
-             if (shell is InOutShell inout)
 
-             {
 
-                 if (!String.IsNullOrWhiteSpace(inout.Mobile))
 
-                 {
 
-                     var confirm = await MaterialDialog.Instance.ConfirmAsync(message: inout.Mobile,
 
-                         title: "Contact Details",
 
-                         confirmingText: "Call",
 
-                         dismissiveText: "Cancel");
 
-                     if (confirm == true)
 
-                         PhoneDialer.Open(inout.Mobile);
 
-                 }
 
-             }
 
-         }
 
-         private void RefreshData(bool force, bool async)
 
-         {
 
-             if (async)
 
-                 App.Data.InOut.Refresh(force, RefreshList);
 
-             else
 
-             {
 
-                 App.Data.InOut.Refresh(force);
 
-                 RefreshList();
 
-             }
 
-         }
 
-         
 
-         private void RefreshList()
 
-         {
 
-             _staff.ItemsSource ??= App.Data.InOut.Items;
 
-             _staff.LastUpdated = App.Data.InOut.LastUpdated;
 
-             ProgressVisible = false;
 
-         }
 
-         
 
-         private void _staff_OnRefreshRequested(object sender, MobileGridRefreshRequestArgs args)
 
-         {
 
-             RefreshData(true, false);
 
-         }
 
-         
 
-     }
 
- }
 
 
  |