public async Task <ActionResult> PostAsync([FromBody] ModifyDriverDto driverInfo) { var command = new CreateDriverCommand(driverInfo); await _mediator.Send(command); return(Ok()); }
public async Task <IActionResult> Post([FromBody] CreateDriverCommand command) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var response = await this._mediator.Send(command); return(this.Created(Url.RouteUrl("GetDriverById", new { id = response.Id }), new { id = response.Id })); }
public Task <CreateDriverResponse> Create(CreateDriverRequest request) { var response = new CreateDriverResponse(); try { var existCode = _driverService.checkExist(request.Driver.Code); if (existCode) { return(Task.FromResult(new CreateDriverResponse { Success = false, Message = "TrĂ¹ng code" })); } CreateDriverCommand vehicleCommand = new CreateDriverCommand { City = request.Driver.Address.City, Country = request.Driver.Address.Country, District = request.Driver.Address.District, Street = request.Driver.Address.Street, StreetNumber = request.Driver.Address.StreetNumber, Code = request.Driver.Code, Name = request.Driver.Name, Note = request.Driver.Note, PhoneNumber = request.Driver.PhoneNumber, Sex = request.Driver.Sex, Status = request.Driver.Status, IDCardNumber = request.Driver.IDCardNumber, DoB = DateTime.ParseExact(request.Driver.DoB, "dd/MM/yyyy", null), StartDate = DateTime.ParseExact(request.Driver.StartDate, "dd/MM/yyyy", null), VehicleTypeIDs = String.Join(',', request.Driver.VehicleTypeIDs.OrderBy(x => x)) }; var result = _bus.SendCommand(vehicleCommand); Task <object> status = result as Task <object>; var driver = (DriverModel)status.Result; return(Task.FromResult(new CreateDriverResponse { Data = driver.Id, Message = "", Success = true })); } catch (Exception ex) { return(Task.FromResult(new CreateDriverResponse { Message = ex.Message, Success = false })); } }
public IActionResult PostDriver([FromBody] CreateDriverCommand createDriverCommand) { if (createDriverCommand == null) { return(BadRequest()); } Guid driverId = Guid.Empty; _commandDispatcher.Send(createDriverCommand, out driverId); var driverToReturn = _mapper.Map <DriverResult>(createDriverCommand); driverToReturn.DriverId = driverId; return(CreatedAtRoute("GetDriver", new { driverId = driverId }, driverToReturn)); }
public async Task when_invoke_create_driver_and_driver_not_exist_command_handler_should_not_be_null() { var driverRepositoryMock = new Mock <IDriverRepository>(); var nodeManagerMock = new Mock <INodeManager>(); driverRepositoryMock.Setup(x => x.GetAsync(It.IsAny <Guid>())).ReturnsAsync(() => null); var command = new CreateDriverCommand("123123") { UserId = Guid.NewGuid() }; var commandHandler = new CreateDriverCommandHandler(nodeManagerMock.Object, driverRepositoryMock.Object); var result = await commandHandler.Handle(command, CancellationToken.None); result.Should().NotBeNull(); }
public async Task <IActionResult> CreateDriver(CreateDriverCommand request) { try { var result = await Mediator.Send(request); return(Ok(result)); } catch (DriverExistsException) { return(BadRequest($"The driver with DNI '{request.Dni}' already exists.")); } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task when_invoke_create_driver_command_handler_and_driver_exist_should_throw_exception() { var driverRepositoryMock = new Mock <IDriverRepository>(); var nodeManagerMock = new Mock <INodeManager>(); var driver = new Driver(Guid.NewGuid(), "123123123123"); driverRepositoryMock.Setup(x => x.GetAsync(It.IsAny <Guid>())).ReturnsAsync(() => driver); var command = new CreateDriverCommand("123123") { UserId = Guid.NewGuid() }; var commandHandler = new CreateDriverCommandHandler(nodeManagerMock.Object, driverRepositoryMock.Object); Func <Task> act = async() => await commandHandler.Handle(command, CancellationToken.None); act.Should().Throw <Exception>(); }
public async Task Handle_WithData_FetchesCoorinatesAndCreatesDriver() { // Arrange var handler = new CreateDriverCommandHandler(_driverContext, _mapper, _geocoder); var command = new CreateDriverCommand(new ModifyDriverDto { FirstName = "Fulano", LastName = "da Silva", CarBrand = "Ford", CarModel = "Focus", CarRegistrationPlate = "LUJ1234", AddressLine1 = "Av Brasil, 9020", AddressLine2 = "Olaria", AddressMunicipality = "Rio de Janeiro", AddressState = "RJ", AddressZipCode = "21030-001" }); // Act await handler.Handle(command, CancellationToken.None); // Assert var driver = await _driverContext.Drivers.FirstAsync(); Assert.Equal("Fulano", driver.FirstName); Assert.Equal("da Silva", driver.LastName); Assert.Equal("Ford", driver.Car.Brand); Assert.Equal("Focus", driver.Car.Model); Assert.Equal("LUJ1234", driver.Car.RegistrationPlate); Assert.Equal("Av Brasil, 9020", driver.Address.Line1); Assert.Equal("Olaria", driver.Address.Line2); Assert.Equal("Rio de Janeiro", driver.Address.Municipality); Assert.Equal("RJ", driver.Address.State); Assert.Equal("21030-001", driver.Address.ZipCode); Assert.Equal(10, driver.Address.Coordinates.Latitude); Assert.Equal(-10, driver.Address.Coordinates.Longitude); }
public async Task <IActionResult> Post([FromBody] CreateDriverCommand command) { await Send(command); return(NoContent()); }
public async Task CreateDriver([FromBody] CreateDriverCommand command) => await Mediator.Send(command);
public CreateDriverCommandTests() { context.Setup(c => c.Dirvers).Returns(driverSet); sut = new CreateDriverCommand(context.Object); }