public void DeleteEmployee(string userId)
        {
            var employee = GetEmployee(userId);

            if (employee.Id != null && DriverRepository.Remove(employee.Id) == false)
            {
                if (SupervisorRepository.Remove(employee.Id) == false)
                {
                    DispatcherRepository.Remove(employee.Id);
                }
            }
            PersistenceContext.SaveChanges();
        }
        public async Task <DispatcherResponse> DeleteAsync(int id)
        {
            var existing = await _dispatcherRepository.FindById(id);

            if (existing == null)
            {
                return(new DispatcherResponse("Dispatcher not found"));
            }
            try
            {
                _dispatcherRepository.Remove(existing);
                await _unitOfWork.CompleteAsync();

                return(new DispatcherResponse(existing));
            }
            catch (Exception e)
            {
                return(new DispatcherResponse($"An error ocurred while deleting the Dispatcher: {e.Message}"));
            }
        }