Example #1
0
        public virtual IActionResult SeNames(UrlRecordSearchModel searchModel)
        {
            //prepare model
            UrlRecordListModel model = _commonModelFactory.PrepareUrlRecordListModel(searchModel);

            return(Json(model));
        }
Example #2
0
        public ActionResult List(string entityName, int?entityId)
        {
            if (!_services.Permissions.Authorize(StandardPermissionProvider.ManageUrlRecords))
            {
                return(AccessDeniedView());
            }

            var model = new UrlRecordListModel
            {
                GridPageSize = _adminAreaSettings.GridPageSize,
                EntityName   = entityName,
                EntityId     = entityId
            };

            var allLanguages = _languageService.GetAllLanguages(true);

            model.AvailableLanguages = allLanguages
                                       .Select(x => new SelectListItem {
                Text = x.Name, Value = x.Id.ToString()
            })
                                       .ToList();

            model.AvailableLanguages.Insert(0, new SelectListItem {
                Text = T("Admin.System.SeNames.Language.Standard"), Value = "0"
            });

            return(View(model));
        }
Example #3
0
        public ActionResult SeNames()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageMaintenance))
                return AccessDeniedView();

            var model = new UrlRecordListModel();
            return View(model);
        }
Example #4
0
        public ActionResult SeNames()
        {
            if (!_services.Permissions.Authorize(StandardPermissionProvider.ManageMaintenance))
            {
                return(AccessDeniedView());
            }

            var model = new UrlRecordListModel();

            return(View(model));
        }
Example #5
0
        /// <summary>
        /// Prepare paged URL record list model
        /// </summary>
        /// <param name="searchModel">URL record search model</param>
        /// <returns>URL record list model</returns>
        public virtual UrlRecordListModel PrepareUrlRecordListModel(UrlRecordSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get URL records
            var urlRecords = _urlRecordService.GetAllUrlRecords(slug: searchModel.SeName,
                                                                pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //get URL helper
            IUrlHelper urlHelper = _urlHelperFactory.GetUrlHelper(_actionContextAccessor.ActionContext);

            //prepare list model
            UrlRecordListModel model = new UrlRecordListModel
            {
                Data = urlRecords.Select(urlRecord =>
                {
                    //fill in model values from the entity
                    UrlRecordModel urlRecordModel = urlRecord.ToModel <UrlRecordModel>();
                    //details URL
                    string detailsUrl = string.Empty;
                    string entityName = urlRecord.EntityName?.ToLowerInvariant() ?? string.Empty;
                    switch (entityName)
                    {
                    case "blogpost":
                        detailsUrl = urlHelper.Action("BlogPostEdit", "Blog", new { id = urlRecord.EntityId });
                        break;

                    case "category":
                        detailsUrl = urlHelper.Action("Edit", "Category", new { id = urlRecord.EntityId });
                        break;

                    case "newsitem":
                        detailsUrl = urlHelper.Action("NewsItemEdit", "News", new { id = urlRecord.EntityId });
                        break;

                    case "topic":
                        detailsUrl = urlHelper.Action("Edit", "Topic", new { id = urlRecord.EntityId });
                        break;
                    }

                    urlRecordModel.DetailsUrl = detailsUrl;

                    return(urlRecordModel);
                }),
                Total = urlRecords.TotalCount
            };

            return(model);
        }
Example #6
0
        public ActionResult List(GridCommand command, UrlRecordListModel model)
        {
            var gridModel = new GridModel <UrlRecordModel>();

            if (_services.Permissions.Authorize(StandardPermissionProvider.ManageUrlRecords))
            {
                var allLanguages        = _languageService.GetAllLanguages(true);
                var defaultLanguageName = T("Admin.System.SeNames.Language.Standard");

                var urlRecords = _urlRecordService.GetAllUrlRecords(command.Page - 1, command.PageSize,
                                                                    model.SeName, model.EntityName, model.EntityId, model.LanguageId, model.IsActive);

                var slugsPerEntity = _urlRecordService.CountSlugsPerEntity(urlRecords.Select(x => x.Id).Distinct().ToArray());

                gridModel.Data = urlRecords.Select(x =>
                {
                    string languageName;

                    if (x.LanguageId == 0)
                    {
                        languageName = defaultLanguageName;
                    }
                    else
                    {
                        var language = allLanguages.FirstOrDefault(y => y.Id == x.LanguageId);
                        languageName = (language != null ? language.Name : "".NaIfEmpty());
                    }

                    var urlRecordModel = new UrlRecordModel();
                    PrepareUrlRecordModel(urlRecordModel, x, true);

                    urlRecordModel.Language       = languageName;
                    urlRecordModel.SlugsPerEntity = (slugsPerEntity.ContainsKey(x.Id) ? slugsPerEntity[x.Id] : 0);

                    return(urlRecordModel);
                });

                gridModel.Total = urlRecords.TotalCount;
            }
            else
            {
                gridModel.Data = Enumerable.Empty <UrlRecordModel>();

                NotifyAccessDenied();
            }

            return(new JsonResult
            {
                Data = gridModel
            });
        }
Example #7
0
        /// <summary>
        /// Prepare paged URL record list model
        /// </summary>
        /// <param name="searchModel">URL record search model</param>
        /// <returns>URL record list model</returns>
        public virtual UrlRecordListModel PrepareUrlRecordListModel(UrlRecordSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get URL records
            var urlRecords = _urlRecordService.GetAllUrlRecords(slug: searchModel.SeName,
                                                                pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //get URL helper
            var urlHelper = _urlHelperFactory.GetUrlHelper(_actionContextAccessor.ActionContext);

            //prepare list model
            var model = new UrlRecordListModel
            {
                Data = urlRecords.Select(urlRecord =>
                {
                    //fill in model values from the entity
                    var urlRecordModel = urlRecord.ToModel <UrlRecordModel>();

                    urlRecordModel.Name = urlRecord.Slug;

                    //fill in additional values (not existing in the entity)
                    urlRecordModel.Language = urlRecord.LanguageId == 0
                        ? _localizationService.GetResource("Admin.System.SeNames.Language.Standard")
                        : _languageService.GetLanguageById(urlRecord.LanguageId)?.Name ?? "Unknown";

                    //details URL
                    var detailsUrl = string.Empty;
                    var entityName = urlRecord.EntityName?.ToLowerInvariant() ?? string.Empty;
                    //switch (entityName)
                    //{
                    //case "Type":
                    //detailsUrl = urlHelper.Action("actionName", "controllerName", new { id = urlRecord.EntityId });
                    //break;
                    //}

                    urlRecordModel.DetailsUrl = detailsUrl;

                    return(urlRecordModel);
                }),
                Total = urlRecords.TotalCount
            };

            return(model);
        }
        public IActionResult SeNames()
        {
            var model = new UrlRecordListModel();

            //"Active" property
            //0 - all (according to "IsActive" parameter)
            //1 - active only
            //2 - inactive only
            model.AvailableActiveOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.System.SeNames.Search.All"), Value = "0"
            });
            model.AvailableActiveOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.System.SeNames.Search.ActiveOnly"), Value = "1"
            });
            model.AvailableActiveOptions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.System.SeNames.Search.InActiveOnly"), Value = "2"
            });

            return(View(model));
        }
        public ActionResult SeNames(GridCommand command, UrlRecordListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageMaintenance))
            {
                return(AccessDeniedView());
            }

            var urlRecords = _urlRecordService.GetAllUrlRecords(model.SeName, command.Page - 1, command.PageSize);
            var gridModel  = new GridModel <UrlRecordModel>
            {
                Data = urlRecords.Select(x =>
                {
                    string languageName;
                    if (x.LanguageId == 0)
                    {
                        languageName = _localizationService.GetResource("Admin.System.SeNames.Language.Standard");
                    }
                    else
                    {
                        var language = _languageService.GetLanguageById(x.LanguageId);
                        languageName = language != null ? language.Name : "Unknown";
                    }
                    return(new UrlRecordModel()
                    {
                        Id = x.Id,
                        Name = x.Slug,
                        EntityId = x.EntityId,
                        EntityName = x.EntityName,
                        IsActive = x.IsActive,
                        Language = languageName,
                    });
                }),
                Total = urlRecords.TotalCount
            };

            return(new JsonResult
            {
                Data = gridModel
            });
        }
Example #10
0
        public async Task <IActionResult> SeNames(DataSourceRequest command, UrlRecordListModel model)
        {
            var urlRecords = await _urlRecordService.GetAllUrlRecords(model.SeName, command.Page - 1, command.PageSize);

            var items = new List <UrlRecordModel>();

            foreach (var x in urlRecords)
            {
                //language
                string languageName;
                if (String.IsNullOrEmpty(x.LanguageId))
                {
                    languageName = _localizationService.GetResource("Admin.System.SeNames.Language.Standard");
                }
                else
                {
                    var language = await _languageService.GetLanguageById(x.LanguageId);

                    languageName = language != null ? language.Name : "Unknown";
                }

                //details URL
                string detailsUrl = "";
                var    entityName = x.EntityName != null?x.EntityName.ToLowerInvariant() : "";

                switch (entityName)
                {
                case "blogpost":
                    detailsUrl = Url.Action("Edit", "Blog", new { id = x.EntityId });
                    break;

                case "category":
                    detailsUrl = Url.Action("Edit", "Category", new { id = x.EntityId });
                    break;

                case "manufacturer":
                    detailsUrl = Url.Action("Edit", "Manufacturer", new { id = x.EntityId });
                    break;

                case "product":
                    detailsUrl = Url.Action("Edit", "Product", new { id = x.EntityId });
                    break;

                case "newsitem":
                    detailsUrl = Url.Action("Edit", "News", new { id = x.EntityId });
                    break;

                case "topic":
                    detailsUrl = Url.Action("Edit", "Topic", new { id = x.EntityId });
                    break;

                case "vendor":
                    detailsUrl = Url.Action("Edit", "Vendor", new { id = x.EntityId });
                    break;

                case "course":
                    detailsUrl = Url.Action("Edit", "Course", new { id = x.EntityId });
                    break;

                case "knowledgebasecategory":
                    detailsUrl = Url.Action("EditCategory", "Knowledgebase", new { id = x.EntityId });
                    break;

                case "knowledgebasearticle":
                    detailsUrl = Url.Action("EditArticle", "Knowledgebase", new { id = x.EntityId });
                    break;

                default:
                    break;
                }

                items.Add(new UrlRecordModel {
                    Id         = x.Id,
                    Name       = x.Slug,
                    EntityId   = x.EntityId,
                    EntityName = x.EntityName,
                    IsActive   = x.IsActive,
                    Language   = languageName,
                    DetailsUrl = detailsUrl
                });
            }
            var gridModel = new DataSourceResult {
                Data  = items,
                Total = urlRecords.TotalCount
            };

            return(Json(gridModel));
        }
Example #11
0
        public IActionResult SeNames()
        {
            var model = new UrlRecordListModel();

            return(View(model));
        }
Example #12
0
        public virtual ActionResult SeNames(DataSourceRequest command, UrlRecordListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageMaintenance))
            {
                return(AccessDeniedKendoGridJson());
            }

            var urlRecords = _urlRecordService.GetAllUrlRecords(model.SeName, command.Page - 1, command.PageSize);
            var gridModel  = new DataSourceResult
            {
                Data = urlRecords.Select(x =>
                {
                    //language
                    string languageName;
                    if (x.LanguageId == 0)
                    {
                        languageName = _localizationService.GetResource("Admin.System.SeNames.Language.Standard");
                    }
                    else
                    {
                        var language = _languageService.GetLanguageById(x.LanguageId);
                        languageName = language != null ? language.Name : "Unknown";
                    }

                    //details URL
                    string detailsUrl = "";
                    var entityName    = x.EntityName != null ? x.EntityName.ToLowerInvariant() : "";
                    switch (entityName)
                    {
                    case "blogpost":
                        detailsUrl = Url.Action("Edit", "Blog", new { id = x.EntityId });
                        break;

                    case "category":
                        detailsUrl = Url.Action("Edit", "Category", new { id = x.EntityId });
                        break;

                    case "manufacturer":
                        detailsUrl = Url.Action("Edit", "Manufacturer", new { id = x.EntityId });
                        break;

                    case "product":
                        detailsUrl = Url.Action("Edit", "Product", new { id = x.EntityId });
                        break;

                    case "newsitem":
                        detailsUrl = Url.Action("Edit", "News", new { id = x.EntityId });
                        break;

                    case "topic":
                        detailsUrl = Url.Action("Edit", "Topic", new { id = x.EntityId });
                        break;

                    case "vendor":
                        detailsUrl = Url.Action("Edit", "Vendor", new { id = x.EntityId });
                        break;

                    default:
                        break;
                    }

                    return(new UrlRecordModel
                    {
                        Id = x.Id,
                        Name = x.Slug,
                        EntityId = x.EntityId,
                        EntityName = x.EntityName,
                        IsActive = x.IsActive,
                        Language = languageName,
                        DetailsUrl = detailsUrl
                    });
                }),
                Total = urlRecords.TotalCount
            };

            return(Json(gridModel));
        }
        /// <summary>
        /// Prepare paged URL record list model
        /// </summary>
        /// <param name="searchModel">URL record search model</param>
        /// <returns>URL record list model</returns>
        public virtual UrlRecordListModel PrepareUrlRecordListModel(UrlRecordSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get URL records
            var urlRecords = _urlRecordService.GetAllUrlRecords(slug: searchModel.SeName,
                                                                pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //get URL helper
            var urlHelper = _urlHelperFactory.GetUrlHelper(_actionContextAccessor.ActionContext);

            //prepare list model
            var model = new UrlRecordListModel().PrepareToGrid(searchModel, urlRecords, () =>
            {
                return(urlRecords.Select(urlRecord =>
                {
                    //fill in model values from the entity
                    var urlRecordModel = urlRecord.ToModel <UrlRecordModel>();

                    //fill in additional values (not existing in the entity)
                    urlRecordModel.Name = urlRecord.Slug;
                    urlRecordModel.Language = urlRecord.LanguageId == 0
                        ? _localizationService.GetResource("Admin.System.SeNames.Language.Standard")
                        : _languageService.GetLanguageById(urlRecord.LanguageId)?.Name ?? "Unknown";

                    //details URL
                    var detailsUrl = string.Empty;
                    var entityName = urlRecord.EntityName?.ToLowerInvariant() ?? string.Empty;
                    switch (entityName)
                    {
                    case "blogpost":
                        detailsUrl = urlHelper.Action("BlogPostEdit", "Blog", new { id = urlRecord.EntityId });
                        break;

                    case "category":
                        detailsUrl = urlHelper.Action("Edit", "Category", new { id = urlRecord.EntityId });
                        break;

                    case "manufacturer":
                        detailsUrl = urlHelper.Action("Edit", "Manufacturer", new { id = urlRecord.EntityId });
                        break;

                    case "product":
                        detailsUrl = urlHelper.Action("Edit", "Product", new { id = urlRecord.EntityId });
                        break;

                    case "newsitem":
                        detailsUrl = urlHelper.Action("NewsItemEdit", "News", new { id = urlRecord.EntityId });
                        break;

                    case "topic":
                        detailsUrl = urlHelper.Action("Edit", "Topic", new { id = urlRecord.EntityId });
                        break;

                    case "vendor":
                        detailsUrl = urlHelper.Action("Edit", "Vendor", new { id = urlRecord.EntityId });
                        break;
                    }

                    urlRecordModel.DetailsUrl = detailsUrl;

                    return urlRecordModel;
                }));
            });

            return(model);
        }