public IActionResult DeleteDriver([FromBody] DriverRequest driverRequest) { var driver = _mapper.Map <Driver>(driverRequest); _driverServices.Remove(driver); return(Ok()); }
public IActionResult AddDriver([FromBody] DriverRequest driverRequest) { var driver = _mapper.Map <Driver>(driverRequest); _driverServices.Add(driver); var driverResponse = _mapper.Map <DriverResponse>(driver); return(Ok(driverResponse)); }
public async Task <IActionResult> Put(int id, [FromBody] DriverRequest data) { var response = await _driverService.UpdateDriverAsync(id, data); if (response) { return(Ok(response)); } return(NotFound(null)); }
public async Task <IActionResult> Post([FromBody] DriverRequest data) { var response = await _driverService.AddDriverAsync(data); if (response) { return(Ok(response)); } return(NotFound(null)); }
/// <summary> /// Updates driver from database table /// </summary> /// <param name="id">Driver id</param> /// <param name="driver">Driver data</param> /// <returns>True or false</returns> public async Task <bool> UpdateAsync(int id, DriverRequest data) { var driver = _db.Drivers.Single(d => d.DriverId == id); driver.Dni = data.Dni; driver.Name = data.Name; driver.LastName = data.LastName; driver.Points = data.Points; driver.UpdatedOn = DateTime.Now; return((await _db.SaveChangesAsync()) > 0); }
/// <summary> /// Business logic for adding new driver /// </summary> /// <param name="driver">Driver data</param> /// <returns>True or false</returns> public async Task <bool> AddDriverAsync(DriverRequest data) { // Check if driver exists by DNI before adding var driver = await _driverRepository.GetDetailAsync(d => d.Dni.Equals(data.Dni)); // If driver doesn´t exist, so add it if (driver == null) { return(await _driverRepository.AddAsync(data)); } return(false); }
public IActionResult CreateDriver([FromBody] DriverRequest driver) { var driverToAdd = new DriverRegistry { Name = driver.Name, Vehicle = driver.Vehicle, Address = driver.Address, FetchGeolocation = true, LastUpdated = DateTime.UtcNow }; _driverRepository.Add(driverToAdd); //For some reason, CreatedAtAction acts weird when I remove the 'value' parameter. It returns a wrong route to the 'location' header. return(CreatedAtAction(nameof(GetDriver), new { id = driverToAdd.Id }, driverToAdd)); }
/// <summary> /// Adds driver into database table /// </summary> /// <param name="driver">Driver data</param> /// <returns>True or false</returns> public async Task <bool> AddAsync(DriverRequest data) { var driver = new Driver { Dni = data.Dni, Name = data.Name, LastName = data.LastName, Points = data.Points, CreatedOn = DateTime.Now, UpdatedOn = DateTime.Now }; _db.Drivers.Add(driver); return((await _db.SaveChangesAsync()) > 0); }
public IActionResult UpdateDriver(string id, [FromBody] DriverRequest driver) { var driverToUpdate = new DriverRegistry { Id = id, Name = driver.Name, Vehicle = driver.Vehicle, Address = driver.Address, FetchGeolocation = true, LastUpdated = DateTime.UtcNow }; _driverRepository.Update(driverToUpdate); //Here CreatedAtAction acts normal with or without the 'value' parameter. But I will keep it here for the sake of consistency. return(CreatedAtAction(nameof(GetDriver), new { id = driverToUpdate.Id }, driverToUpdate)); }
/// <summary> /// Business logic for updating driver /// </summary> /// <param name="id">Driver id</param> /// <param name="driver">Driver data</param> /// <returns></returns> public async Task <bool> UpdateDriverAsync(int id, DriverRequest data) { return(await _driverRepository.UpdateAsync(id, data)); }
public ActionResult SendRequest(DriverRequest request) { helper.SendRequest(request); return(View("Index", new DriverRequest())); }
public ActionResult Index() { var t = new DriverRequest(); return(View(t)); }