示例#1
0
        private void DeleteVehicleOnSearch(object sender, Form.SubmittedEventArgs e)
        {
            var rego = e.Data.Get <string>("Registration").ToUpper();

            if (!RegoRegex.IsMatch(rego))
            {
                e.Result = "Invalid rego";
                return;
            }

            if (_fleet.Vehicles.All(v => v.Registration != rego))
            {
                e.Result = "No vehicle with that rego";
                return;
            }

            if (_fleet.IsRented(rego))
            {
                e.Result = "Vehicle is under rent";
                return;
            }

            var vehicle = _fleet.Vehicles.First(v => v.Registration == rego);

            var confirmForm = DeleteVehicle.GetComponent <Form>("confirm");

            confirmForm.Set("Registration", rego);
            confirmForm.Set("Make", vehicle.Make);
            confirmForm.Set("Model", vehicle.Model);
            confirmForm.Set("Year", vehicle.Year.ToString());

            DeleteVehicle.ActiveComponent = "confirm";
        }
示例#2
0
        private void DeleteVehicleClick(object sender, RoutedEventArgs e)
        {
            DeleteVehicle _deleteVehicle = new DeleteVehicle();

            _deleteVehicle.Show();
            this.Close();
        }
示例#3
0
        public async Task <ActionResult <MutationResult> > DeleteAsync(string id)
        {
            var mutation = new DeleteVehicle {
                Id = id
            };

            return(GetResult(await _mutationsHanlder.Handle(mutation)));
        }
        public IActionResult DeleteVehicle(Guid vehicleId)
        {
            {
                var command = new DeleteVehicle(vehicleId);
                commandBus.AddCommand(command);
                commandBus.InvokeCommandsQueue();

                return(Ok());
            }
        }
示例#5
0
        public void AndExceptionThrown_ThenWrapsException()
        {
            _vehicleRepo
            .Setup(vr => vr.GetVehicle(It.IsAny <int>(), It.IsAny <int>()))
            .Throws(new InvalidOperationException());

            var handler = new DeleteVehicle(_vehicleRepo.Object);

            var ex = Assert.Throws <BusinessServicesException>(() => handler.Execute(UserId, DefaultVehicleId));

            Assert.IsType <InvalidOperationException>(ex.InnerException);
        }
示例#6
0
        public void AndVehicleDoesNotExist_ThenThrows()
        {
            // this is the same test as FromOtherUser_ThenThrows

            // the repo throws an exception when it can't find a match with both the user and the vehicle
            _vehicleRepo
            .Setup(vr => vr.GetVehicle(UserId, It.IsAny <int>()))
            .Throws(new InvalidOperationException());

            var handler = new DeleteVehicle(_vehicleRepo.Object);

            Assert.Throws <BusinessServicesException>(() => handler.Execute(UserId, DefaultVehicleId));
        }
示例#7
0
        public void FromOtherUser_ThenThrows()
        {
            const int someOtherUserId = 12;

            // the repo throws an exception when it can't find a match with both the user and the vehicle
            _vehicleRepo
            .Setup(vr => vr.GetVehicle(someOtherUserId, DefaultVehicleId))
            .Throws(new InvalidOperationException());

            var handler = new DeleteVehicle(_vehicleRepo.Object);

            Assert.Throws <BusinessServicesException>(() => handler.Execute(someOtherUserId, DefaultVehicleId));
        }
示例#8
0
 public FleetManager(Fleet fleet, CustomerResourceManager crm)
 {
     _fleet = fleet;
     _crm   = crm;
     AddVehicle.Submitted += AddVehicleOnSubmitted;
     FleetSearch.GetComponent <Form>("initial search").Submitted += FleetSearchOnSearch;
     FleetSearch.GetComponent <Form>("customer list").Submitted  += FleetSearchOnSearch;
     ModifyVehicle.GetComponent <Form>("search").Submitted       += ModifyVehicleOnSearch;
     ModifyVehicle.GetComponent <Form>("modify").Submitted       += ModifyVehicleOnSubmit;
     DeleteVehicle.GetComponent <Form>("select").Submitted       += DeleteVehicleOnSearch;
     DeleteVehicle.GetComponent <Form>("confirm").Submitted      += DeleteVehicleOnSubmitted;
     RentVehicle.Submitted   += RentVehicleOnSubmitted;
     ReturnVehicle.Submitted += ReturnVehicleOnSubmitted;
     VehicleReport.PreRender += VehicleReportOnFocused;
 }
示例#9
0
        public void CommandValid_VehicleDeleted()
        {
            var modelId              = InsertModelToDatabase();
            var vehicleId            = InsertVehicleToDatabase(modelId);
            var deleteVehicleCommand = new DeleteVehicle(vehicleId);

            A.CallTo(() => deleteVehicleValidator.Validate(deleteVehicleCommand)).DoesNothing();

            deleteVehicleHandler.Handle(deleteVehicleCommand);

            context.SaveChanges();
            var result = context.Vehicle.FirstOrDefault(m => m.Id == deleteVehicleCommand.Id);

            A.CallTo(() => deleteVehicleValidator.Validate(deleteVehicleCommand)).MustHaveHappened(Repeated.Exactly.Once);
            Assert.Null(result);
        }
示例#10
0
        public void ThenDelegatesToVehicleRepository()
        {
            var vehicle = new Model.Vehicle {
                VehicleId = DefaultVehicleId, Name = "Name"
            };

            _vehicleRepo
            .Setup(vr => vr.GetVehicle(UserId, DefaultVehicleId))
            .Returns(vehicle);

            var handler = new DeleteVehicle(_vehicleRepo.Object);

            handler.Execute(UserId, DefaultVehicleId);

            _vehicleRepo.Verify(r => r.Delete(DefaultVehicleId), Times.Once());
        }
示例#11
0
        public void ValidatorThrowsException_HandlerThrowsException()
        {
            var modelId              = InsertModelToDatabase();
            var vehicleId            = InsertVehicleToDatabase(modelId);
            var deleteVehicleCommand = new DeleteVehicle(vehicleId);

            A.CallTo(() => deleteVehicleValidator.Validate(deleteVehicleCommand)).Throws <Exception>();

            Assert.ThrowsAny <Exception>(() => deleteVehicleHandler.Handle(deleteVehicleCommand));
            A.CallTo(() => deleteVehicleValidator.Validate(deleteVehicleCommand)).MustHaveHappened(Repeated.Exactly.Once);

            context.SaveChanges();
            var result = context.Vehicle.FirstOrDefault(m => m.Id == deleteVehicleCommand.Id);

            Assert.NotNull(result);
            Assert.Equal(result.Id, vehicleId);
            Assert.Equal(result.ModelNameId, modelId);
        }
示例#12
0
        public async void DeleteVehicle(
            EStatusCode expectedStatus,
            DeleteVehicle mutation
            )
        {
            if (expectedStatus != EStatusCode.NotFound)
            {
                EntitiesFactory.NewVehicle(id: mutation.Id).Save();
            }

            var result = await MutationsHandler.Handle(mutation);

            Assert.Equal(expectedStatus, result.Status);
            if (expectedStatus == EStatusCode.Success)
            {
                var exists = await MutationsDbContext.Vehicles.AnyAsync(v => v.Id == mutation.Id);

                Assert.False(exists);
            }
        }
示例#13
0
 public ActionResult Delete(Vehicle vehicle)
 {
     try
     {
         var getVehicle = new GetVehicle()
         {
             Id = vehicle.Id
         };
         var response = mediator.Send(getVehicle).Result;
         var request  = new DeleteVehicle()
         {
             Id = vehicle.Id
         };
         mediator.Send(request);
         return(RedirectToAction(nameof(Index), new { id = response.OwnerId }));
     }
     catch
     {
         return(View());
     }
 }
 public DeleteVehicleController(DeleteVehicle deleteVehicle)
 {
     this.deleteVehicle = deleteVehicle;
 }