| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using InABox.Configuration;
- using Xamarin.Forms;
- using Xamarin.Forms.Xaml;
- using XF.Material.Forms.UI;
- namespace comal.timesheets
- {
- public class SiteDocumentsSettings : ILocalConfigurationSettings
- {
- public Guid CategoryID { get; set; }
- public Guid TypeID { get; set; }
- public Guid DisciplineID { get; set; }
- public Guid ItpID { get; set; }
- public Guid FolderID { get; set; }
- }
-
- [XamlCompilation(XamlCompilationOptions.Compile)]
- public partial class SiteDocuments : SitePage
- {
- private SiteDocumentsSettings _settings;
-
- public SiteDocuments()
- {
- _settings = new LocalConfiguration<SiteDocumentsSettings>().Load();
- InitializeComponent();
- }
- protected override void JobLoaded()
- {
- List<Guid> folders = new List<Guid>();
- Job.DocumentFolders.GetChildren(folders, _settings.FolderID);
- var items = Job.Documents.Where(
- x=> ((_settings.CategoryID == Guid.Empty) || (x.CategoryID == _settings.CategoryID))
- && ((_settings.DisciplineID == Guid.Empty) || (x.DisciplineID == _settings.DisciplineID))
- && ((_settings.TypeID == Guid.Empty) || (x.TypeID == _settings.TypeID))
- && ((_settings.ItpID == Guid.Empty) || (x.ItpID == _settings.ItpID))
- && ((_settings.FolderID == Guid.Empty) || (folders.Contains(x.FolderID)))
- ).ToArray();
- _files.ItemsSource = items;
- _summary.Text = $"{items.Length} Documents found";
- }
- private void ShowFilter_OnClicked(object sender, EventArgs e)
- {
- var filterpage = new SiteDocumentsFilter()
- {
- Job = this.Job,
- FolderID = _settings.FolderID,
- DisciplineID = _settings.DisciplineID,
- CategoryID = _settings.CategoryID,
- TypeID = _settings.TypeID,
- ItpID = _settings.ItpID,
- };
- filterpage.Changed += (o, e) =>
- {
- _settings.FolderID = filterpage.FolderID;
- _settings.DisciplineID = filterpage.DisciplineID;
- _settings.TypeID = filterpage.TypeID;
- _settings.CategoryID = filterpage.CategoryID;
- _settings.ItpID = filterpage.ItpID;
- new LocalConfiguration<SiteDocumentsSettings>().Save(_settings);
- JobLoaded();
- };
- Navigation.PushAsync(filterpage);
- }
- private void _files_OnItemTapped(object sender, MobileListItemTappedEventArgs args)
- {
-
- }
- private void MaterialCard_OnClicked(object sender, EventArgs e)
- {
- if ((sender is MaterialCard card) && (card.BindingContext is JobDocumentShell shell))
- {
- var viewer = new PDFViewer(shell.ID);
- Navigation.PushAsync(viewer);
- }
- }
- }
- }
|