using System; using Comal.Classes; using Xamarin.Forms; using Xamarin.Forms.Xaml; using comal.timesheets.SiteITPModule; using InABox.Core; namespace comal.timesheets { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class SiteModule { private JobDetailModel _job; private Guid _jobid; public Guid JobID { get => _jobid; set => SetJob(value); } private void SetJob(Guid jobid) { _jobid = jobid; if (_jobid != Guid.Empty) _job.Load(() => Device.BeginInvokeOnMainThread(RefreshPage)); else _job.Reset(); } bool bDocViwerOpen = false; bool webViewNavigationFinished = false; public SiteModule() { _job = new JobDetailModel(App.Data, () => new Filter(x=>x.ID).IsEqualTo(JobID)); InitializeComponent(); //Menu.Items.BeginUpdate(); SiteDocuments.IsVisible = InABox.Core.Security.IsAllowed(); // ** Not Yet Implemented ** //CanApproveJobRequisitions.IsVisible = InABox.Core.Security.CanView() Manufacturing.IsVisible = InABox.Core.Security.IsAllowed(); JobTasks.IsVisible = InABox.Core.Security.IsAllowed(); BackButtonEnabled = false; //Menu.Items.EndUpdate(); } protected override void OnAppearing() { base.OnAppearing(); RefreshPage(); } private void RefreshPage() { SelectJob.Text = _job.Loaded ? _job.Item.DisplayName : "Select Job"; EnableModules(); } protected override void UpdateTransportStatus() { base.UpdateTransportStatus(); EnableModules(); } private void EnableModules() { foreach (var menu in Menu.Items) menu.IsEnabled = App.Data.IsConnected() && _job.Loaded && (_job.Item.ID != Guid.Empty); SelectJob.IsEnabled = App.Data.IsConnected(); } private void SelectJobBtn_Clicked(object sender, EventArgs e) { SelectionPage jobs = new JobSelectionPage( (job) => SetJob(job.ID) ); Navigation.PushAsync(jobs); } private void SiteITPForms_OnTapped(ModuleMenuItem sender, ModuleMenuItemTappedArgs args) { Navigation.PushAsync(new JobITPs() { Job = _job }); } private void SiteDocuments_OnTapped(ModuleMenuItem sender, ModuleMenuItemTappedArgs args) { Navigation.PushAsync(new SiteDocuments() { Job = _job }); } private void SiteForms_OnTapped(ModuleMenuItem sender, ModuleMenuItemTappedArgs args) { Navigation.PushAsync(new SiteForms() { Job = _job }); } private void GeneralDocuments_OnTapped(ModuleMenuItem sender, ModuleMenuItemTappedArgs args) { Navigation.PushAsync(new JobWebDocuments() { Job = _job }); } // private void JobRequisitions_OnTapped(ModuleMenuItem sender, ModuleMenuItemTappedArgs args) // { // throw new NotImplementedException(); // } private void Manufacturing_OnTapped(ModuleMenuItem sender, ModuleMenuItemTappedArgs args) { Navigation.PushAsync(new SiteManufacturing() { Job = _job }); } private void JobTasks_OnTapped(ModuleMenuItem sender, ModuleMenuItemTappedArgs args) { Navigation.PushAsync(new SiteTasks() { Job = _job }); } void Settings_OnClicked(System.Object sender, System.EventArgs e) { Navigation.PushAsync(new SettingsPage()); } } }