Язык программирования 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.
Поделиться:
Популярные книги
Газлайтер. Том 8
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Вечный. Книга III
3. Вечный
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
На границе империй. Том 6
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.31
рейтинг книги
Уязвимость
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Темный Патриарх Светлого Рода 5
5. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Иван Московский. Том 5. Злой лев
5. Иван Московский
Фантастика:
попаданцы
альтернативная история
6.20
рейтинг книги
Идеальный мир для Лекаря 18
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Сумеречный стрелок 7
7. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Курсант: Назад в СССР 7
7. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Законы Рода. Том 6
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Хозяйка старой усадьбы
Любовные романы:
любовно-фантастические романы
8.07
рейтинг книги
Назад в СССР: 1985 Книга 4
4. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Лорд Системы 8
8. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00