Пример #1
0
        public async void VehicleDriverUpdate()
        {
            // Arrange
            this.FleetDbContext.Vehicles.Add(new VehicleEntity()
            {
                VehicleId = 1, VehicleDriverId = 1, VehicleDriverAssignmentId = 1
            });
            this.FleetDbContext.VehicleDriverAssignments.Add(
                new VehicleDriverAssignmentEntity()
            {
                VehicleDriverAssignmentId = 1, VehicleDriverId = 2, VehicleId = 1
            });
            await this.SaveChangesAsync(this.FleetDbContext);

            VehicleDriverAssignmentModel model = new VehicleDriverAssignmentModel()
            {
                VehicleDriverAssignmentId = 1, VehicleDriverId = 2, VehicleId = 1, AssignmentStartDate = new DateTime(2016, 1, 1), AssignmentEndDate = new DateTime(2016, 1, 31)
            };

            // Act
            AjaxModel <NTModel> ajaxModel = await this.Controller.VehicleDriverUpdate(model);

            // Assert
            VehicleEntity vehicle = await this.FleetDbContext.Vehicles.FirstAsync();

            VehicleDriverAssignmentEntity driverAssignment = await this.FleetDbContext.VehicleDriverAssignments.FirstOrDefaultAsync();

            Assert.Null(vehicle.VehicleDriverId);
            Assert.Null(vehicle.VehicleDriverAssignmentId);
            Assert.Equal(driverAssignment.AssignmentEndDate, new DateTime(2016, 1, 31));
            Assert.Equal(ajaxModel.Message, FleetMessages.VehicleDriverSaveSuccess);
        }
Пример #2
0
        public async Task VehicleDriverUpdate(VehicleDriverAssignmentModel model)
        {
            VehicleDriverAssignmentEntity entity = await UpdateEntity <VehicleDriverAssignmentEntity, VehicleDriverAssignmentModel>(model, false);

            //checking if the current driver is assigned to the vehicle
            VehicleEntity vehicle = await(from v in this.DbContext.Vehicles where v.VehicleId == model.VehicleId select v).SingleAsync();

            if (vehicle.VehicleDriverAssignmentId == entity.VehicleDriverAssignmentId)
            {
                vehicle.VehicleDriverId           = null;
                vehicle.VehicleDriverAssignmentId = null;
                this.DbContext.Vehicles.Update(vehicle);
            }

            await this.DbContext.SaveChangesAsync();
        }
Пример #3
0
        public async Task  VehicleDriverSave(VehicleDriverAssignmentModel model)
        {
            if (model.AssignmentStartDate > model.AssignmentEndDate)
            {
                throw new NTException(Messages.Fleet.DriveAssessmentDateError);
            }

            if (model.VehicleDriverAssignmentId == 0)
            {
                await VehicleDriverAdd(model);
            }
            else
            {
                await VehicleDriverUpdate(model);
            }
        }
Пример #4
0
        public async Task VehicleDriverAdd(VehicleDriverAssignmentModel model)
        {
            VehicleDriverAssignmentEntity entity = await AddEntity <VehicleDriverAssignmentEntity, VehicleDriverAssignmentModel>(model, false);

            if (model.AssignmentEndDate == null)
            {
                //validate whether assignment date is allowed and then set it
                VehicleEntity vehicle = await(from v in this.DbContext.Vehicles where v.VehicleId == model.VehicleId select v).SingleAsync();
                if (vehicle.VehicleDriverId != null)
                {
                    throw new NTException(Messages.Fleet.DriveAssessmentError);
                }
                else
                {
                    vehicle.VehicleDriverId         = model.VehicleDriverId;
                    vehicle.VehicleDriverAssignment = entity;
                    this.DbContext.Vehicles.Update(vehicle);
                }
            }

            await this.DbContext.SaveChangesAsync();
        }
Пример #5
0
        public async void VehicleDriverAdd(DateTime startDate, DateTime endDate)
        {
            // Arrange
            this.FleetDbContext.Vehicles.Add(new VehicleEntity()
            {
                VehicleId = 1
            });
            await this.SaveChangesAsync(this.FleetDbContext);

            VehicleDriverAssignmentModel model = new VehicleDriverAssignmentModel()
            {
                VehicleDriverAssignmentId = 0, VehicleDriverId = 2, VehicleId = 1, AssignmentStartDate = startDate, AssignmentEndDate = endDate
            };

            // Act
            AjaxModel <NTModel> ajaxModel = await this.Controller.VehicleDriverAdd(model);

            // Assert
            VehicleEntity vehicle = await this.FleetDbContext.Vehicles.FirstAsync();

            VehicleDriverAssignmentEntity driverAssignment = await this.FleetDbContext.VehicleDriverAssignments.FirstOrDefaultAsync();

            if (endDate == null)
            {
                Assert.Equal(vehicle.VehicleDriverId, 2);
                Assert.Equal(vehicle.VehicleDriverAssignment.VehicleDriverAssignmentId, driverAssignment.VehicleDriverAssignmentId);
                Assert.Equal(ajaxModel.Message, FleetMessages.VehicleDriverSaveSuccess);
            }
            else if (endDate < startDate)
            {
                Assert.Equal(ajaxModel.Message, FleetMessages.DriveAssessmentDateError);
            }
            else
            {
                Assert.Equal(driverAssignment.VehicleDriverId, 2);
                Assert.Equal(ajaxModel.Message, FleetMessages.VehicleDriverSaveSuccess);
            }
        }
Пример #6
0
 internal async Task  VehicleDriverSave(VehicleDriverAssignmentModel model)
 {
     await vehicleRepository.VehicleDriverSave(model);
 }
Пример #7
0
 public async Task <AjaxModel <NTModel> > VehicleDriverUpdate([FromBody] VehicleDriverAssignmentModel model)
 {
     return(await AjaxHelper.SaveAsync(m => domain.VehicleDriverSave(model), Messages.Fleet.VehicleDriverSaveSuccess));
 }
Пример #8
0
 public async Task VehicleDriverSave(VehicleDriverAssignmentModel model)
 {
     await this.fleetRepository.VehicleDriverSave(model);
 }
Пример #9
0
        public async void VehicleDriverUpdate()
        {
            // Arrange
            this.FleetDbContext.Vehicles.Add(new VehicleEntity() { VehicleId = 1, VehicleDriverId = 1, VehicleDriverAssignmentId = 1 });
            this.FleetDbContext.VehicleDriverAssignments.Add(
                    new VehicleDriverAssignmentEntity() { VehicleDriverAssignmentId = 1, VehicleDriverId = 2, VehicleId = 1 });
            await this.SaveChangesAsync(this.FleetDbContext);

            VehicleDriverAssignmentModel model = new VehicleDriverAssignmentModel() { VehicleDriverAssignmentId = 1, VehicleDriverId = 2, VehicleId = 1, AssignmentStartDate = new DateTime(2016, 1, 1), AssignmentEndDate = new DateTime(2016, 1, 31) };

            // Act
            AjaxModel<NTModel> ajaxModel = await this.Controller.VehicleDriverUpdate(model);

            // Assert
            VehicleEntity vehicle = await this.FleetDbContext.Vehicles.FirstAsync();
            VehicleDriverAssignmentEntity driverAssignment = await this.FleetDbContext.VehicleDriverAssignments.FirstOrDefaultAsync();

            Assert.Null(vehicle.VehicleDriverId);
            Assert.Null(vehicle.VehicleDriverAssignmentId);
            Assert.Equal(driverAssignment.AssignmentEndDate, new DateTime(2016, 1, 31));
            Assert.Equal(ajaxModel.Message, FleetMessages.VehicleDriverSaveSuccess);
        }
Пример #10
0
        public async void VehicleDriverAdd(DateTime startDate, DateTime endDate)
        {
            // Arrange
            this.FleetDbContext.Vehicles.Add(new VehicleEntity() { VehicleId = 1 });
            await this.SaveChangesAsync(this.FleetDbContext);

            VehicleDriverAssignmentModel model = new VehicleDriverAssignmentModel() { VehicleDriverAssignmentId = 0, VehicleDriverId = 2, VehicleId = 1, AssignmentStartDate = startDate, AssignmentEndDate = endDate };

            // Act
            AjaxModel<NTModel> ajaxModel = await this.Controller.VehicleDriverAdd(model);

            // Assert
            VehicleEntity vehicle = await this.FleetDbContext.Vehicles.FirstAsync();
            VehicleDriverAssignmentEntity driverAssignment = await this.FleetDbContext.VehicleDriverAssignments.FirstOrDefaultAsync();

            if (endDate == null)
            {
                Assert.Equal(vehicle.VehicleDriverId, 2);
                Assert.Equal(vehicle.VehicleDriverAssignment.VehicleDriverAssignmentId, driverAssignment.VehicleDriverAssignmentId);
                Assert.Equal(ajaxModel.Message, FleetMessages.VehicleDriverSaveSuccess);
            }
            else if (endDate < startDate)
            {
                Assert.Equal(ajaxModel.Message, FleetMessages.DriveAssessmentDateError);
            }
            else
            {
                Assert.Equal(driverAssignment.VehicleDriverId, 2);
                Assert.Equal(ajaxModel.Message, FleetMessages.VehicleDriverSaveSuccess);
            }
        }