Язык программирования C#9 и платформа .NET5
Шрифт:
{
if (ModelState.IsValid)
{
await _serviceWrapper.AddCarAsync(car);
return RedirectToAction(nameof(Index));
}
ViewData["MakeId"] = await GetMakesAsync;
return View(car);
}
[HttpGet("{id?}")]
public async Task<IActionResult> Edit(int? id)
{
var car = await GetOneCarAsync(id);
if (car == null)
{
return NotFound;
}
ViewData["MakeId"] = await GetMakesAsync;
return View(car);
}
[HttpPost("{id}")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(int id, Car car)
{
if (id != car.Id)
{
return BadRequest;
}
if (ModelState.IsValid)
{
await _serviceWrapper.UpdateCarAsync(id,car);
return RedirectToAction(nameof(Index));
}
ViewData["MakeId"] = await GetMakesAsync;
return View(car);
}
[HttpGet("{id?}")]
public async Task<IActionResult> Delete(int? id)
{
var car = await GetOneCarAsync(id);
if (car == null)
{
return NotFound;
}
return View(car);
}
[HttpPost("{id}")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(int id, Car car)
{
await _serviceWrapper.DeleteCarAsync(id,car);
return RedirectToAction(nameof(Index));
}
Обновление
компонента представления
В текущий момент внутри компонента представления
MenuViewComponent
применяется уровень доступа к данным и синхронная
Invoke
. Внесите в класс следующие изменения:
using System.Linq;
using System.Threading.Tasks;
using AutoLot.Dal.Repos.Interfaces;
using AutoLot.Services.ApiWrapper;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ViewComponents;
namespace AutoLot.Mvc.ViewComponents
{
public class MenuViewComponent : ViewComponent
{
private readonly IApiServiceWrapper _serviceWrapper;
public MenuViewComponent(IApiServiceWrapper serviceWrapper)
{
_serviceWrapper = serviceWrapper;
}
public async Task<IViewComponentResult> InvokeAsync
{
var makes = await _serviceWrapper.GetMakesAsync;
if (makes == null)
{
return new ContentViewComponentResult("Unable to get the makes");
}
return View("MenuView", makes);
}
}
}
Совместный запуск приложений AutoLot.Mvc и AutoLot.Api
Приложение
AutoLot.Mvc
рассчитывает на то, что приложение AutoLot.Api
должно быть запущено. Это можно сделать с помощью Visual Studio, командной строки или через комбинацию того и другого. На заметку! Вспомните, что приложения
AutoLot.Mvc
и AutoLot.Api
сконфигурированы на воссоздание базы данных при каждом их запуске. Обязательно отключите воссоздание хотя бы в одном из приложений, иначе возникнет конфликт. Чтобы ускорить отладку, отключите воссоздание в обоих приложений при тестировании функциональности, которая не изменяет данные. Использование Visual Studio
Вы можете сконфигурировать среду Visual Studio на запуск нескольких проектов одновременно. Щелкните правой кнопкой мыши на имени решения в окне Solution Explorer, выберите в контекстном меню пункт Select Startup Projects (Выбрать стартовые проекты) и установите действия для проектов
AutoLot.Api
и AutoLot.Mvc
в Start (Запуск), как показано на рис. 31.11.
Поделиться:
Популярные книги
Мастер Разума III
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Часовое имя
4. Часодеи
Детские:
детская фантастика
9.56
рейтинг книги
Печать мастера
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Кротовский, не начинайте
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Эволюция мага
2. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Прорвемся, опера! Книга 3
3. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Демон
2. История одного эволюционера
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Прорвемся, опера! Книга 2
2. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Офицер
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Призыватель нулевого ранга. Том 3
3. Эпоха Гардара
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Сделай это со мной снова
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Злыднев Мир. Дилогия
Злыднев мир
Фантастика:
фэнтези
7.67