Ejemplo n.º 1
0
        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"));
            }
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }