Esempio n. 1
0
#pragma warning restore BL0005 // Component parameter should not be set outside of its component.

        public MGridState GetGridState <T>(MGrid <T> pGrid)
        {
            return(new MGridState()
            {
                IsFilterRowVisible = pGrid.IsFilterRowVisible,
                Page = pGrid.Pager?.CurrentPage,
                PageSize = pGrid.Pager?.PageSize,
                SelectedRow = pGrid.GetIdentifierValue(pGrid.Selected),

                FilterState = pGrid.FilterInstructions.Select(f =>
                {
                    if (f.GridColumn.GetType().Name == typeof(MGridComplexPropertyColumn <object, object>).Name)
                    {
                        return new MGridFilterState()
                        {
                            ColumnIdentifier = f.GridColumn.Identifier,
                            ReferencedId = pGrid.GetIdentifierValue(f.Value)
                        };
                    }

                    return new MGridFilterState()
                    {
                        ColumnIdentifier = f.GridColumn.Identifier,
                        Value = f.Value
                    };
                }
                                                              ).Where(f => f != null).ToArray(),

                SorterState = pGrid.SortInstructions.Select(s => new MGridSorterState()
                {
                    ColumnIdentifier = s.GridColumn.Identifier,
                    Direction = s.Direction,
                    Index = s.Index
                }).Where(s => s != null).ToArray()
            });
        }