/// <summary>
        /// Prepare paged widget list model
        /// </summary>
        /// <param name="searchModel">Widget search model</param>
        /// <returns>Widget list model</returns>
        public override WidgetListModel PrepareWidgetListModel(WidgetSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //exclude Avalara tax provider from the widget list
            var widgets = _widgetService.LoadAllWidgets()
                          .Where(widget => !widget.PluginDescriptor.SystemName.Equals(AvalaraTaxDefaults.SystemName));

            //prepare grid model
            var model = new WidgetListModel
            {
                Data = widgets.PaginationByRequestModel(searchModel).Select(widget =>
                {
                    //fill in model values from the entity
                    var widgetMethodModel = widget.ToPluginModel <WidgetModel>();

                    //fill in additional values (not existing in the entity)
                    widgetMethodModel.IsActive         = _widgetService.IsWidgetActive(widget);
                    widgetMethodModel.ConfigurationUrl = widget.GetConfigurationPageUrl();

                    return(widgetMethodModel);
                }),
                Total = widgets.Count()
            };

            return(model);
        }
Beispiel #2
0
        /// <summary>
        /// Prepare paged widget list model
        /// </summary>
        /// <param name="searchModel">Widget search model</param>
        /// <returns>Widget list model</returns>
        public virtual async Task <WidgetListModel> PrepareWidgetListModelAsync(WidgetSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get widgets
            var widgets = (await _widgetPluginManager.LoadAllPluginsAsync())
                          .Where(widget => !widget.HideInWidgetList).ToList()
                          .ToPagedList(searchModel);

            //prepare grid model
            var model = new WidgetListModel().PrepareToGrid(searchModel, widgets, () =>
            {
                return(widgets.Select(widget =>
                {
                    //fill in model values from the entity
                    var widgetMethodModel = widget.ToPluginModel <WidgetModel>();

                    //fill in additional values (not existing in the entity)
                    widgetMethodModel.IsActive = _widgetPluginManager.IsPluginActive(widget);
                    widgetMethodModel.ConfigurationUrl = widget.GetConfigurationPageUrl();

                    return widgetMethodModel;
                }));
            });

            return(model);
        }
        /// <summary>
        /// Prepare paged widget list model
        /// </summary>
        /// <param name="searchModel">Widget search model</param>
        /// <returns>Widget list model</returns>
        public virtual WidgetListModel PrepareWidgetListModel(WidgetSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get widgets
            var widgets = _widgetService.LoadAllWidgets();

            //prepare grid model
            var model = new WidgetListModel
            {
                Data = widgets.PaginationByRequestModel(searchModel).Select(widget =>
                {
                    //fill in model values from the entity
                    var widgetMethodModel = widget.ToModel();

                    //fill in additional values (not existing in the entity)
                    widgetMethodModel.IsActive         = widget.IsWidgetActive(_widgetSettings);
                    widgetMethodModel.ConfigurationUrl = widget.GetConfigurationPageUrl();

                    return(widgetMethodModel);
                }),
                Total = widgets.Count
            };

            return(model);
        }
Beispiel #4
0
        /// <summary>
        /// Export the widgets
        /// </summary>
        /// <param name="si"></param>
        /// <param name="gridExportMode"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public HSSFWorkbook Exports(JqSearchIn si, GridExportMode gridExportMode, WidgetSearchModel model)
        {
            var data = gridExportMode == GridExportMode.All ? GetAllWidgets() : SearchWidgets(model);

            var widgets = data.AsQueryable();

            var exportData = si.Export(widgets, gridExportMode);

            return(ExcelUtilities.CreateWorkBook(exportData));
        }
        /// <summary>
        /// Export widgets
        /// </summary>
        /// <param name="si"></param>
        /// <param name="model"></param>
        /// <param name="gridExportMode"></param>
        /// <returns></returns>
        public ActionResult Exports(JqSearchIn si, GridExportMode gridExportMode, WidgetSearchModel model)
        {
            var workbook = _widgetService.Exports(si, gridExportMode, model);

            var output = new MemoryStream();

            workbook.Write(output);

            return(File(output.ToArray(), "application/vnd.ms-excel", "Widgets.xls"));
        }
        public virtual IActionResult List(WidgetSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets))
                return AccessDeniedDataTablesJson();

            //prepare model
            var model = _widgetModelFactory.PrepareWidgetListModel(searchModel);

            return Json(model);
        }
Beispiel #7
0
        /// <summary>
        /// Prepare widget search model
        /// </summary>
        /// <param name="searchModel">Widget search model</param>
        /// <returns>Widget search model</returns>
        public virtual Task <WidgetSearchModel> PrepareWidgetSearchModelAsync(WidgetSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(Task.FromResult(searchModel));
        }
Beispiel #8
0
        /// <summary>
        /// Prepare widget search model
        /// </summary>
        /// <param name="searchModel">Widget search model</param>
        /// <returns>Widget search model</returns>
        public virtual WidgetSearchModel PrepareWidgetSearchModel(WidgetSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
Beispiel #9
0
        public virtual IActionResult List(WidgetSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets))
            {
                return(AccessDeniedKendoGridJson());
            }

            //prepare model
            var model = _widgetModelFactory.PrepareWidgetListModel(searchModel);

            return(Json(model));
        }
        /// <returns>A task that represents the asynchronous operation</returns>
        public virtual async Task <IActionResult> List(WidgetSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageWidgets))
            {
                return(await AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = await _widgetModelFactory.PrepareWidgetListModelAsync(searchModel);

            return(Json(model));
        }
Beispiel #11
0
 /// <summary>
 /// Search widgets
 /// </summary>
 /// <param name="search"></param>
 /// <returns></returns>
 private IEnumerable <WidgetSetupModel> SearchWidgets(WidgetSearchModel search)
 {
     return(GetAllWidgets().Where(c => string.IsNullOrEmpty(search.Keyword)
                                  ||
                                  c.Name.Contains(search.Keyword,
                                                  StringComparison.CurrentCultureIgnoreCase)
                                  ||
                                  (!string.IsNullOrEmpty(c.Widget) &&
                                   c.Widget.Contains(search.Keyword,
                                                     StringComparison.CurrentCultureIgnoreCase))
                                  ||
                                  (!string.IsNullOrEmpty(c.FullWidget) &&
                                   c.FullWidget.Contains(search.Keyword,
                                                         StringComparison.CurrentCultureIgnoreCase))
                                  ||
                                  (!string.IsNullOrEmpty(c.DefaultTemplate) &&
                                   c.DefaultTemplate.Contains(search.Keyword,
                                                              StringComparison.CurrentCultureIgnoreCase))
                                  ||
                                  (!string.IsNullOrEmpty(c.Description) &&
                                   c.Description.Contains(search.Keyword,
                                                          StringComparison.CurrentCultureIgnoreCase))));
 }
Beispiel #12
0
        /// <summary>
        /// Search widgets
        /// </summary>
        /// <param name="si"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public JqGridSearchOut SearchWidgets(JqSearchIn si, WidgetSearchModel model)
        {
            var widgets = SearchWidgets(model).AsQueryable();

            return(si.Search(widgets));
        }
Beispiel #13
0
 public string _AjaxBinding(JqSearchIn si, WidgetSearchModel model)
 {
     return(JsonConvert.SerializeObject(_widgetService.SearchWidgets(si, model)));
 }
Beispiel #14
0
        public ActionResult Index()
        {
            var model = new WidgetSearchModel();

            return(View(model));
        }