Esempio n. 1
0
        public async Task <IActionResult> AddVehiclePosition([FromBody] VehicleLocationDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Vehicle vehicle = await GetVehicle(model.TrackingId);

            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (userId != vehicle.UserId)
            {
                return(StatusCode(403));
            }

            if (vehicle == null)
            {
                return(BadRequest(new ApiResponse
                {
                    Code = ResponseEnum.InvalidVehicleId.ResponseCode(),
                    Description = ResponseEnum.InvalidVehicleId.DisplayName(),
                }));
            }
            await _vehicleTrackingService.AddVehiclePosition(model, vehicle.Id);

            return(Ok(new ApiResponse
            {
                Code = ResponseEnum.ApprovedOrCompletedSuccesfully.ResponseCode(),
                Description = ResponseEnum.ApprovedOrCompletedSuccesfully.DisplayName()
            }));
        }
Esempio n. 2
0
 public async Task AddVehiclePosition(VehicleLocationDto vehicleLocation, int id)
 {
     var location = new Location
     {
         LocationCordinates = JsonConvert.SerializeObject(vehicleLocation.LatLonPoint),
         DateTime           = DateTime.Now,
         VehicleId          = id
     };
     await _locationRepository.AddVehiclePosition(location);
 }