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 }; }
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); }