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));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        public async Task <IActionResult> Post([FromBody] DriverRequest data)
        {
            var response = await _driverService.AddDriverAsync(data);

            if (response)
            {
                return(Ok(response));
            }

            return(NotFound(null));
        }
Exemple #5
0
        /// <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);
        }
Exemple #6
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);
        }
Exemple #7
0
        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));
        }
Exemple #8
0
        /// <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);
        }
Exemple #9
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));
        }
Exemple #10
0
 /// <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));
        }