123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using Comal.Classes;
- using InABox.Clients;
- using InABox.Core;
- using InABox.DynamicGrid;
- namespace PRSDesktop
- {
- internal class FactoryGroupsGrid : DynamicGrid<FactoryGroup>
- {
- public FactoryGroupsGrid()
- {
- Options.AddRange(DynamicGridOption.RecordCount);
- }
- public List<FactoryGroup> Groups { get; set; }
- //public DynamicGridColumns DefineColumns()
- //{
- // return LoadColumns();
- //}
- protected override DynamicGridColumns LoadColumns()
- {
- ActionColumns.Clear();
- ActionColumns.Add(new DynamicRowMovementColumn(DynamicRowMovement.Up, SwapRows));
- ActionColumns.Add(new DynamicRowMovementColumn(DynamicRowMovement.Down, SwapRows));
- var columns = new DynamicGridColumns
- {
- new() { ColumnName = "Group", Width = 0 },
- new() { ColumnName = "QAChecker", Width = 0 }
- };
- return columns;
- }
- private bool SwapRows(int arg1, int arg2)
- {
- var item = Groups[arg1];
- Groups.Remove(item);
- Groups.Insert(arg2, item);
- return true;
- }
- #region Save / Load
- //protected override DataTable Reload(Dictionary<String, Object> criteria, List<String> columnnames, String sort)
- //{
- // DataTable result = new DataTable();
- // result.LoadColumns(typeof(FactoryGroup));
- // result.LoadRows(Groups);
- // return result;
- //}
- protected override void Reload(Filters<FactoryGroup> criteria, Columns<FactoryGroup> columns, ref SortOrder<FactoryGroup> sort,
- Action<CoreTable, Exception> action)
- {
- var result = new CoreTable();
- result.LoadColumns(typeof(FactoryGroup));
- result.LoadRows(Groups);
- action.Invoke(result, null);
- }
- protected override FactoryGroup LoadItem(CoreRow row)
- {
- var index = Data.Rows.IndexOf(row);
- return Groups[index];
- }
- protected override void SaveItem(FactoryGroup item)
- {
- if (!Groups.Contains(item))
- Groups.Add(item);
- }
- protected override void DeleteItems(params CoreRow[] rows)
- {
- foreach (var row in rows)
- {
- var index = Data.Rows.IndexOf(row);
- Groups.RemoveAt(index);
- }
- }
- protected override FactoryGroup CreateItem()
- {
- return base.CreateItem();
- }
- protected override Document LoadDocument(Guid id)
- {
- return new Client<Document>().Load(new Filter<Document>(x => x.ID).IsEqualTo(id)).FirstOrDefault();
- }
- protected override Document FindDocument(string filename)
- {
- return new Client<Document>().Load(new Filter<Document>(x => x.FileName).IsEqualTo(filename)).FirstOrDefault();
- }
- protected override void SaveDocument(Document document)
- {
- new Client<Document>().Save(document, "Added from Factory Groups Screen");
- }
- #endregion
- }
- }
|