Example #1
0
        public static SpreadsheetSettings GetSpreadsheetSettings()
        {
            SpreadsheetSettings settings = new SpreadsheetSettings();

            settings.Name = "SpreadsheetName";
            settings.CallbackRouteValues = new { Controller = "Home", Action = "SpreadsheetPartial" };
            settings.Width  = System.Web.UI.WebControls.Unit.Percentage(100);
            settings.Height = 500;
            settings.Saving = (s, e) =>
            {
                byte[] docBytes = SpreadsheetExtension.SaveCopy("SpreadsheetName", DocumentFormat.Xlsx);
                DataHelper.SaveDocument(docBytes);
                e.Handled = true;
            };
            return(settings);
        }
        /// -----------------------------------------------------------------------------------
        /// <summary>
        /// Get spreadsheet details from the user
        /// </summary>
        /// -----------------------------------------------------------------------------------
        public override bool HandlePreScan(Seed seed)
        {
            _spreadSheetModel = new SpreadSheetModel(seed.Id);

            var chooser  = new ColumnChooser(_spreadSheetModel);
            var settings = SettingsHandler.GetSettings <SpreadsheetSettings>("SpreadSheetHandler");

            if (settings == null)
            {
                settings = new SpreadsheetSettings();
            }
            if (_spreadSheetModel.ColumnNames.Contains(settings.PathColumn))
            {
                _spreadSheetModel.SelectedPathColumn = _spreadSheetModel.GetColumnIndex(settings.PathColumn);
            }
            if (settings.SizeColumn != null)
            {
                _spreadSheetModel.SizeColumn = settings.SizeColumn;
            }
            if (settings.DoubleClickTemplate != null)
            {
                _spreadSheetModel.DoubleClickTemplate = settings.DoubleClickTemplate;
            }

            if (chooser.ShowDialog().Value)
            {
                var pathColumn = _spreadSheetModel.ColumnNames[_spreadSheetModel.SelectedPathColumn];
                _columnInfo = ColumnInfo.CreateFromFixedColumns(_spreadSheetModel.ColumnNames, _spreadSheetModel.ValueColumns, pathColumn);
                SizeColumn  = _spreadSheetModel.SizeColumn;

                settings.PathColumn          = pathColumn;
                settings.SizeColumn          = _spreadSheetModel.SizeColumn;
                settings.DoubleClickTemplate = _spreadSheetModel.DoubleClickTemplate;
                SettingsHandler.SaveSettings("SpreadSheetHandler", settings);
                return(true);
            }
            return(false);
        }