public void MapInspectionDTOToInspectionTest() { UserDTO user = this.CreateUser(); VehicleDTO vehicle = this.CreateVehicle(); InspectionMapper mapper = new InspectionMapper(); InspectionDTO inspectionDTO = new InspectionDTO(); inspectionDTO.Damages = new List <DamageDTO>(); inspectionDTO.CreatorUserName = user.UserName; inspectionDTO.Date = DateTime.Now; inspectionDTO.Location = "Puerto 1"; inspectionDTO.IdVehicle = vehicle.Vin; Inspection inspectionEntity = mapper.ToEntity(inspectionDTO); Assert.AreEqual(inspectionDTO.Location, inspectionEntity.IdLocation.Name); Assert.AreEqual(inspectionDTO.Id, inspectionEntity.Id); Assert.AreEqual(inspectionDTO.Date, inspectionEntity.Date); Assert.AreEqual(inspectionDTO.CreatorUserName, inspectionEntity.IdUser.UserName); Assert.AreEqual(inspectionDTO.IdVehicle, inspectionEntity.IdVehicle.Vin); foreach (DamageDTO damageDTO in inspectionDTO.Damages) { Assert.IsNotNull(inspectionEntity.Damages.Find(d => d.Description == damageDTO.Description)); } }
public Guid AddInspection(InspectionDTO inspection) { Inspection inspectionEntity = inspectionMapper.ToEntity(inspection); using (VehicleTrackingDbContext context = new VehicleTrackingDbContext()) { inspectionEntity.IdUser = this.GetUser(context, inspection.CreatorUserName); Vehicle vehicle = this.GetVehicle(context, inspection.IdVehicle); inspectionEntity.IdVehicle = vehicle; inspectionEntity.IdLocation = this.GetLocation(context, inspection.Location); inspectionEntity.Damages = this.GetDamages(context, inspection.Damages); inspectionEntity.Date = DateTime.Now; if (vehicle.Status == StatusCode.Waiting) { vehicle.Status = StatusCode.ReadyToBeLocated; var entry = context.Entry(vehicle); entry.Property(sz => sz.Status).IsModified = true; HistoricVehicle historicVehicle = mapVehicleToHistoricVehicle(vehicle); context.HistoricVehicles.Add(historicVehicle); } else if (vehicle.Status == StatusCode.InPort) { vehicle.Status = StatusCode.InspectedInPort; var entry = context.Entry(vehicle); entry.Property(sz => sz.Status).IsModified = true; HistoricVehicle historicVehicle = mapVehicleToHistoricVehicle(vehicle); context.HistoricVehicles.Add(historicVehicle); } context.Users.Attach(inspectionEntity.IdUser); context.Inspections.Add(inspectionEntity); context.SaveChanges(); } return(inspectionEntity.Id); }