public async Task BlowVehicle(VehicleTripRegistrationDTO blowVehicleDetails) { var BlowBus = new VehicleTripRegistration { PhysicalBusRegistrationNumber = blowVehicleDetails.PhysicalBusRegistrationNumber, DepartureDate = DateTime.UtcNow.Date, DriverCode = blowVehicleDetails.DriverCode, IsBlownBus = true, IsVirtualBus = false, JourneyType = JourneyType.Blown, ManifestPrinted = true, TripId = blowVehicleDetails.TripId }; _repo.Insert(BlowBus); //await _unitOfWork.SaveChangesAsync(); //var vehicleTrip = await GetVehicleTripRegistrationDTO(blowVehicleDetails.TripId); //this is blow var journeyManagement = new JourneyManagement { VehicleTripRegistrationId = BlowBus.Id, JourneyStatus = JourneyStatus.InTransit, JourneyType = JourneyType.Blown, JourneyDate = BlowBus?.DepartureDate ?? Clock.Now }; _journeyManagementRepo.Insert(journeyManagement); await _unitOfWork.SaveChangesAsync(); }
public async Task CreatePhysicalBus(TerminalBookingDTO physicalbus) { var trip = await _tripSvc.GetTripById(physicalbus.TripId); var vehicle = await _vehicleSvc.GetVehicleById(physicalbus.VehicleId); DateTime departuredate = Clock.Now.Date; var asignedVehicleDto = await _vehicleSvc.GetVehiclesByRegNum(vehicle.RegistrationNumber); if (asignedVehicleDto == null) { throw await _serviceHelper.GetExceptionAsync(ErrorConstants.VEHICLE_NOT_EXIST); } var assignedVehicle = await _vehicleSvc.GetVehicleById(physicalbus.VehicleId); var email = await _userManagerSvc.FindByNameAsync(_serviceHelper.GetCurrentUserEmail()); var employee = await _employeeSvc.GetEmployeesByemailAsync(email.Email); if (employee != null && employee.TerminalId != null && assignedVehicle.VehicleStatus != VehicleStatus.InWorkshop) { assignedVehicle.LocationId = employee.TerminalId; } //assignedVehicle.Location = null; if (assignedVehicle != null && assignedVehicle.VehicleStatus != VehicleStatus.InWorkshop) { assignedVehicle.VehicleStatus = VehicleStatus.TerminalUse; } if (assignedVehicle != null && assignedVehicle.VehicleStatus == VehicleStatus.InWorkshop) { assignedVehicle.VehicleStatus = VehicleStatus.InWorkshopAndAssigned; } //Get assigned Captain and Update var assignedCaptainDto = await _driverSvc.GetActiveDriverByCodeAsync(physicalbus.DriverCode); if (assignedCaptainDto == null) { throw await _serviceHelper.GetExceptionAsync(ErrorConstants.DRIVER_NOT_EXIST); } var assignedDrv = await _driverSvc.GetAsync(assignedCaptainDto.Id); var phyBus = new VehicleTripRegistration { PhysicalBusRegistrationNumber = vehicle.RegistrationNumber, DepartureDate = departuredate, TripId = physicalbus.TripId, DriverCode = physicalbus.DriverCode, VehicleModelId = trip.VehicleModelId, IsVirtualBus = false, JourneyType = JourneyType.Loaded }; if (assignedDrv.DriverType == DriverType.Virtual) { if (string.IsNullOrEmpty(physicalbus.OriginalDriverCode)) { throw new LMEGenericException("Could not create vehicle because you did not choose the original captain that will take the trip"); } phyBus.OriginalDriverCode = physicalbus.OriginalDriverCode; } else { phyBus.OriginalDriverCode = ""; } _repo.Insert(phyBus); await _unitOfWork.SaveChangesAsync(); }
public void Add(VehicleTripRegistration entity) { _repo.Insert(entity); }