public void Anular(InformeInspeccionVolkswagen informeInspeccionVolkswagen)
 {
     _context.Entry(informeInspeccionVolkswagen).State = EntityState.Modified;
     //_context.InformeInspeccionVolkswagen.Attach(informeInspeccionVolkswagen);
     //informeInspeccionVolkswagen.Anular();
     _context.SaveChanges();
 }
 public void Modificar(InformeInspeccionVolkswagen informeInspeccionVolkswagen)
 {
     _context.Entry(informeInspeccionVolkswagen).State = EntityState.Modified;
     foreach (var detalle in informeInspeccionVolkswagen.Detalles)
     {
         if (detalle.Id <= 0)
         {
             _context.Entry(detalle).State = EntityState.Added;
         }
         else
         {
             _context.Entry(detalle).State = EntityState.Modified;
         }
     }
     _context.SaveChanges();
 }
 public void MapearDesde(InformeInspeccionVolkswagen informeInspeccionVolkswagen)
 {
     Descripcion = informeInspeccionVolkswagen.Descripcion;
     Nombre = informeInspeccionVolkswagen.Nombre;
     Detalles = (
         from D in informeInspeccionVolkswagen.DetallesActivos
         select new DetalleInformeInspeccionViewModel
         {
             Id = D.Id,
             Descripcion = D.Descripcion,
             OpcionCondicionSeleccionada = string.Empty,
             OpcionesCondicion =
             (
                 from OC in D.OpcionesCondicion
                 select new OpcionInformeInspeccionViewModel
                 {
                     Id = OC.Id,
                     Descripcion = OC.Descripcion,
                     Valor = string.Empty
                 }
             ).ToList(),
             OpcionesInternas =
             (
                 from OI in D.OpcionesInternas
                 select new OpcionInformeInspeccionViewModel
                 {
                     Id = OI.Id,
                     Descripcion = OI.Descripcion,
                     Valor = string.Empty
                 }
             ).ToList(),
             OpcionesIntervaloKm =
             (
                 from OIK in D.OpcionesIntervaloKm
                 select new OpcionInformeInspeccionViewModel
                 {
                     Id = OIK.Id,
                     Descripcion = OIK.Descripcion,
                     Valor = string.Empty
                 }
             ).ToList()
         }
     ).ToList();
 }
 public void Guardar(InformeInspeccionVolkswagen informeInspeccionVolkswagen)
 {
     _context.InformeInspeccionVolkswagen.Add(informeInspeccionVolkswagen);
     _context.SaveChanges();
 }
 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();
 }
        public InformeInspeccionVolkswagen Crear(InformeInspeccionPostViewModel informeInspeccionPostViewModel)
        {
            InformeInspeccionVolkswagen informeInspeccionVolkswagen = new InformeInspeccionVolkswagen
                (
                informeInspeccionPostViewModel.Descripcion,
                informeInspeccionPostViewModel.Nombre
                );

            List<DetalleInformeInspeccionVolkswagen> detallesInformeInspeccion = new List<DetalleInformeInspeccionVolkswagen>();

            foreach (var detalle in informeInspeccionPostViewModel.Detalles)
            {
                DetalleInformeInspeccionVolkswagen detalleInformInspeccion = new DetalleInformeInspeccionVolkswagen();
                detalleInformInspeccion.Descripcion = detalle.Descripcion;

                List<Opcion> opcionesCondicion = new List<Opcion>();
                if (detalle.OpcionesCondicion != null)
                {
                    foreach (var opcion in detalle.OpcionesCondicion)
                    {
                        opcionesCondicion.Add(new Opcion
                        {
                            Descripcion = opcion.Descripcion,
                            CodigoAgrupacion = TipoOpcionVolkswagen.OpcionCondicion
                        });
                    }
                }

                List<Opcion> opcionesIntervaloKm = new List<Opcion>();
                if (detalle.OpcionesIntervaloKm != null)
                {
                    foreach (var opcion in detalle.OpcionesIntervaloKm)
                    {
                        opcionesIntervaloKm.Add(new Opcion
                        {
                            Descripcion = opcion.Descripcion,
                            CodigoAgrupacion = TipoOpcionVolkswagen.OpcionesIntervaloKm
                        });
                    }
                }

                List<Opcion> opcionesInterna = new List<Opcion>();
                if (detalle.OpcionesInternas != null)
                {
                    foreach (var opcion in detalle.OpcionesInternas)
                    {
                        opcionesInterna.Add(new Opcion
                        {
                            Descripcion = opcion.Descripcion,
                            CodigoAgrupacion = TipoOpcionVolkswagen.OpcionInterna
                        });
                    }
                }

                //detalleInformInspeccion.OpcionesCondicion = opcionesCondicion;
                //detalleInformInspeccion.OpcionesInternas = opcionesInterna;
                //detalleInformInspeccion.OpcionesIntervaloKm = opcionesIntervaloKm;
                detalleInformInspeccion.AgregarOpciones(opcionesCondicion.Concat(opcionesInterna).Concat(opcionesIntervaloKm).ToList());
                detallesInformeInspeccion.Add(detalleInformInspeccion);
            }

            informeInspeccionVolkswagen.Detalles = detallesInformeInspeccion;

            return informeInspeccionVolkswagen;
        }