| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using System;
- using System.Linq;
- using System.Linq.Expressions;
- using Comal.Classes;
- using InABox.Clients;
- using InABox.Core;
- using Xamarin.Forms;
- using Xamarin.Forms.Xaml;
- using XF.Material.Forms.UI;
- using XF.Material.Forms.UI.Dialogs;
- namespace PRS.Mobile
- {
- [XamlCompilation(XamlCompilationOptions.Compile)]
- public partial class AssignmentEditFormsView : AssignmentEditView
- {
-
- public AssignmentEditFormsView()
- {
- InitializeComponent();
- }
- public override void Refresh()
- {
- _forms.DataModel = ViewModel?.Forms;
- _forms.AppliesTo = "Assignment";
- _forms.Property = model => ViewModel?.Forms.Items.OfType<IDigitalFormInstanceShell>().ToArray();
- _forms.RefreshData(true,false);
- NoForms.IsVisible = ViewModel?.Forms.Any() != true;
- _forms.IsVisible = ViewModel?.Forms.Any() == true;
-
- }
- private async void _forms_OnFormTapped(object sender, ExistingFormTappedEventArgs args)
- {
- if (args.Shell is AssignmentFormShell instance)
- {
- using (await MaterialDialog.Instance.LoadingDialogAsync(message: "Loading"))
- {
- var form = new Client<AssignmentForm>()
- .Query(
- new Filter<AssignmentForm>(x => x.ID).IsEqualTo(instance.ID),
- new Columns<AssignmentForm>(ColumnTypeFlags.None).Add(x=>x.ID).Add(x=>x.Form.ID)
- )
- .Rows
- .Select(x => x.ToObject<AssignmentForm>())
- .FirstOrDefault();
-
- var model = new DigitalFormHostModel<Assignment, AssignmentLink, AssignmentForm>();
- model.LoadItems(ViewModel.Item.Entity, form.Form.ID, form.ID, null);
- var host = new DigitalFormHost(model);
- host.OnClosing += (o, args) =>
- {
- if (args.Changed)
- {
- //instance.Completed = !model.DigitalFormDataModel.Instance.FormCompleted.IsEmpty();
- }
- };
- Navigation.PushAsync(host);
- }
- }
- }
-
- }
- }
|