123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using System;
- using System.Windows.Media.Imaging;
- using Comal.Classes;
- using InABox.Core;
- using InABox.DynamicGrid;
- using InABox.WPF;
- namespace PRSDesktop
- {
- public class MeetingItemDocumentGrid : DynamicDataGrid<MeetingItemDocument>
- {
-
- public Guid MeetingItemID { get; set; }
-
- public MeetingItemDocumentGrid()
- {
- Options.BeginUpdate()
- .Clear()
- .Add(DynamicGridOption.AddRows)
- .Add(DynamicGridOption.DeleteRows)
- .Add(DynamicGridOption.RecordCount)
- .EndUpdate();
- HiddenColumns.Add(x => x.DocumentLink.ID);
- HiddenColumns.Add(x => x.EntityLink.ID);
- HiddenColumns.Add(x => x.DocumentLink.FileName);
- ActionColumns.Add(new DynamicImageColumn(DocumentImage, ViewDocument) { Position = DynamicActionColumnPosition.Start });
- }
-
- protected override DynamicGridColumns LoadColumns()
- {
- return new DynamicGridColumns()
- {
- new DynamicGridColumn()
- {
- ColumnName = CoreUtils.GetFullPropertyName<MeetingItemDocument, String>(x => x.DocumentLink.FileName, "."),
- Width = 0
- }
- };
- }
-
- protected override bool CanCreateItems()
- {
- return MeetingItemID == Guid.Empty
- ? false
- : base.CanCreateItems();
- }
- protected override MeetingItemDocument CreateItem()
- {
- if (MeetingItemID == Guid.Empty)
- throw new Exception("No Meeting Selected!");
- var result = base.CreateItem();
- result.EntityLink.ID = MeetingItemID;
- return result;
- }
- protected override void Reload(Filters<MeetingItemDocument> criteria, Columns<MeetingItemDocument> columns, ref SortOrder<MeetingItemDocument> sort,
- Action<CoreTable, Exception> action)
- {
- criteria.Add(MeetingItemID == Guid.Empty
- ? new Filter<MeetingItemDocument>(x=>x.ID).None()
- : new Filter<MeetingItemDocument>(x => x.EntityLink.ID).IsEqualTo(MeetingItemID));
- base.Reload(criteria, columns, ref sort, action);
- }
- private BitmapImage DocumentImage(CoreRow arg)
- {
- return PRSDesktop.Resources.view.AsBitmapImage();
- }
- private bool ViewDocument(CoreRow row)
- {
- var doc = row.ToObject<MeetingItemDocument>();
- var viewer = new DocumentEditor(doc);
- viewer.SaveAllowed = Security.IsAllowed<CanSaveFactoryFloorDrawings>();
- viewer.ShowDialog();
- return false;
- }
- }
- }
|