Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using AutoMapper;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.EntityFrameworkCore;
- using IceOnWheels.Data;
- using IceOnWheels.Models;
- using IceOnWheels.Models.Repo;
- namespace IceOnWheels.Controllers
- {
- [Produces("application/json")]
- [Route("api/Drivers")]
- public class DriversController : Controller
- {
- private readonly OrderContext _context;
- private readonly IMapper _mapper;
- public DriversController(OrderContext context, IMapper mapper)
- {
- _context = context;
- _mapper = mapper;
- }
- // GET: api/Drivers
- [HttpGet]
- public async Task<IActionResult> GetDrivers()
- {
- var drivers = await _context.Drivers.Include(i => i.stock).ToListAsync();
- var result = _mapper.Map<List<Driver>, List<DriverRepo>>(drivers);
- return Ok(result);
- }
- // GET: api/Drivers/5
- [HttpGet("{id}")]
- public async Task<IActionResult> GetDriver([FromRoute] int id)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- var driver = await _context.Drivers.SingleOrDefaultAsync(m => m.DriverID == id);
- if (driver == null)
- {
- return NotFound();
- }
- return Ok(driver);
- }
- // PUT: api/Drivers/5
- [HttpPut("{id}")]
- public async Task<IActionResult> PutDriver([FromRoute] int id, [FromBody] Driver driver)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- if (id != driver.DriverID)
- {
- return BadRequest();
- }
- _context.Entry(driver).State = EntityState.Modified;
- try
- {
- await _context.SaveChangesAsync();
- }
- catch (DbUpdateConcurrencyException)
- {
- if (!DriverExists(id))
- {
- return NotFound();
- }
- else
- {
- throw;
- }
- }
- return NoContent();
- }
- // POST: api/Drivers
- [HttpPost]
- public async Task<IActionResult> PostDriver([FromBody] Driver driver)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- _context.Drivers.Add(driver);
- var result = _context.SaveChangesAsync();
- return Ok(result);
- }
- // DELETE: api/Drivers/5
- [HttpDelete("{id}")]
- public async Task<IActionResult> DeleteDriver([FromRoute] int id)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- var driver = await _context.Drivers.SingleOrDefaultAsync(m => m.DriverID == id);
- if (driver == null)
- {
- return NotFound();
- }
- _context.Drivers.Remove(driver);
- await _context.SaveChangesAsync();
- return Ok(driver);
- }
- private bool DriverExists(int id)
- {
- return _context.Drivers.Any(e => e.DriverID == id);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement