Example #1
0
        public void CreateDriver(DriverViewModel driverViewModel)
        {
            var driver = Mapper.Map <DriverViewModel, Driver_M>(driverViewModel);

            _driverRepository.Add(driver);
            SaveDriver();
        }
        public async Task <IActionResult> CreateNewDriver(TaxiDriver driver)
        {
            dbAccesed = db.Add(driver);
            await db.Save();

            return(RedirectToAction("AddDriver"));
        }
Example #3
0
        public async Task <ActionResult <Driver> > CreateDriver(Driver driver)
        {
            try
            {
                bool driverInStarWars = await StarWarsApi.GetDriverName(driver.Name);

                if (driverInStarWars)
                {
                    _repo.Add(driver);
                    if (await _repo.Save())
                    {
                        return(Created("/api/v1.0/drivers/" + driver.DriverId, new Driver {
                            DriverId = driver.DriverId, Name = driver.Name
                        }));
                    }
                    return(BadRequest());
                }
                else
                {
                    return(NoContent());
                }
            }
            catch (Exception e)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Database failure {e.Message}"));
            }
        }
Example #4
0
        public ResultDto Add([FromBody] DriverDto model)
        {
            if (!ModelState.IsValid)
            {
                return new ResultDto
                       {
                           Success = false,
                           Message = "NĆ£o foi possĆ­vel cadastrar a Motorista. Verifique se estĆ” preenchido corretamente."
                       }
            }
            ;

            var driver = new Driver(model.DriverId, model.Name, model.Age, model.Sex, model.NationalDrivingLicense, model.HaveTruck);

            _repository.Add(driver);

            var resultDriverDto = new ResultDriverDto(driver.DriverId, driver.Name, driver.Age, driver.Sex, driver.NationalDrivingLicense, driver.HaveTruck);

            return(new ResultDto
            {
                Success = true,
                Message = "Motorista cadastrado com sucesso.",
                Data = resultDriverDto
            });
        }
Example #5
0
        public Task <bool> Handle(RegisterNewDriverCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.FromResult(false));
            }

            var driver = new Driver()
            {
                Address     = message.Address,
                CarBrand    = message.CarBrand,
                CarModel    = message.CarModel,
                CarPlate    = message.CarPlate,
                LastName    = message.LastName,
                Name        = message.Name,
                Zipcode     = message.Zipcode,
                Coordinates = message.Coordinates
            };

            _driverRepository.Add(driver);

            if (Commit())
            {
                Bus.RaiseEvent(new DriverRegisteredEvent(driver.Id, driver.Name, driver.LastName, driver.CarModel, driver.CarBrand,
                                                         driver.CarPlate, driver.Zipcode, driver.Address, driver.Coordinates));
            }

            return(Task.FromResult(true));
        }
        public Task <object> Handle(CreateDriverCommand command, CancellationToken cancellationToken)
        {
            Driver driver = new Driver(
                id: null,
                name: new Model.ValueObject.Name(command.Name),
                code: new Model.ValueObject.Code(command.Code),
                phoneNumber: new Model.ValueObject.PhoneNumber(command.PhoneNumber),
                status: new Model.ValueObject.Status(command.Status),
                address: new Model.ValueObject.Address(
                    city: command.City,
                    country: command.Country,
                    district: command.District,
                    street: command.Street,
                    streetNumber: command.StreetNumber
                    ),
                dateOfBirth: new Model.ValueObject.Day(Convert.ToDateTime(command.DoB)),
                cardNumber: new Model.ValueObject.CardNumber(command.IDCardNumber),
                note: new Model.ValueObject.Note(command.Note),
                sex: new Model.ValueObject.Sex(command.Sex),
                startDate: new Model.ValueObject.Day(Convert.ToDateTime(command.StartDate)),
                userID: new Model.ValueObject.Identity(command.UserID),
                vehicleTypeID: new Model.ValueObject.VehicleTypeID(String.Join(',', command.VehicleTypeIDs))
                );

            var driverModel = _driverRepository.Add(driver);

            _bus.RaiseEvent(new DomainNotification("", "Create successfully!!", TypeNotification.Success));
            return(Task.FromResult(driverModel as object));
        }
Example #7
0
        /// <summary>
        /// <see cref="IDgtAppService"/>
        /// </summary>
        /// <returns><see cref="IDgtAppService"/></returns>
        public DriverDTO AddNewDriver(DriverDTO driverDTO)
        {
            if (driverDTO == null)
            {
                throw new ArgumentNullException("driverDTO");
            }

            // Check driver identifier is unique
            var identifierSpec           = DriverSpecifications.WithIdentifier(driverDTO.Identifier);
            var repeatedIdentifierDriver = _driverRepository.AllMatching(identifierSpec);

            if (repeatedIdentifierDriver != null && repeatedIdentifierDriver.Any())
            {
                throw new InvalidOperationException(String.Format(CommonMessages.exception_ItemAlreadyExistsWithProperty, Names.Driver, Names.Identifier, driverDTO.Identifier));
            }

            // Cast dto to driver and save
            var driver = MaterializeDriverFromDto(driverDTO);

            // Set initial points for new drivers
            driver.SetInitialPoints();

            driver.GenerateNewIdentity();
            driver.CreatedDate = DateTime.Now;
            driver.Validate();

            _driverRepository.Add(driver);
            _driverRepository.UnitOfWork.Commit();

            return(driver.ProjectedAs <DriverDTO>());
        }
Example #8
0
            public async Task <Unit> Handle(Data request, CancellationToken cancellationToken)
            {
                Guid _Id    = Guid.NewGuid();
                var  driver = new Driver
                {
                    Id          = _Id,
                    DNI         = request.DNI,
                    FirstName   = request.FirstName,
                    LastName    = request.LastName,
                    TotalPoints = request.TotalPoints,
                    LostPoints  = 0,
                    Status      = true
                };

                var findDNI = await _driverRepository.FindBy(f => f.DNI == driver.DNI);

                if (findDNI != null & findDNI.Count > 0)
                {
                    throw new ExceptionHandler(HttpStatusCode.Conflict, new { mensaje = "DNI existing in the database" });
                }

                _driverRepository.Add(driver);

                if (request.VehiclesList != null)
                {
                    if (request.VehiclesList.Count > 10)
                    {
                        throw new ExceptionHandler(HttpStatusCode.Conflict, new { mensaje = "Driver cannot be habitual of more than 10 vehicles." });
                    }

                    foreach (var id in request.VehiclesList)
                    {
                        var findVehicle = await _vehiclesRepository.FindBy(f => f.Id == id);

                        if (!findVehicle.Any())
                        {
                            throw new ExceptionHandler(HttpStatusCode.Conflict, new { mensaje = $"Vehicle does not exist: {id}." });
                        }

                        var driverVehicle = new DriverVehicle
                        {
                            Id        = Guid.NewGuid(),
                            DriverId  = driver.Id,
                            VehicleId = id
                        };
                        _driverVehicleRepository.Add(driverVehicle);
                    }
                }

                var value = await _driverRepository.Commit();

                if (value > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("The record was not inserted");
            }
Example #9
0
        internal static async Task <IEnumerable <Driver> > Insert(this IDriverRepository driverRepository, IEnumerable <Driver> data, CancellationToken cancellationToken)
        {
            var drivers = new List <Driver>();

            foreach (var item in data)
            {
                drivers.Add(await driverRepository.Add(item, cancellationToken));
            }

            return(drivers);
        }
        public HttpResponseMessage Post([FromBody] Driver driver)
        {
            HttpResponseMessage httpResponseMessage;

            driver.ModifiedDate = DateTime.Now;
            driver.CreatedDate  = DateTime.Now;
            var addedDriver = driverRepository.Add(driver);

            httpResponseMessage = Request.CreateResponse(HttpStatusCode.Created, addedDriver);
            httpResponseMessage.Headers.Location = new Uri($"{Request.RequestUri}/{addedDriver.Id}");
            return(httpResponseMessage);
        }
        public ActionResult Create_Post()
        {
            Driver driver = new Driver();

            TryUpdateModel <Driver>(driver);

            if (ModelState.IsValid)
            {
                repository.Add(driver);
                return(RedirectToAction("Index"));
            }
            return(View());
        }
Example #12
0
        public async Task <Result> Add(DriverDTO model)
        {
            try
            {
                await _repository.Add(_mapper.Map <DriverDAL>(model));

                return(Result.Success());
            }
            catch (OleDbException e)
            {
                return(Result.Failure <IEnumerable <DriverDTO> >(e.Message));
            }
        }
        public async Task <Driver> Handle(AddDriverCommand request, CancellationToken cancellationToken)
        {
            var driver = request.ToEntity();

            var notifications = driver.Validate();

            if (notifications.Any())
            {
                await notificationService.Notify(notifications);

                return(null);
            }

            return(await driverRepository.Add(driver, cancellationToken));
        }
Example #14
0
        public IActionResult CreateDriver([FromBody] DriverRequest driver)
        {
            var driverToAdd = new DriverRegistry
            {
                Name             = driver.Name,
                Vehicle          = driver.Vehicle,
                Address          = driver.Address,
                FetchGeolocation = true,
                LastUpdated      = DateTime.UtcNow
            };

            _driverRepository.Add(driverToAdd);

            //For some reason, CreatedAtAction acts weird when I remove the 'value' parameter. It returns a wrong route to the 'location' header.
            return(CreatedAtAction(nameof(GetDriver), new { id = driverToAdd.Id }, driverToAdd));
        }
Example #15
0
        public async Task CreateAsync(Guid id)
        {
            var user = await _Userrepository.UserGetOrFail(id);


            var driver = await _driverrepositroy.Get(id);

            if (driver != null)
            {
                //second parametr is only extra communicate , the most imporatant is fisrt paramter which is erroCode
                //errorCode can be capture and handle very easily on the client side
                throw new ServiceException(ErrorCode.InvalidDriver, "Driver with this id alredy exist");
            }
            driver = new Driver(user);
            await _driverrepositroy.Add(driver);
        }
Example #16
0
        public async Task <ActionResult <DriverDto> > PostDriver(DriverDto driver)
        {
            if (driver == null)
            {
                return(BadRequest());
            }

            var driverObj = await _repo.GetById(driver.DriverId);

            if (driverObj != null)
            {
                ModelState.AddModelError("DriverID Error", "DriverID is already registered");
                return(BadRequest(ModelState));
            }

            await _repo.Add(driver);

            return(CreatedAtAction("GetById", new { id = driver.DriverId }, driver));
        }
        public async Task <IActionResult> PostDriver([FromBody] Driver driver)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // if driver id is not set at the json.
            if (driver.Id == 0)
            {
                int totalDrivers = _customerRepository.GetAll().Count();
                driver.Id = totalDrivers + 1;
            }


            await _customerRepository.Add(driver);

            return(CreatedAtAction("GetDriver", new { id = driver.Id }, driver));
        }
Example #18
0
        public ActionResult <Driver> AddDriver(DriverDTO driverDTO)
        {
            Driver existingDriver = _driverRepository.GetByName(driverDTO.Name);

            if (existingDriver != null)
            {
                return(BadRequest($"Chauffeur met de naam '{driverDTO.Name}' bestaat al!"));
            }

            try
            {
                Driver newDriver = new Driver(driverDTO.Name);

                _driverRepository.Add(newDriver);
                _driverRepository.SaveChanges();

                return(Ok(newDriver));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
 public override bool Add(Driver driver)
 {
     if (string.IsNullOrEmpty(driver.Name))
     {
         throw new Exception("Driver Name is not provided!");
     }
     if (string.IsNullOrEmpty(driver.MobileNo))
     {
         throw new Exception("Driver mobile no is not provided!");
     }
     if (string.IsNullOrEmpty(driver.LicenceNo))
     {
         throw new Exception("Driving licence is not provided!");
     }
     if (string.IsNullOrEmpty(driver.NID))
     {
         throw new Exception("NID no is not provided!");
     }
     if (string.IsNullOrEmpty(driver.Address))
     {
         throw new Exception("Please write present address!");
     }
     return(_repository.Add(driver));
 }
Example #20
0
 // method implementations
 public void CreateDriver(Driver driver)
 {
     driversRepository.Add(driver);
 }
Example #21
0
 public void CreateDriver(Driver driver)
 {
     driverRepository.Add(driver);
     SaveDriver();
 }
Example #22
0
 public Driver Add(Driver driver)
 {
     return(_driverRepository.Add(driver));
 }