Чтение онлайн

на главную - закладки

Жанры

Язык программирования 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.

Поделиться:
Популярные книги

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Жених из гроба

Сотис Майя
1. Гробокопательница
Фантастика:
юмористическое фэнтези
сказочная фантастика
фэнтези
5.00
рейтинг книги
Жених из гроба

Ищу жену с прицепом

Рам Янка
2. Спасатели
Любовные романы:
современные любовные романы
6.25
рейтинг книги
Ищу жену с прицепом

Гримуар тёмного лорда I

Грехов Тимофей
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар тёмного лорда I

Заклятие предков

Прозоров Александр Дмитриевич
3. Ведун
Фантастика:
фэнтези
альтернативная история
8.49
рейтинг книги
Заклятие предков

Крепость над бездной

Лисина Александра
4. Гибрид
Фантастика:
боевая фантастика
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Крепость над бездной

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Экспансия: Сотрудничество. Том 5

Белов Артем
5. Планетарный десант
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Экспансия: Сотрудничество. Том 5

Отверженный III: Вызов

Опсокополос Алексис
3. Отверженный
Фантастика:
фэнтези
альтернативная история
7.73
рейтинг книги
Отверженный III: Вызов

Князь Серединного мира

Земляной Андрей Борисович
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Князь Серединного мира

Возвышение Меркурия. Книга 8

Кронос Александр
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 8

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Локки 7. Потомок бога

Решетов Евгений Валерьевич
7. Локки
Фантастика:
аниме
эпическая фантастика
фэнтези
5.00
рейтинг книги
Локки 7. Потомок бога

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4