In the previous posting we saw how to create an API to get all the cars in our database. In this posting we’ll look at the remaining CRUD (Create Review Update Delete) operations.
As you may remember, we created a controller named CarController. ASP.NET will strip off the word Controller, leaving us with Car, which we will use to access the endpoints of our API.
An endpoint is just a URL that takes us to the operation we want.
We looked at GetAll, let’s take a look at Get. In this case, we have an id for the car we want, but we want all the details of that car. Simple!
First we need a method in our controller:
[HttpGet("{id}")]
public async Task<ActionResult<Car>> Get(int id)
{
var car = await _carRepository.Get(id);
if (car == null)
{
return NotFound();
}
return car;
}
Notice that next to the HttpGet attribute we indicate that the endpoint will take the id of the car we want
[HttpGet("{id}")]
This means we need to modify the URL to access the endpoint by adding the actual id of the desired record.
The first thing we do is call the repository, passing in the id.
public async Task<Car?> Get(int id)
{
var query = "select * from car where id=@id";
using var db = databaseConnectionFactory.GetConnection();
return await db.QuerySingleOrDefaultAsync<Car>(query, new {id});
}
In the Get method of the repo we create our query, get our connection and execute the query returning the value we retrieved (if any). This is very close to what we did previously.
Back in the controller, we check to ensure that we received a Car. If not, we return NotFound which is a shorthand way of returning a 404 message. Otherwise we return the Car as a Json object. You can see this in Postman:
We’ll issue a Get command passing in the URL, ending with the id of the car we want (in this case 4)
Notice that we get back a 200, indicating success. In the body of the returned Json we get back all the details of the Car. (If you decide to use DTOs you can get whatever subset of the information makes sense):
Post
Adding a Car to the database is quite similar. We need a method in the controller and one in the repo. Here is the controller method:
[HttpPost]
public async Task<ActionResult<Car>> Post([FromBody] Car car)
{
try
{
car = await _carService.Insert(car);
}
catch (Exception e)
{
return BadRequest(e);
}
return CreatedAtAction(nameof(Get), new { id = car.Id }, car);
}
Look at the attribute in the parameter ([FromBody]. This indicates to the API that the data needed to insert this Car will be in the body of the call. The alternative is FromQuery. You can, in fact, use both in one call.
Note: CreatedAction causes a return code of 201, which is what we want. Here’s the body we’ll insert:
When we click Send this data is sent to the API which returns 201 (created) and in the body of the returned data we see the new id assigned to this car
Service Class
Notice that this time, instead of calling the Repo directly, the method in the controller calls into a service class. A service class is a great way to get the logic out of the controller, where it does not belong, without putting it into the repo, where it also does not belong.
Here’s the top of the CarService
public class CarService : ICarService
{
private readonly ICarRepository _carRepository;
public CarService(ICarRepository carRepository)
{
_carRepository = carRepository;
}
public async Task<Car> Insert(Car car)
{
var newId = await _carRepository.UpsertAsync(car);
if (newId > 0)
{
car.Id = newId;
}
else
{
throw new Exception("Failed to insert car");
}
return car;
}
All the logic associated with this insert (e.g., making sure we get back a legitimate id from the repository, etc.) is encapsulated in the service.
This leaves the repository free to just talk to the database,
public async Task<int> UpsertAsync(Car car)
{
using var db = databaseConnectionFactory.GetConnection();
var sql = @"
DECLARE @InsertedRows AS TABLE (Id int);
MERGE INTO Car AS target
USING (SELECT @Id AS Id, @Name AS Name, @Model_Year AS Model_Year,
@Is_Deleted AS Is_Deleted, @Origin AS origin ) AS source
ON target.Id = source.Id
WHEN MATCHED THEN
UPDATE SET
Name = source.Name,
Model_Year = source.Model_Year,
Is_Deleted = source.Is_Deleted,
Origin = source.Origin
WHEN NOT MATCHED THEN
INSERT (Name, Model_Year, Is_Deleted, Origin)
VALUES (source.Name, source.Model_Year,
source.Is_Deleted, source.Origin)
OUTPUT inserted.Id INTO @InsertedRows
;
SELECT Id FROM @InsertedRows;
";
var newId = await db.QuerySingleOrDefaultAsync<int>(sql, car);
return newId == 0 ? car.Id : newId;
}
Rather than having an insert and an update method, we combine that logic into this upsert method. This is a common idiom for database manipulation.
Note: to make this work, be sure to fill in all the fields for a car (or at least as many as you want to have in the Database.
Delete
As noted earlier, we will implement a soft delete; that is, rather than actually removing the data from the database, we’ll just set the is_deleted column to true. This allows us to reverse the action, and make the row not-deleted by simply changing that value to false.
[HttpDelete(“{id}”)]
public async Task<IActionResult> Delete(int id)
{
try
{
await _carService.Delete(id);
}
catch (Exception e)
{
return BadRequest(e);
}
return NoContent();
}
As you would expect, the endpoint takes an id (the id of the car we want to delete). The controller then hands that off to the service, which calls the repository which, in turn, marks that id as deleted:
public async Task<int> DeleteAsync(int id)
{
using var db = databaseConnectionFactory.GetConnection();
var query = "UPDATE car SET Is_Deleted = 1 WHERE Id = @Id";
return await db.ExecuteAsync(query, new { Id = id });
}
If you are comfortable with SQL none of this will be very surprising. The key walkaway is:
Summary
In this post we saw that endpoints are just URLs with (potentially) data in the body of the request. The controller handles the URL and in our case passes the id or other data to the service. The service handles the (business) logic and then delegates talking to the database to the repository.
Book
This posting is excerpted from my forthcoming book Building APIs with .NET and C# to be released next year by Packt.







































Алкогольная зависимость — одна из самых распространенных проблем нашего времени, требующая немедленного и грамотного вмешательства. В Екатеринбурге капельница от запоя является одним из самых популярных и действенных методов восстановления после длительного употребления алкоголя. Она помогает организму справиться с интоксикацией, восстанавливает физическое и эмоциональное состояние пациента, улучшает самочувствие в короткие сроки. При этом лечение может быть организовано как в стационаре, так и на дому, в зависимости от удобства пациента.
Разобраться лучше – https://kapelnica-ot-zapoya-ekb55.ru/kapelnicza-ot-zapoya-v-stacionare-ekaterinburg/
Каждый пациент в «УралМед» получает персональный маршрут реабилитации, составленный после комплексного обследования. План включает медикаментозное выведение из запоя, коррекцию биохимических показателей и психологическую реабилитацию.
Разобраться лучше – http://lechenie-alkogolizma-ekaterinburg0.ru
В Архангельске, в условиях, когда каждая минута на счету, экстренная медицинская помощь становится особенно актуальной, и специализированные службы, укомплектованные опытными и квалифицированными специалистами, готовы оперативно вмешаться для стабилизации критического состояния пациента и предотвращения непоправимых последствий для его здоровья
Изучить вопрос глубже – вывод из запоя цены на дому архангельск
Капельница также рекомендуется для тех, кто испытывает сильный похмельный синдром после длительных запоев. Она помогает не только облегчить состояние, но и предотвратить развитие серьезных осложнений, таких как поражение печени, сердечно-сосудистые нарушения или острые психические расстройства.
Разобраться лучше – капельница от запоя вызов в красноярске
Есть ситуации, когда дальнейшее промедление может привести к необратимым последствиям:
Выяснить больше – lechenie-alkogolizma-na-domu-stoimost
Вызов специалиста на дом рекомендуется, если запой затягивается и самостоятельное прекращение пьянства становится невозможным. Своевременное обращение помогает предотвратить ухудшение состояния, развитие хронических осложнений и негативное воздействие на психику.
Подробнее можно узнать тут – http://
Запой и алкогольная интоксикация – это состояния, при которых организм уже не способен самостоятельно справиться с токсинами. Попытки выйти из запоя без медицинского вмешательства могут привести к серьёзным осложнениям, таким как скачки давления, судороги, галлюцинации и даже алкогольный психоз.
Подробнее – https://narcolog-na-dom-v-irkutske6.ru/narkolog-na-dom-czena-irkutsk
Как помогает организму
Изучить вопрос глубже – vyvod-iz-zapoya-novokuznetsk6.ru/
В этой статье представлен занимательный и актуальный контент, который заставит вас задуматься. Мы обсуждаем насущные вопросы и проблемы, а также освещаем истории, которые вдохновляют на действия и изменения. Узнайте, что стоит за событиями нашего времени!
Более подробно об этом – https://inowarez.ru
В этих случаях вызов нарколога на дом не только оправдан, но и жизненно необходим для предотвращения опасных осложнений и стабилизации здоровья пациента.
Получить больше информации – выезд нарколога на дом воронеж
Кроме того, анонимность является важной составляющей этой услуги. Лечение дома исключает возможность столкновения с посторонними людьми и помогает пациентам сохранить свою репутацию. Клиника «Гармония и Свет» обеспечивает полную конфиденциальность, предоставляя пациентам возможность получать помощь без лишних вопросов и обсуждений.
Подробнее – нарколог на дом анонимно в екатеринбурге
Продолжительный запой приводит к накоплению токсинов в организме, нарушению работы внутренних органов и развитию серьезных осложнений. Чем дольше человек находится в состоянии алкогольной интоксикации, тем выше риск повреждения сердца, печени и почек. Экстренное вмешательство позволяет оперативно вывести токсины, восстановить нормальные обменные процессы и предотвратить развитие хронических заболеваний.
Узнать больше – http://vyvod-iz-zapoya-vladimir000.ru/vyvod-iz-zapoya-anonimno-vladimir/
Красноярск, как и любой крупный город, сталкивается с распространенными проблемами зависимости. Учитывая высокий уровень стресса, социальное давление и быстрое развитие мегаполиса, люди часто оказываются в сложных ситуациях, связанных с алкогольной или наркотической зависимостью. В таких случаях своевременная помощь квалифицированного нарколога становится не просто желательной, а жизненно необходимой.
Детальнее – нарколог на дом анонимно
Если пациенту требуется постоянный мониторинг или комплексное лечение, мы обеспечиваем круглосуточное пребывание в стационаре. Здесь доступны углублённая диагностика — УЗИ органов брюшной полости, расширенные анализы крови, кардиомониторинг — и коррекция терапии в режиме реального времени. Комфортные палаты, ежедневное наблюдение медсестры и консультации психотерапевта создают условия для быстрого и безопасного выхода из зависимости.
Подробнее можно узнать тут – скорая наркологическая помощь екатеринбург
Выездной формат позволяет избежать контактов с другими пациентами в клинике и очистить организм в привычной обстановке. Специалисты самостоятельно привозят весь необходимый набор медикаментов и расходных материалов.
Углубиться в тему – narkologicheskie kliniki alkogolizm ekaterinburg
кайт лагерь “Русский кайтинг”: Анапа и Крым: где кататься в России
Этот увлекательный информационный материал подарит вам массу новых знаний и ярких эмоций. Мы собрали для вас интересные факты и сведения, которые обогатят ваш опыт. Откройте для себя увлекательный мир информации и насладитесь процессом изучения!
Смотрите также… – https://drag-bitva.ru
Врач назначает комплекс препаратов для нормализации состояния и устранения интоксикации. Применяются детоксикационные средства для очищения организма и облегчения абстинентного синдрома. Важным компонентом терапии являются витаминные комплексы и минералы, восстанавливающие метаболический баланс. При необходимости назначаются седативные препараты для снижения тревожности и нормализации сна. Также используются гепатопротекторы и другие средства для поддержки органов, пострадавших от алкогольной интоксикации.
Получить дополнительные сведения – наркология вывод из запоя красноярск
Эта статья для ознакомления предлагает читателям общее представление об актуальной теме. Мы стремимся представить ключевые факты и идеи, которые помогут читателям получить представление о предмете и решить, стоит ли углубляться в изучение.
Все материалы собраны здесь – https://kraftcaun.ru
Капельница – это метод внутривенной инфузии, который позволяет доставить в организм пациента растворы для детоксикации и восстановления. Основные задачи процедуры включают очищение крови от токсичных веществ, нормализацию водно-солевого баланса и улучшение общего самочувствия.
Разобраться лучше – http://kapelnica-ot-zapoya-krasnoyarsk55.ru
Этот увлекательный информационный материал подарит вам массу новых знаний и ярких эмоций. Мы собрали для вас интересные факты и сведения, которые обогатят ваш опыт. Откройте для себя увлекательный мир информации и насладитесь процессом изучения!
Обратиться к источнику – https://link-futsal.com/2019/09/24/2018-9-6-link%EF%BD%B9%EF%BE%9E%EF%BD%B0%EF%BE%911
Hello. And Bye.Salut, joueurs !
Si vous souhaitez decouvrir les meilleurs casinos francais, alors c’est un bon plan.
Decouvrez l’integralite via le lien suivant :
http://www.parcoursfrance.com/guide/sud-est/vivre-a-saint-drezery-sommaire/
В этой публикации мы рассматриваем важную тему борьбы с зависимостями, включая алкогольную и наркотическую зависимости. Мы обсудим методы лечения, реабилитации и поддержку, которые могут помочь людям, столкнувшимся с этой проблемой. Читатели узнают о перспективах выздоровления и важности комплексного подхода.
Подробнее тут – врач нарколог на дом
В этой статье представлен занимательный и актуальный контент, который заставит вас задуматься. Мы обсуждаем насущные вопросы и проблемы, а также освещаем истории, которые вдохновляют на действия и изменения. Узнайте, что стоит за событиями нашего времени!
Почему это важно? – https://volleymsk.ru/forum/viewtopic.php?t=2171&start=525
Мы предлагаем вам подробное руководство, основанное на проверенных источниках и реальных примерах. Каждая часть публикации направлена на то, чтобы помочь вам разобраться в сложных вопросах и применить знания на практике.
Узнать напрямую – https://topic.lk/8762
Предлагаем вашему вниманию интересную справочную статью, в которой собраны ключевые моменты и нюансы по актуальным вопросам. Эта информация будет полезна как для профессионалов, так и для тех, кто только начинает изучать тему. Узнайте ответы на важные вопросы и расширьте свои знания!
Почему это важно? – https://summertownexecutive.co.uk/is-renting-a-car-profitable
Эта информационная статья содержит полезные факты, советы и рекомендации, которые помогут вам быть в курсе последних тенденций и изменений в выбранной области. Материал составлен так, чтобы быть полезным и понятным каждому.
Это стоит прочитать полностью – https://trendlylife.com/2018/07/08/%E0%AE%87%E0%AE%A8%E0%AF%8D%E0%AE%A4-%E0%AE%B5%E0%AE%B0%E0%AF%81%E0%AE%9F-%E0%AE%AA%E0%AF%81%E0%AE%A4%E0%AE%BF%E0%AE%AF-%E0%AE%9F%E0%AE%BF%E0%AE%9A%E0%AF%88%E0%AE%A9%E0%AE%B0%E0%AF%8D-%E0%AE%95
Этот информативный текст выделяется своими захватывающими аспектами, которые делают сложные темы доступными и понятными. Мы стремимся предложить читателям глубину знаний вместе с разнообразием интересных фактов. Откройте новые горизонты и развивайте свои способности познавать мир!
Читать дальше – https://www.radhe-radhe.net/mauka-na-chode
Эта информационная заметка содержит увлекательные сведения, которые могут вас удивить! Мы собрали интересные факты, которые сделают вашу жизнь ярче и полнее. Узнайте нечто новое о привычных аспектах повседневности и откройте для себя удивительный мир информации.
Только для своих – https://scoopmagazines.com/guide-to-fixing-mistakes-on-a-us-visa-application-steps-and-tips
http://ilianicolaevichzavialov.ru/
Этот текст призван помочь читателю расширить кругозор и получить практические знания. Мы используем простой язык, наглядные примеры и структурированное изложение, чтобы сделать обучение максимально эффективным и увлекательным.
Изучить вопрос глубже – https://saas4us.com/revolutionize-your-business-with-our-cutting-edge
В этой статье вы найдете познавательную и занимательную информацию, которая поможет вам лучше понять мир вокруг. Мы собрали интересные данные, которые вдохновляют на размышления и побуждают к действиям. Открывайте новую информацию и получайте удовольствие от чтения!
Доступ к полной версии – https://topic.lk/10544
Эта публикация завернет вас в вихрь увлекательного контента, сбрасывая стереотипы и открывая двери к новым идеям. Каждый абзац станет для вас открытием, полным ярких примеров и впечатляющих достижений. Подготовьтесь быть вовлеченными и удивленными каждый раз, когда продолжите читать.
Все материалы собраны здесь – https://americanangel.hu/hello-world
Этот текст призван помочь читателю расширить кругозор и получить практические знания. Мы используем простой язык, наглядные примеры и структурированное изложение, чтобы сделать обучение максимально эффективным и увлекательным.
Ознакомьтесь с аналитикой – https://www.asociacion-aeste.es/2020/07/21/aeste-asade-ccoo-y-ugt-acordamos-un-plan-de-choque-para-restrituir-el-sistema-de-dependencia
Этот информативный текст выделяется своими захватывающими аспектами, которые делают сложные темы доступными и понятными. Мы стремимся предложить читателям глубину знаний вместе с разнообразием интересных фактов. Откройте новые горизонты и развивайте свои способности познавать мир!
Посмотреть подробности – https://lavozpuntana.com/index.php/2022/01/03/que-verano-se-viene
Oh my goodness! Incredible article dude! Thanks, However I am encountering issues with your RSS. I don’t understand why I can’t subscribe to it. Is there anybody else getting the same RSS problems? Anybody who knows the answer will you kindly respond? Thanx!!|
В этой статье мы рассматриваем разрушительное влияние зависимости на жизнь человека. Обсуждаются аспекты, такие как здоровье, отношения и профессиональные достижения. Читатели узнают о необходимости обращения за помощью и о путях к восстановлению.
Подробнее можно узнать тут – нарколог на дом круглосуточно
Публикация приглашает вас исследовать неизведанное — от древних тайн до современных достижений науки. Вы узнаете, как случайные находки превращались в революции, а смелые мысли — в новые эры человеческого прогресса.
Нажмите, чтобы узнать больше – https://www.volleymsk.ru/forum/viewtopic.php?t=5081
При поступлении вызова нарколог незамедлительно приезжает на дом для проведения детального первичного осмотра. Врач собирает краткий анамнез, измеряет жизненно важные показатели — пульс, артериальное давление, температуру — и оценивает степень алкогольной интоксикации. Эти данные являются основой для разработки индивидуального плана лечения, позволяющего подобрать наиболее эффективные методы детоксикации.
Изучить вопрос глубже – вывод из запоя цена тула.
кайтинг Кайтсёрфинг – это ваш вызов, ваша страсть и ваш способ самовыражения.
Наша цель — не просто купировать симптомы, а добиться стойкой ремиссии, предотвратить рецидивы, научить пациента жить без психоактивных веществ.
Изучить вопрос глубже – https://алко-консультация.рф/vivod-iz-zapoya-v-stacionare-v-Moskve/
Длительное злоупотребление алкоголем приводит к накоплению токсинов, нарушению обменных процессов и ухудшению работы внутренних органов. Своевременное вмешательство позволяет снизить риск серьезных осложнений, таких как сердечно-сосудистые заболевания, повреждение печени и почек, а также уменьшить психоэмоциональное напряжение. Экстренный вызов нарколога на дом в Рязани помогает начать лечение на ранних этапах, когда каждая минута имеет значение.
Получить дополнительную информацию – https://наркология-дома1.рф/narkolog-na-dom-kruglosutochno-ryazan/
Этот документ охватывает важные аспекты медицинской науки, сосредотачиваясь на ключевых вопросах, касающихся здоровья населения. Мы рассматриваем свежие исследования, клинические рекомендации и лучшие практики, которые помогут улучшить качество лечения и профилактики заболеваний. Читатели получат возможность углубиться в различные медицинские дисциплины.
Исследовать вопрос подробнее – vyzov-narkologa-na-dom
При поступлении вызова нарколог незамедлительно выезжает на дом для проведения первичного осмотра. Специалист собирает анамнез, измеряет жизненно важные показатели – пульс, артериальное давление и температуру – и оценивает степень алкогольной интоксикации. Точная диагностика становится основой для составления индивидуального плана терапии, адаптированного под конкретное состояние пациента.
Подробнее – вывод из запоя недорого
В этом обзоре мы обсудим современные методы борьбы с зависимостями, включая медикаментозную терапию и психотерапию. Мы представим последние исследования и их результаты, чтобы читатели могли быть в курсе наиболее эффективных подходов к лечению и поддержке.
Выяснить больше – нарколог на дом вывод
Сразу после вызова нарколог приезжает на дом для проведения первичного осмотра и диагностики. На этом этапе проводится сбор анамнеза, измеряются жизненно важные показатели (пульс, артериальное давление, температура) и определяется степень алкогольной интоксикации. Эти данные являются основой для разработки индивидуального плана лечения.
Детальнее – капельница от запоя на дому в тюмени
Этот информационный материал подробно освещает проблему наркозависимости, ее причины и последствия. Мы предлагаем информацию о методах лечения, профилактики и поддерживающих программах. Цель статьи — повысить осведомленность и продвигать идеи о необходимости борьбы с зависимостями.
Подробнее тут – вызвать нарколога на дом
При длительном запое в организме накапливаются вредные токсины, что ведёт к нарушениям работы сердца, печени, почек и других жизненно важных органов. Чем быстрее начинается терапия, тем выше шансы избежать серьёзных осложнений и обеспечить качественное восстановление. Метод капельничного лечения позволяет оперативно начать детоксикацию, что особенно важно для спасения жизни и предупреждения хронических последствий злоупотребления алкоголем.
Углубиться в тему – стоимость капельницы от запоя в тюмени
Оперативный выезд специалиста позволяет начать терапию без задержек, что особенно важно при тяжелой алкогольной интоксикации. Благодаря помощи на дому, пациент избегает длительного ожидания в очередях и стрессовых поездок в стационар, что способствует сохранению психологического комфорта и анонимности.
Изучить вопрос глубже – вывод из запоя капельница
На этом этапе специалист уточняет, сколько времени продолжается запой, какие основные симптомы наблюдаются, и если имеются, то какие хронические заболевания могут влиять на течение терапии. Точный анализ этих данных позволяет сформировать персонализированную стратегию лечения, которая будет максимально адаптирована к состоянию пациента и его потребностям.
Подробнее – срочный вывод из запоя