示例#1
0
        /// <summary>
        /// Serialize and save in a string the grid parameters.
        /// </summary>
        /// <param name="grid">Data Grid to be saved.</param>
        /// <param name="serializedString">String to be serialized.</param>
        private static void SaveParameters(SfDataGrid grid, out string serializedString)
        {
            var dependencyObject = grid as DependencyObject;

            serializedString = String.Empty;

            DependencyPropertyChangedEventArgs ev = new DependencyPropertyChangedEventArgs();
            ICommand command = GetGridParamChangedCommand(dependencyObject, ev);

            using (MemoryStream ms = new MemoryStream())
            {
                if (grid != null)
                {
                    grid.Serialize(ms);
                    byte[]       valueArray = ms.ToArray();
                    StreamReader reader     = new StreamReader(new MemoryStream(valueArray));
                    var          xmlString  = reader.ReadToEnd();
                    serializedString = xmlString;
                    KarveGridParameters karveGrid = GetGridParameter(grid, ev);
                    if (karveGrid != null)
                    {
                        karveGrid.GridIdentifier = GetGridIdentifier(dependencyObject, ev);
                        karveGrid.GridName       = GetGridName(dependencyObject, ev);
                        karveGrid.PreviousXml    = karveGrid.PreviousXml;
                        karveGrid.Xml            = xmlString;
                        command?.Execute(karveGrid);
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        ///  ItemChangeSource Changed event. In this function in case of autogenerate column we enforce the parameters load.
        /// </summary>
        /// <param name="sender">Sender of the event</param>
        /// <param name="e">Source of the event</param>
        private static void DataGrid_ItemsSourceChanged(object sender, GridItemsSourceChangedEventArgs e)
        {
            var dataGrid = sender as SfDataGrid;

            if (dataGrid != null)
            {
                DependencyPropertyChangedEventArgs ev = new DependencyPropertyChangedEventArgs();
                KarveGridParameters parm = GetGridParameter(dataGrid, ev);
                LoadParameters(dataGrid, parm.Xml);
            }
        }
示例#3
0
        private static void OnIdChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ICommand command = GetGridInitCommand(d, e);

            if (command != null)
            {
                long value = GetGridIdentifier(d, e);
                KarveGridParameters parameters = new KarveGridParameters();
                parameters.GridIdentifier = value;
                command.Execute(parameters);
            }
        }
        public void Should_ResizeGrid_Command()
        {
            ICommand resizeGrid = _karveViewModelBase.GridResizeCommand;

            Assert.NotNull(resizeGrid);
            KarveGridParameters param = LoadFileFromSettings("TestSettings.xml", 1);
            var baseSettings          = param.Xml;

            resizeGrid.Execute(param);
            GridSettingsDto dto     = _karveViewModelBase.GridSettings;
            var             setting = dto.XmlBase64;

            Assert.AreEqual(baseSettings, setting);
        }
示例#5
0
        private static void OnGridInitChangedCommand(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ICommand command = (ICommand)d.GetValue(GridInitCommandProperty);
            long     value   = GetGridIdentifier(d, e);

            if (value != long.MinValue)
            {
                KarveGridParameters parameters = new KarveGridParameters();
                parameters.GridIdentifier = value;
                if (command != null)
                {
                    command.Execute(parameters);
                }
            }
        }
        public void Should_Register_A_New_Grid()
        {
            ICommand registerCommand = _karveViewModelBase.GridRegisterCommand;

            Assert.NotNull(registerCommand);
            KarveGridParameters param = new KarveGridParameters();

            param.GridIdentifier = 1;
            param.GridName       = "Supplier_Grid";
            registerCommand.Execute(param);
            // here shall be present all the grids.
            ObservableCollection <GridSettingsDto> settingsDtos = _karveViewModelBase.CurrentGridSettings;
            GridSettingsDto settingsDto = settingsDtos.FirstOrDefault(x => x.GridIdentifier == param.GridIdentifier);

            Assert.NotNull(settingsDto);
        }
        private KarveGridParameters LoadFileFromSettings(string path, int id)
        {
            KarveGridParameters dto = new KarveGridParameters();

            using (FileStream stream = File.OpenRead(path))
            {
                long   fSize     = stream.Length;
                byte[] fileValue = new byte[fSize];
                stream.Read(fileValue, 0, fileValue.Length);
                // now we save into the setting
                var valueStringEncoded = Convert.ToBase64String(fileValue);
                dto.Xml            = valueStringEncoded;
                dto.GridIdentifier = id;
                dto.GridName       = "Suppliers";
            }
            return(dto);
        }