public List <DcsFuelInfo> GetFuelInfo(FuelInfoRequest fuelInfoRequest) { var fuelInfo = GetAll() .Where(c => c.DriverVehicle.Driver.DriverId == fuelInfoRequest.DriverId && (c.PacketTime >= fuelInfoRequest.FromDate && c.PacketTime <= fuelInfoRequest.ToDate)) .Include(i => i.DriverVehicle).ToList(); return(fuelInfo); }
public async Task <FuelInfoViewModel> GetFuelInfoAsync(FuelInfoRequest fuelInfoRequest) { var fuelInfo = await _fuelInfoRepository.GetFuelInfo(fuelInfoRequest).ConfigureAwait(false); var fuleInfoModelList = new List <FuelInfoModel>(); var refuelModelList = new List <FuelInfoModel>(); var leakageModelList = new List <FuelInfoModel>(); var theftModelList = new List <FuelInfoModel>(); double previousVolume = 0; foreach (var data in fuelInfo) { fuleInfoModelList.Add(new FuelInfoModel() { VehicleId = data.DriverVehicle.VehicleId, Volume = data.CurrentVolume, PacketTime = data.PacketTime }); if (data.RefuelVolume > 0) { refuelModelList.Add(new FuelInfoModel() { VehicleId = data.DriverVehicle.VehicleId, Volume = Math.Round(data.RefuelVolume, 2), PacketTime = data.PacketTime }); } if (previousVolume > 0 && (previousVolume - data.CurrentVolume) >= 5 && (previousVolume - data.CurrentVolume) <= 40) { leakageModelList.Add(new FuelInfoModel() { VehicleId = data.DriverVehicle.VehicleId, Volume = Math.Round(previousVolume - data.CurrentVolume, 2), PacketTime = data.PacketTime }); } if (previousVolume > 0 && data.RefuelVolume == 0 && (previousVolume - data.CurrentVolume) >= 50) { theftModelList.Add(new FuelInfoModel() { VehicleId = data.DriverVehicle.VehicleId, Volume = Math.Round(previousVolume - data.CurrentVolume, 2), PacketTime = data.PacketTime }); } previousVolume = data.CurrentVolume; } var fuelInfoViewModel = new FuelInfoViewModel() { FuelInfoModel = fuleInfoModelList, RefuelModel = refuelModelList, LeakageModel = leakageModelList, TheftModel = theftModelList }; return(fuelInfoViewModel); }
public async Task <IActionResult> GetAsync([FromQuery] FuelInfoRequest fuelInfoServiceRequest) { _logger.LogInformation($"Requesting fuel information from {this.GetControllerName()}"); var fuelInfoRequest = new Fuel.Domain.ViewModel.FuelInfoRequest() { DriverId = fuelInfoServiceRequest.DriverId, FromDate = fuelInfoServiceRequest.FromDate.Date, ToDate = fuelInfoServiceRequest.ToDate.Date }; var locations = await _fuelService.GetFuelInfoAsync(fuelInfoRequest).ConfigureAwait(false); return(Ok(locations)); }
public IActionResult Get([FromQuery, ModelBinder(Name = "FromDate")] FuelInfoServiceRequest fuelInfoServiceRequest) { //if (driverId == null || fromDate == null || toDate == null) //{ // return BadRequest("Invalid query parameters"); //} var dateFormat = "yyyy-MM-dd"; FuelInfoRequest fuelInfoRequest = new FuelInfoRequest() { DriverId = int.Parse(fuelInfoServiceRequest.DriverId), FromDate = fuelInfoServiceRequest.FromDate.ToDateTime(dateFormat, CultureInfo.CurrentCulture.Name), ToDate = fuelInfoServiceRequest.ToDate.ToDateTime(dateFormat, CultureInfo.CurrentCulture.Name) }; var locations = _fuelService.GetFuelInfo(fuelInfoRequest); return(Ok(locations)); }