Example #1
0
        public ServiceResult AddVehicle(VehicleDTO vehicleDto)
        {
            var result = new ServiceResult();

            if (vehicleDto.Drive == null && vehicleDto.DriveId == 0)
                result.Errors.Add(new PropertyMessagePair { PropertyName = "Drive", Message = "You gotta determine drive" });
            if (vehicleDto.Class == null && vehicleDto.VehicleClassId == 0)
                result.Errors.Add(new PropertyMessagePair { PropertyName = "Class", Message = "You gotta determine vehicle class" });
            if (vehicleDto.Dimensions == null)
                result.Errors.Add(new PropertyMessagePair { PropertyName = "Dimensions", Message = "You gotta determine vehicle dimensions" });

            if ((vehicleDto.Class != null || vehicleDto.VehicleClassId != 0)
                && (vehicleDto.Drive != null || vehicleDto.DriveId != 0) &&vehicleDto.Dimensions != null)
            {
                _db.Vehicles.Create(Mapper.Map<Vehicle>(vehicleDto));
                _db.Save();
            }

            return result;
        }
        public void VehicleCreate_DataGiven()
        {
            //Arrange
            var vehicle = new VehicleDTO
            {
                Name = "NewVehicle",
                Drive = new DriveDTO
                {
                    Name = "SomeDrive"
                },
                VehicleClassId = 1,
                Dimensions = new DimensionsDTO
                {
                    Height = 5,
                    Length = 3,
                    Width = 5
                }
            };

            var mockVehicleRep = new Mock<IRepository<Vehicle>>();

            var mockUnit = new Mock<IMotorDepotUnitOfWork>();
            mockUnit.Setup(x => x.Vehicles).Returns(mockVehicleRep.Object);

            Mapper.CreateMap<DimensionsDTO, Dimensions>();
            Mapper.CreateMap<DriveDTO, Drive>();
            Mapper.CreateMap<VehicleDTO, Vehicle>();

            var service = new VehicleService(mockUnit.Object);

            //Act
            var result = service.AddVehicle(vehicle);

            //Assert
            Assert.AreEqual(result.Status, ServiceResultStatus.Success);
            mockVehicleRep.Verify(x => x.Create(It.IsAny<Vehicle>()), Times.Once);
        }
        public void VehicleCreate_NoData()
        {
            //Arrange
            var vehicle = new VehicleDTO { Name = "NewVehicle" };

            var mockVehicleRep = new Mock<IRepository<Vehicle>>();

            var mockUnit = new Mock<IMotorDepotUnitOfWork>();
            mockUnit.Setup(x => x.Vehicles).Returns(mockVehicleRep.Object);

            var service = new VehicleService(mockUnit.Object);

            //Act
            var result = service.AddVehicle(vehicle);

            //Assert
            Assert.AreEqual(result.Status, ServiceResultStatus.Error);
            mockVehicleRep.Verify(x => x.Create(It.IsAny<Vehicle>()), Times.Never);
        }
Example #4
0
        public ServiceResult ModifyVehicle(VehicleDTO vehicleDto)
        {
            var result = new ServiceResult();

            if (vehicleDto.Drive == null && vehicleDto.DriveId == 0)
                result.Errors.Add(new PropertyMessagePair { PropertyName = "Drive", Message = "You gotta determine drive" });
            if (vehicleDto.Class == null && vehicleDto.VehicleClassId == 0)
                result.Errors.Add(new PropertyMessagePair { PropertyName = "Class", Message = "You gotta determine vehicle class" });
            if (vehicleDto.Dimensions == null)
                result.Errors.Add(new PropertyMessagePair { PropertyName = "Dimensions", Message = "You gotta determine vehicle dimensions" });

            if ((vehicleDto.Class != null || vehicleDto.VehicleClassId!=0) &&
                (vehicleDto.Drive != null || vehicleDto.DriveId != 0) &&
                vehicleDto.Dimensions != null)
            {

                try
                {
                    _db.Vehicles.Update(Mapper.Map<Vehicle>(vehicleDto));
                    _db.Save();
                }
                catch (DbEntityValidationException ex)
                {
                    result.Append(ex);
                }
            }

            return result;
        }