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

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

Жанры

Язык программирования 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
рейтинг книги
Мастер Разума III

Часовое имя

Щерба Наталья Васильевна
4. Часодеи
Детские:
детская фантастика
9.56
рейтинг книги
Часовое имя

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Эволюция мага

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

Прорвемся, опера! Книга 3

Киров Никита
3. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прорвемся, опера! Книга 3

Демон

Парсиев Дмитрий
2. История одного эволюционера
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Демон

Прорвемся, опера! Книга 2

Киров Никита
2. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прорвемся, опера! Книга 2

#Бояръ-Аниме. Газлайтер. Том 11

Володин Григорий Григорьевич
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Призыватель нулевого ранга. Том 3

Дубов Дмитрий
3. Эпоха Гардара
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Призыватель нулевого ранга. Том 3

Сделай это со мной снова

Рам Янка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сделай это со мной снова

Злыднев Мир. Дилогия

Чекрыгин Егор
Злыднев мир
Фантастика:
фэнтези
7.67
рейтинг книги
Злыднев Мир. Дилогия