public IActionResult Index() { var settings = new BaseSettings(); var settingsRecords = SettingsRepository.Where(record => string.IsNullOrEmpty(record.UserId)).ToList(); var settingsList = new List <ViewModels.IndexItem>(); foreach (var item in settings) { var existingRecord = settingsRecords.FirstOrDefault(record => record.Name == item.Key); var options = new List <SelectListItem>(); var value = existingRecord?.Value ?? string.Empty; if (item.Options != null) { foreach (var option in item.Options) { options.Add(new SelectListItem { Text = option, Value = option, Selected = option == value }); } } settingsList.Add(new ViewModels.IndexItem { Key = item.Key, Display = item.Display, Description = item.Description, Options = options, Value = value, AdminOnly = existingRecord?.AdminOnly ?? false, }); } var viewModel = new ViewModels.IndexPage { Settings = settingsList }; return(ForumViewResult.ViewResult(this, viewModel)); }
public async Task <IActionResult> Index() { var records = DbContext.StrippedUrls.ToList(); var items = new List <ViewModels.IndexItem>(); foreach (var record in records) { items.Add(new ViewModels.IndexItem { Url = record.Url, RegexPattern = record.RegexPattern }); } var viewModel = new ViewModels.IndexPage { StrippedUrls = items }; return(await ForumViewResult.ViewResult(this, viewModel)); }
public async Task <IActionResult> Index() { var viewModel = new ViewModels.IndexPage(); foreach (var smiley in await SmileyRepository.Records()) { var sortColumn = smiley.SortOrder / 1000; var sortRow = smiley.SortOrder % 1000; viewModel.Smileys.Add(new ViewModels.IndexItem { Id = smiley.Id, Code = smiley.Code, Path = smiley.Path, Thought = smiley.Thought, Column = sortColumn, Row = sortRow }); } return(await ForumViewResult.ViewResult(this, viewModel)); }
public IActionResult Index() { var viewModel = new ViewModels.IndexPage(); foreach (var smiley in SmileyRepository) { var sortColumn = smiley.SortOrder / 1000; var sortRow = smiley.SortOrder % 1000; viewModel.Items.Add(new ViewModels.IndexItem { Id = smiley.Id, Code = smiley.Code, Path = smiley.Path, Thought = smiley.Thought, Column = sortColumn, Row = sortRow }); } return(ForumViewResult.ViewResult(this, viewModel)); }
public async Task <IActionResult> Index(InputModels.EditStrippedUrlsInput input) { if (ModelState.IsValid) { var serviceResponse = new ServiceResponse(); var records = DbContext.StrippedUrls.ToList(); var inputs = input.StrippedUrls?.ToList(); foreach (var record in records) { InputModels.EditStrippedUrlInput inputItem = null; var inputIndex = -1; for (var i = 0; i < inputs.Count; i++) { if (inputs[i].Url == record.Url) { inputItem = inputs[i]; inputIndex = i; } } if (inputItem is null) { DbContext.Remove(record); } else { ValidateRegex($"{nameof(ViewModels.IndexPage.StrippedUrls)}[{inputIndex}].{nameof(ViewModels.IndexItem.RegexPattern)}", inputItem.RegexPattern, serviceResponse); record.RegexPattern = inputItem.RegexPattern; inputs?.Remove(inputItem); } } if (!string.IsNullOrEmpty(input.NewUrl)) { ValidateRegex(nameof(ViewModels.IndexPage.NewRegex), input.NewRegex, serviceResponse); if (serviceResponse.Success) { DbContext.Add(new StrippedUrl { Url = input.NewUrl, RegexPattern = input.NewRegex }); } } if (serviceResponse.Success) { DbContext.SaveChanges(); return(await ForumViewResult.RedirectFromService(this, serviceResponse)); } foreach (var kvp in serviceResponse.Errors) { ModelState.AddModelError(kvp.Key, kvp.Value); } } var strippedUrls = new List <ViewModels.IndexItem>(); foreach (var item in input.StrippedUrls) { strippedUrls.Add(new ViewModels.IndexItem { Url = item.Url, RegexPattern = item.RegexPattern }); } var viewModel = new ViewModels.IndexPage { NewUrl = input.NewUrl, NewRegex = input.NewRegex, StrippedUrls = strippedUrls }; return(await ForumViewResult.ViewResult(this, viewModel)); }