public InformeInspeccionVolkswagenCompleto Crear(InformeInspeccionCompletoPostViewModel informeInspeccionCompletoPostViewModel)
        {
            InformacionVehiculoVolkswagen informacionVehiculoVolkswagen = new InformacionVehiculoVolkswagen
                (informeInspeccionCompletoPostViewModel.OT
                , informeInspeccionCompletoPostViewModel.PLACA
                , informeInspeccionCompletoPostViewModel.VIN
                , informeInspeccionCompletoPostViewModel.KMS
                , informeInspeccionCompletoPostViewModel.LETRADISTRIBUCIONMOTOR
                , informeInspeccionCompletoPostViewModel.IntervaloKilometros
                , informeInspeccionCompletoPostViewModel.CLIENTE);

            InformeInspeccionVolkswagenCompleto informeInspeccionVolkswagenCompleto = new InformeInspeccionVolkswagenCompleto
                (informacionVehiculoVolkswagen
                , informeInspeccionCompletoPostViewModel.Comentarios
                , informeInspeccionCompletoPostViewModel.NombreTecnico
                , informeInspeccionCompletoPostViewModel.InformeInspeccionId);

            foreach (var detalle in informeInspeccionCompletoPostViewModel.Detalles)
            {
                List<ValorOpcion> valoresOpcionesCondicion = new List<ValorOpcion>();
                foreach (var opcion in detalle.OpcionesCondicion)
                {
                    valoresOpcionesCondicion.Add(new ValorOpcion
                    {
                        OpcionId = opcion.Id,
                        Valor = opcion.Valor
                    });
                }

                List<ValorOpcion> valoresOpcionesInternas = new List<ValorOpcion>();
                foreach (var opcion in detalle.OpcionesInternas)
                {
                    valoresOpcionesInternas.Add(new ValorOpcion
                    {
                        OpcionId = opcion.Id,
                        Valor = opcion.Valor
                    });
                }

                List<ValorOpcion> valoresOpcionesIntervaloKm = new List<ValorOpcion>();
                foreach (var opcion in detalle.OpcionesIntervaloKm)
                {
                    valoresOpcionesIntervaloKm.Add(new ValorOpcion
                    {
                        OpcionId = opcion.Id,
                        Valor = opcion.Valor
                    });
                }
                informeInspeccionVolkswagenCompleto.AgregarDetalle(detalle.Id, valoresOpcionesCondicion, valoresOpcionesIntervaloKm, valoresOpcionesInternas);
            }
            return informeInspeccionVolkswagenCompleto;
        }
 public void MapearDesde(InformeInspeccionVolkswagenCompleto informeInspeccionVolkswagenCompleto, InformeInspeccionVolkswagen informeInspeccionVolkswagen)
 {
     this.InformeInspeccionId = informeInspeccionVolkswagenCompleto.InformeInspeccionId;
     this.Comentarios = informeInspeccionVolkswagenCompleto.Comentarios;
     this.Fecha = informeInspeccionVolkswagenCompleto.Fecha.ToShortDateString();
     this.NombreTecnico = informeInspeccionVolkswagenCompleto.NombreTecnico;
     this.Km = informeInspeccionVolkswagenCompleto.InformacionVehiculo.Km;
     this.LetraDistribucionMotor = informeInspeccionVolkswagenCompleto.InformacionVehiculo.LetraDistribucionMotor;
     this.Orden = informeInspeccionVolkswagenCompleto.InformacionVehiculo.Orden;
     this.Placa = informeInspeccionVolkswagenCompleto.InformacionVehiculo.Placa;
     this.Vin = informeInspeccionVolkswagenCompleto.InformacionVehiculo.Vin;
     this.IntervaloKilometros = informeInspeccionVolkswagenCompleto.InformacionVehiculo.IntervaloKilometros;
     this.Descripcion = informeInspeccionVolkswagen.Descripcion;
     this.Detalles = (
             from D in informeInspeccionVolkswagenCompleto.DetallesInformeInspeccionVolkswagenCompleto
             select new DetallesGetViewModel
             {
                 Id = D.DetalleInformeInspeccionId,
                 Descripcion = D.DetalleInformeInspeccionVolkswagen.Descripcion,
                 OpcionesCondicion =
                 (
                     from VOC in D.Valores
                     where VOC.Opcion.CodigoAgrupacion == TipoOpcionVolkswagen.OpcionCondicion
                     select new ValoresOpcionesGetViewModel
                     {
                         Id = VOC.Id,
                         Descripcion = VOC.Opcion.Descripcion,
                         Valor = VOC.Valor,
                         OpcionId = VOC.OpcionId,
                         DetalleInformeInspeccionCompletoId = VOC.DetalleInformeInspeccionCompletoId
                     }
                 ).ToList(),
                 OpcionesInternas =
                 (
                     from VOI in D.Valores
                     where VOI.Opcion.CodigoAgrupacion == TipoOpcionVolkswagen.OpcionInterna
                     select new ValoresOpcionesGetViewModel
                     {
                         Id = VOI.Id,
                         Descripcion = VOI.Opcion.Descripcion,
                         Valor = VOI.Valor,
                         OpcionId = VOI.OpcionId,
                         DetalleInformeInspeccionCompletoId = VOI.DetalleInformeInspeccionCompletoId
                     }
                 ).ToList(),
                 OpcionesIntervaloKm =
                 (
                     from VOK in D.Valores
                     where VOK.Opcion.CodigoAgrupacion == TipoOpcionVolkswagen.OpcionesIntervaloKm
                     select new ValoresOpcionesGetViewModel
                     {
                         Id = VOK.Id,
                         Descripcion = VOK.Opcion.Descripcion,
                         Valor = VOK.Valor,
                         OpcionId = VOK.OpcionId,
                         DetalleInformeInspeccionCompletoId = VOK.DetalleInformeInspeccionCompletoId
                     }
                 ).ToList(),
             }
         ).ToList();
 }