public virtual IActionResult SeNames(UrlRecordSearchModel searchModel) { //prepare model UrlRecordListModel model = _commonModelFactory.PrepareUrlRecordListModel(searchModel); return(Json(model)); }
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)); }
public ActionResult SeNames() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageMaintenance)) return AccessDeniedView(); var model = new UrlRecordListModel(); return View(model); }
public ActionResult SeNames() { if (!_services.Permissions.Authorize(StandardPermissionProvider.ManageMaintenance)) { return(AccessDeniedView()); } var model = new UrlRecordListModel(); return(View(model)); }
/// <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); }
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 }); }
/// <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 }); }
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)); }
public IActionResult SeNames() { var model = new UrlRecordListModel(); return(View(model)); }
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); }