public RefuelDetailsVm GetRefuelById(string refuelingId)
        {
            Refueling       refueling = _vehicleRepository.GetRefuelingById(refuelingId);
            RefuelDetailsVm result    = _mapper.Map <RefuelDetailsVm>(refueling);

            if (result is null)
            {
                return(null);
            }
            return(result);
        }
        public IActionResult RefuelingDetails(string id)
        {
            RefuelDetailsVm refueling = _vehicleService.GetRefuelById(id);

            if (refueling == null)
            {
                ViewBag.NullVehicles = "Nie znaleziono takiego tankowania";
                return(View());
            }
            refueling.VehicleName    = _vehicleService.GetVehicleNameById(refueling.VehicleId);
            refueling.UnitOfFuelName = _vehicleService.GetUnitsOfFuelNameById(refueling.UnitOfFuelId);
            refueling.FuelName       = _vehicleService.GetFuelNameById(refueling.FuelForRefuelingId);
            return(View(refueling));
        }
        public IActionResult RemoveRefueling(RefuelDetailsVm refueling)
        {
            var vehicleId = refueling.VehicleId;

            if (refueling == null)
            {
                TempData["InCorrectOperation"] = "Nie udało się usunąć tankowania";
                return(RedirectToAction("VehicleHistory", "Vehicle", new { id = refueling.VehicleId }));
            }
            bool isRemove = _vehicleService.DeleteRefueling(refueling.Id);

            if (isRemove == true)
            {
                TempData["CorrectOperation"] = $"Pomyślnie usunąłeś tankowanie z dnia {refueling.CreateDate}";
                return(RedirectToAction("VehicleHistory", "Vehicle", new { id = vehicleId }));
            }
            return(RedirectToAction("VehicleHistory", "Vehicle", new { id = vehicleId }));
        }
        public void ShouldReturnMillageBeforeEvent()
        {
            //Arrange
            var firstRefueling = new RefuelDetailsVm()
            {
                Id = "1", IsActive = true, VehicleId = 1, MeterStatus = 1500
            };
            var secondRefueling = new RefuelDetailsVm()
            {
                Id = "2", IsActive = true, VehicleId = 1, MeterStatus = 1200
            };
            var thirdRefueling = new RefuelDetailsVm()
            {
                Id = "3", IsActive = true, VehicleId = 1, MeterStatus = 3500
            };
            var forthRefueling = new RefuelDetailsVm()
            {
                Id = "2", IsActive = true, VehicleId = 1, MeterStatus = 1430
            };
            var listRefuelings      = new List <RefuelDetailsVm>();
            var listRefuelingsEmpty = new List <RefuelDetailsVm>();

            listRefuelings.Add(firstRefueling);
            listRefuelings.Add(secondRefueling);
            listRefuelings.Add(thirdRefueling);
            listRefuelings.Add(forthRefueling);
            //Act
            var millageBeforeEvent     = VehicleServiceHelpers.GetMillageBeforeEvent(listRefuelings);
            var millageBeforeEventZero = VehicleServiceHelpers.GetMillageBeforeEvent(listRefuelingsEmpty);

            //Assert
            millageBeforeEvent.Should().Be(1500);
            millageBeforeEvent.Should().BePositive();
            millageBeforeEvent.Should().NotBe(0);
            millageBeforeEventZero.Should().Be(0);
        }