public IActionResult CreateDriver([FromBody] DriverForCreationDto driverInfo) { var driverError = "Please look at your data and make sure it's not empty, incorrect, or has values that are the same!"; Driver driver = new Driver(); if (driverInfo == null) { return(BadRequest(driverError)); } driver.Name = driverInfo.Name; if (driverInfo.Name == null) { return(StatusCode(500, "The name is invalid or too long!")); } driver.CreatedAtDate = DateTime.Now; driver.UpdatedAtDate = driver.CreatedAtDate; if (!_driverInfoRepository.Save()) { return(StatusCode(500, "A problem happened while handling your request.")); } return(Ok(driver)); }
public async Task <IActionResult> AddDriver([FromBody] DriverForCreationDto driverForCreationDto) { try { if (driverForCreationDto == null) { //_logger.LogError("Owner object sent from client is null."); return(BadRequest("Driver object is null")); } if (!ModelState.IsValid) { //_logger.LogError("Invalid owner object sent from client."); return(BadRequest("Invalid model object")); } var driverEntity = _mapper.Map <Driver>(driverForCreationDto); await _repo.AddDriver(driverEntity); var createdDriver = _mapper.Map <Driver>(driverEntity); return(CreatedAtRoute("GetDriver", new { id = createdDriver.Id }, createdDriver)); } catch (Exception ex) { //_logger.LogError($"Something went wrong inside CreateOwner action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public IActionResult PartiallyUpdateDriver([FromRoute] int driverId, [FromBody] DriverForCreationDto patchDriver) { if (patchDriver == null) { return(BadRequest()); } var DriverEntity = _driverInfoRepository.GetDriver(driverId); if (DriverEntity == null) { return(StatusCode(500, "The driver you requested is not in the database")); } if (patchDriver.Name != null) { if (patchDriver.Name.Length > 50) { return(StatusCode(500, "The name is too long")); } DriverEntity.Name = patchDriver.Name; } if (patchDriver.CreatedAtDate != null) { DriverEntity.CreatedAtDate = patchDriver.CreatedAtDate; } DriverEntity.UpdatedAtDate = DateTime.Now; if (!_driverInfoRepository.Save()) { return(StatusCode(500, "Something happened while handling the request")); } return(Ok(DriverEntity)); }
public IActionResult UpdateDriver([FromRoute] int driverId, [FromBody] DriverForCreationDto driverEdit) { var driverToEdit = _driverInfoRepository.GetDriver(driverId); Driver driver = new Driver(); if (driverToEdit == null) { return(NotFound()); } if (driverToEdit.Name != driverEdit.Name) { if (driverEdit.Name.Length > 50 || driverToEdit.Name == null) { return(StatusCode(500, "The name is too long, also make sure it's entered")); } driverToEdit.Name = driverEdit.Name; } if (driverToEdit.CreatedAtDate != driverEdit.CreatedAtDate) { if (driverEdit.CreatedAtDate == null) { return(StatusCode(500, "Please check the date you entered")); } driverToEdit.CreatedAtDate = driverEdit.CreatedAtDate; } driverToEdit.UpdatedAtDate = DateTime.Now; if (!_driverInfoRepository.Save()) { return(StatusCode(500, "Internal Server Error, I am sorry to inform you!")); } return(Ok(driverToEdit)); }