Exemple #1
0
        public async Task RegisterDriverAsync(Driver driver, string password)
        {
            await driverRepository.AddAsync(driver);

            await driverRepository.SaveChangesAsync();

            await AddUserPasswordAsync(driver.ApplicationUser.User, password);
            await AddUserToRoleAsync(driver.ApplicationUser.User, Roles.DRIVER);
        }
Exemple #2
0
        public async Task CreateAsync(Guid userId)
        {
            var user = await _userRepository.GetOrFailAsync(userId);

            // var driver = await _driverRepository.GetAsync(userId);
            // if(driver != null)
            //     throw new ServiceException(Exceptions.ErrorCodes.DriverAlreadyExists,$"Driver with id '{driver.UserId}' already exists.");
            //driver = new Driver(user);
            var driver = new Driver(user);
            await _driverRepository.AddAsync(driver);
        }
Exemple #3
0
        public async Task AddAsDriverAsync(Guid id, Vehicle vehicle)
        {
            var driver = await _driverRepository.GetAsync(id);

            if (driver != null)
            {
                throw new Exception($"User with id: '{id} already exists.");
            }
            driver = new Driver(id, vehicle.Name, vehicle.Brand, vehicle.Seats);
            await _driverRepository.AddAsync(driver);
        }
Exemple #4
0
        /// <summary>
        /// Business logic for adding new driver
        /// </summary>
        /// <param name="driver">Driver data</param>
        /// <returns>True or false</returns>
        public async Task <bool> AddDriverAsync(DriverRequest data)
        {
            // Check if driver exists by DNI before adding
            var driver = await _driverRepository.GetDetailAsync(d => d.Dni.Equals(data.Dni));

            // If driver doesn´t exist, so add it
            if (driver == null)
            {
                return(await _driverRepository.AddAsync(data));
            }

            return(false);
        }
Exemple #5
0
        public async Task CreateAsync(Guid userId)
        {
            var user = await _userRepository.GetOrFailAsync(userId);

            var driver = await _driverRepository.GetAsync(userId);

            if (driver != null)
            {
                throw new Exception($"Driver with user id: '{userId}' already exists.");
            }
            driver = new Driver(user);
            await _driverRepository.AddAsync(driver);
        }
        public async Task CreateAsync(Guid userId)
        {
            var user = await _userRepository.GetUserOrFailAsync(userId);

            var driver = await _driverRepository.GetAsync(userId);

            if (driver != null)
            {
                throw new ServiceException(ErrorCode.DriverAlreadyExist, $"Driver with id: {userId} already exist");
            }

            driver = new Driver(user);
            await _driverRepository.AddAsync(driver);
        }
        public async Task <Unit> Handle(CreateDriverCommand request, CancellationToken cancellationToken)
        {
            var driver = await _driverRepository.GetAsync(request.UserId);

            if (driver != null)
            {
                throw new ArgumentException($"Driver with Id: {request.UserId} actual exist");
            }

            var _driver = new Driver(request.UserId, request.PhoneNumber);
            await _driverRepository.AddAsync(_driver);

            return(Unit.Value);
        }
Exemple #8
0
        public async Task CreateAsync(Guid userId)
        {
            var user = await _userRepository.GerOrFailAsync(userId);

            var driver = await _driverRepository.GetAsync(userId);

            if (driver != null)
            {
                throw new ServiceException(Exceptions.ErrorCodes.DriverAlreadyExisty, $"Selected User with id number: '{user.Id}' already is a driver.");
            }

            driver = new Driver(user);
            await _driverRepository.AddAsync(driver);
        }
        public async Task <DriveResponse> SaveAsync(Driver driver)
        {
            try
            {
                await _driverRepository.AddAsync(driver);

                await _unitOfWork.CompleteAsync();

                return(new DriveResponse(driver));
            }
            catch (Exception e)
            {
                return(new DriveResponse($"An error ocurred while saving the Driver: {e.Message}"));
            }
        }
Exemple #10
0
        public async Task CreateAsync(Guid userId)
        {
            var user = await _userRepository.GetAsync(userId);

            if (user == null)
            {
                throw new Exception($"user with {userId} was not found");
            }

            var driver = await _driverRepository.GetAsync(userId);

            if (driver != null)
            {
                throw new Exception($"driver with {driver.UserId} already exists");
            }
            driver = new Driver(user);
            await _driverRepository.AddAsync(driver);
        }
Exemple #11
0
        public async Task RegisterAsync(Guid userId, Vehicle vehicle)
        {
            User user = await userRepository.GetAsync(userId);

            if (user == null)
            {
                throw new Exception($"User with ID: '{userId}' was not found.");
            }

            Driver driver = await driverRepository.GetAsync(userId);

            if (driver != null)
            {
                throw new Exception($"Driver with user ID: '{userId}' already exists.");
            }

            driver = new Driver(user, vehicle);
            await driverRepository.AddAsync(driver);
        }
Exemple #12
0
        public async Task <IActionResult> Create([Bind("DriverID,UserID,Name,LicenseNumber")] Driver driver)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(Challenge());
            }

            var authResult = await _authorizationService.AuthorizeAsync(User, driver, "DriverInfoPolicy");

            if (!authResult.Succeeded)
            {
                return(Forbid());
            }

            if (ModelState.IsValid)
            {
                await _driverRepository.AddAsync(driver);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(driver));
        }
 public async Task <int> Post([FromBody] Driver driver)
 {
     driver.CarrierId = DefaultCarrierID;
     return(await _driverRepository.AddAsync(driver));
 }
        public async Task <int> Post([FromBody] Driver driver)
        {
            driver.CarrierId = await _securityContext.GetCarrierId(User.Identity);

            return(await _driverRepository.AddAsync(driver));
        }
Exemple #15
0
        public async Task <IActionResult> Post([FromBody] Driver driver)
        {
            await _driverRepository.AddAsync(driver);

            return(CreatedAtRoute("GetDriver", new { id = driver.DriverID }, driver));
        }