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 { public AssignmentDetailModel DataModel { get; private set; } public AssignmentEdit(AssignmentShell assignment) { DataModel = new AssignmentDetailModel(App.Data); BindingContext = DataModel; InitializeComponent(); DataModel.Load(assignment.Id, () => LoadPages()); } public AssignmentEdit(Assignment assignment) { DataModel = new AssignmentDetailModel(App.Data); BindingContext = DataModel; InitializeComponent(); DataModel.Load(assignment, () => LoadPages()); } private void LoadPages() { Dispatcher.BeginInvokeOnMainThread(() => { Title = DataModel.Item.ID == Guid.Empty ? "New Assignment" : $"Assignment {DataModel.Item.Number}"; Details.Load(); Map.Load(); Forms.Load(); }); } private void Button_OnClicked(object sender, EventArgs e) { MaterialButton button = sender as MaterialButton; TabView.SelectedIndex = int.Parse(button.CommandParameter.ToString()); } 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(); } } }