1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System;
- using Comal.Classes;
- using Xamarin.Forms;
- using Xamarin.Forms.Xaml;
- using XF.Material.Forms.UI;
- using XF.Material.Forms.UI.Dialogs;
- namespace comal.timesheets
- {
- [XamlCompilation(XamlCompilationOptions.Compile)]
- public partial class AssignmentEdit : ContentPage
- {
- public AssignmentEdit(AssignmentListDataModelItem assignment)
- {
- InitializeComponent();
- DataModel.JobID = assignment.JobID;
- DataModel.EmployeeID = assignment.EmployeeId;
- DataModel.Load(assignment.Id, () => LoadPages());
- }
-
- public AssignmentEdit(Assignment assignment)
- {
- InitializeComponent();
- DataModel.JobID = assignment.JobLink.ID;
- DataModel.EmployeeID = assignment.EmployeeLink.ID;
- DataModel.Load(assignment, () => LoadPages());
- }
- private void LoadPages()
- {
- Dispatcher.BeginInvokeOnMainThread(() =>
- {
- Title.Text = DataModel.Item.ID == Guid.Empty
- ? "New Assignment"
- : $"Assignment {DataModel.Item.Number}";
- Details.Load();
-
- Map.Load();
-
- Forms.Load();
- NavigationPage.SetHasBackButton(this, DataModel.Item.ID != Guid.Empty);
- Cancel.IsVisible = DataModel.Item.ID == Guid.Empty;
- Save.IsVisible = DataModel.Item.ID == Guid.Empty;
- });
- }
-
- private void Button_OnClicked(object sender, EventArgs e)
- {
- MaterialButton button = sender as MaterialButton;
- TabView.SelectedIndex = int.Parse(button.CommandParameter.ToString());
- }
-
- private async void Cancel_OnClicked(object sender, EventArgs e)
- {
- var confirm = await MaterialDialog.Instance.ConfirmAsync("Are you sure you wish to cancel this action?",
- "Confirm Cancel", "OK", "Keep Editing") == true;
- if (confirm)
- Navigation.PopAsync();
- }
- private void Save_OnClicked(object sender, EventArgs e)
- {
- DataModel.Save("Saved by PRS Mobile");
- Navigation.PopAsync();
- }
- private void Details_OnOnDetailsChanged(object sender, AssignmentDetailsChangedArgs args)
- {
- if (String.Equals(args.Property, "Job"))
- Map.Load();
-
- NavigationPage.SetHasBackButton(this, false);
- Cancel.IsVisible = true;
- Save.IsVisible = true;
- }
- }
- }
|