Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using AutoMapper;
  6. using Microsoft.AspNetCore.Http;
  7. using Microsoft.AspNetCore.Mvc;
  8. using Microsoft.EntityFrameworkCore;
  9. using IceOnWheels.Data;
  10. using IceOnWheels.Models;
  11. using IceOnWheels.Models.Repo;
  12.  
  13. namespace IceOnWheels.Controllers
  14. {
  15.  
  16. [Produces("application/json")]
  17. [Route("api/Drivers")]
  18. public class DriversController : Controller
  19. {
  20.  
  21.  
  22. private readonly OrderContext _context;
  23. private readonly IMapper _mapper;
  24.  
  25. public DriversController(OrderContext context, IMapper mapper)
  26. {
  27. _context = context;
  28. _mapper = mapper;
  29.  
  30. }
  31.  
  32. // GET: api/Drivers
  33. [HttpGet]
  34. public async Task<IActionResult> GetDrivers()
  35. {
  36.  
  37. var drivers = await _context.Drivers.Include(i => i.stock).ToListAsync();
  38. var result = _mapper.Map<List<Driver>, List<DriverRepo>>(drivers);
  39. return Ok(result);
  40.  
  41. }
  42.  
  43. // GET: api/Drivers/5
  44. [HttpGet("{id}")]
  45. public async Task<IActionResult> GetDriver([FromRoute] int id)
  46. {
  47. if (!ModelState.IsValid)
  48. {
  49. return BadRequest(ModelState);
  50. }
  51.  
  52. var driver = await _context.Drivers.SingleOrDefaultAsync(m => m.DriverID == id);
  53.  
  54. if (driver == null)
  55. {
  56. return NotFound();
  57. }
  58.  
  59. return Ok(driver);
  60. }
  61.  
  62. // PUT: api/Drivers/5
  63. [HttpPut("{id}")]
  64. public async Task<IActionResult> PutDriver([FromRoute] int id, [FromBody] Driver driver)
  65. {
  66. if (!ModelState.IsValid)
  67. {
  68. return BadRequest(ModelState);
  69. }
  70.  
  71. if (id != driver.DriverID)
  72. {
  73. return BadRequest();
  74. }
  75.  
  76. _context.Entry(driver).State = EntityState.Modified;
  77.  
  78. try
  79. {
  80. await _context.SaveChangesAsync();
  81. }
  82. catch (DbUpdateConcurrencyException)
  83. {
  84. if (!DriverExists(id))
  85. {
  86. return NotFound();
  87. }
  88. else
  89. {
  90. throw;
  91. }
  92. }
  93.  
  94. return NoContent();
  95. }
  96.  
  97. // POST: api/Drivers
  98. [HttpPost]
  99. public async Task<IActionResult> PostDriver([FromBody] Driver driver)
  100. {
  101. if (!ModelState.IsValid)
  102. {
  103. return BadRequest(ModelState);
  104. }
  105.  
  106.  
  107. _context.Drivers.Add(driver);
  108. var result = _context.SaveChangesAsync();
  109.  
  110. return Ok(result);
  111. }
  112.  
  113. // DELETE: api/Drivers/5
  114. [HttpDelete("{id}")]
  115. public async Task<IActionResult> DeleteDriver([FromRoute] int id)
  116. {
  117. if (!ModelState.IsValid)
  118. {
  119. return BadRequest(ModelState);
  120. }
  121.  
  122. var driver = await _context.Drivers.SingleOrDefaultAsync(m => m.DriverID == id);
  123. if (driver == null)
  124. {
  125. return NotFound();
  126. }
  127.  
  128. _context.Drivers.Remove(driver);
  129. await _context.SaveChangesAsync();
  130.  
  131. return Ok(driver);
  132. }
  133.  
  134. private bool DriverExists(int id)
  135. {
  136. return _context.Drivers.Any(e => e.DriverID == id);
  137. }
  138.  
  139. }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement