public InformeInspeccionFordViewModel(InformeInspeccionFord informeInspeccionFord)
 {
     Id = informeInspeccionFord.Id;
     NombreInforme = informeInspeccionFord.Nombre;
     FechaCreacion = informeInspeccionFord.FechaCreacion.ToShortDateString();
     Estado = informeInspeccionFord.IndicadorEstado;
 }
        public void a_GuardarInformeInspeccionFordCompleto()
        {
            _informeInspeccionFordRepositorio = new InformeInspeccionFordRepositorio();
            int cantidadInformesInspeccionFord = _informeInspeccionFordRepositorio.BuscarInformesInspeccionFord().Count;

            GrupoArticuloMantenimiento grupoArticuloMantenimiento = new GrupoArticuloMantenimiento();
            grupoArticuloMantenimiento.AgregarModificarDetalle(0,"Detalle Grupo Articulo Mantenimiento");

            GrupoDesgasteFreno grupoDesgasteFreno = new GrupoDesgasteFreno();
            SubGrupoDesgasteFreno subGrupoDesgasteFreno = new SubGrupoDesgasteFreno("SubGrupo del Grupo Desgaste Freno");
            subGrupoDesgasteFreno.AgregarModificarDetalle(0,"Detalle del SubGrupo del Grupo Desgaste Freno");
            grupoDesgasteFreno.AgregarSubGrupo(subGrupoDesgasteFreno);

            GrupoDesgasteLlanta grupoDesgasteLlanta = new GrupoDesgasteLlanta();
            grupoDesgasteLlanta.AgregarModificarDetalle(0,"Detalle Grupo Desgaste Llanta");

            GrupoSistemaComponente grupoSistemaComponente = new GrupoSistemaComponente();
            SubGrupoSistemaComponente subGrupoSistemaComponente = new SubGrupoSistemaComponente("SubGrupo del Grupo Sistema Componente");
            subGrupoSistemaComponente.AgregarModificarDetalle(0,"Detalle Grupo Sistema Componente");
            grupoSistemaComponente.AgregarSubGrupo(subGrupoSistemaComponente);

            InformeInspeccionFord informeInspeccionFord
                = new InformeInspeccionFord
                    (
                        "Informe Inspeccion Ford Test"
                        ,"Nombre Informe Inspeccion Ford Test"
                        ,grupoArticuloMantenimiento
                        ,grupoDesgasteFreno
                        ,grupoDesgasteLlanta
                        ,grupoSistemaComponente
                    );
            _informeInspeccionFordRepositorio.Guardar(informeInspeccionFord);

            int nuevaCantidadInformesInspeccionFord = _informeInspeccionFordRepositorio.BuscarInformesInspeccionFord().Count;

            IdGeneradoGuardar = informeInspeccionFord.Id;

            Assert.That(nuevaCantidadInformesInspeccionFord, Is.EqualTo(++cantidadInformesInspeccionFord));
        }
        public void Guardar(InformeInspeccionFord informeInspeccionFord)
        {
            int codigoTemporal = 0;

            foreach (var grupo in informeInspeccionFord.Grupos)
            {
                grupo.InformeInspeccionId = informeInspeccionFord.Id;
                if (grupo.Id <= 0)
                {
                    grupo.Id = --codigoTemporal;
                }
                if (grupo is GrupoDesgasteFreno)
                {
                    codigoTemporal = GuardarGrupoDesgasteFreno(codigoTemporal, grupo);
                }
                else if (grupo is GrupoArticuloMantenimiento)
                {
                    codigoTemporal = GuardarGrupoArticuloMantenimiento(codigoTemporal, grupo);
                }
                else if (grupo is GrupoSistemaComponente)
                {
                    codigoTemporal = GuardarGrupoSistemaComponente(codigoTemporal, grupo);
                }
                else if (grupo is GrupoDesgasteLlanta)
                {
                    codigoTemporal = GuardarDesgasteLlanta(codigoTemporal, grupo);
                }
            }

            if(informeInspeccionFord.Id <= 0)
            {
                _fordContext.InformeInspeccionFord.Attach(informeInspeccionFord);
            }

            _fordContext.SaveChanges();
        }
 private void InactivarSubGrupoSistemaComponente(InformeInspeccionFord informeInspeccionFord)
 {
     foreach (var subGrupo in informeInspeccionFord.GrupoSistemaComponente.SubGrupos)
     {
         if (SubGrupoSistemaComponenteAnulado.Contains(subGrupo.Id))
         {
             subGrupo.Inactivar();
         }
         else
         {
             foreach (var detalle in subGrupo.Detalle)
             {
                 if (DetalleGrupoSistemaComponenteAnulado.Contains(detalle.Id))
                 {
                     detalle.Inactivar();
                 }
             }
         }
     }
 }
 private void InactivarSubGrupoDesgasteFreno(InformeInspeccionFord informeInspeccionFord)
 {
     foreach (var subGrupo in informeInspeccionFord.GrupoDesgasteFreno.SubGrupos)
     {
         if (SubGrupoDesgasteFrenoAnulado.Contains(subGrupo.Id))
         {
             subGrupo.Inactivar();
         }
         else
         {
             foreach (var detalle in subGrupo.Detalle)
             {
                 if (DetalleGrupoDesgasteFrenoAnulado.Contains(detalle.Id))
                 {
                     detalle.Inactivar();
                 }
             }
         }
     }
 }
 private void InactivarDetalleGrupoDesgasteLlanta(InformeInspeccionFord informeInspeccionFord)
 {
     foreach (var detalle in informeInspeccionFord.GrupoDesgasteLlanta.Detalle)
     {
         if (DetalleGrupoDesgasteLlantaAnulado.Contains(detalle.Id))
         {
             detalle.Inactivar();
         }
     }
 }
 private void InactivarDetalleGrupoArticuloMantenimiento(InformeInspeccionFord informeInspeccionFord)
 {
     foreach (var detalleAnuladoId in DetalleGrupoArticuloMantenimientoAnulado)
     {
         informeInspeccionFord.GrupoArticuloMantenimiento.InactivarDetalle(detalleAnuladoId);
     }
 }
            private void EditarGrupoSistemaComponente(InformeInspeccionFord informeInspeccionFord)
            {
                foreach (var subGrupo in GrupoSistemaComponente.SubGrupos)
                {
                    SubGrupoSistemaComponente subGrupoSistemaComponente = informeInspeccionFord.GrupoSistemaComponente.ObtenerSubGrupo(subGrupo.Id);

                    if (subGrupoSistemaComponente == null)
                    {
                        subGrupoSistemaComponente = subGrupo.CrearEntidad(informeInspeccionFord.GrupoDesgasteFreno.Id, informeInspeccionFord.Id);
                        informeInspeccionFord.GrupoSistemaComponente.AgregarSubGrupo(subGrupoSistemaComponente);
                    }
                    else
                    {
                        subGrupoSistemaComponente.EditarDescripcion(subGrupo.Descripcion);

                        foreach (var detalle in subGrupo.Detalle)
                        {
                            subGrupoSistemaComponente.AgregarModificarDetalle(detalle.Id, detalle.Descripcion);
                        }
                    }
                }
            }
 private void EditarGrupoDesgasteLlanta(InformeInspeccionFord informeInspeccionFord)
 {
     foreach (var detalle in GrupoDesgasteLlanta.Detalle)
     {
         informeInspeccionFord.GrupoDesgasteLlanta.AgregarModificarDetalle(detalle.Id, detalle.Descripcion);
     }
 }
 private void EditarGrupoArticuloMantenimiento(InformeInspeccionFord informeInspeccionFord)
 {
     foreach (var detalle in GrupoArticuloMantenimiento.Detalle)
     {
         informeInspeccionFord.GrupoArticuloMantenimiento.AgregarModificarDetalle(detalle.Id, detalle.Descripcion);
     }
 }
            internal void EditarInformeInspeccionFord(InformeInspeccionFord informeInspeccionFord)
            {
                informeInspeccionFord.EditarNombre(NombreInformeInspeccion);
                informeInspeccionFord.EditarDescripcion(DescripcionInformeInspeccion);

                EditarGrupoArticuloMantenimiento(informeInspeccionFord);
                EditarGrupoDesgasteFreno(informeInspeccionFord);
                EditarGrupoSistemaComponente(informeInspeccionFord);
                EditarGrupoDesgasteLlanta(informeInspeccionFord);

                InactivarDetalleGrupoArticuloMantenimiento(informeInspeccionFord);
                InactivarSubGrupoDesgasteFreno(informeInspeccionFord);
                InactivarSubGrupoSistemaComponente(informeInspeccionFord);
                InactivarDetalleGrupoDesgasteLlanta(informeInspeccionFord);
            }
 internal InformeInspeccionFord CrearInformeInspeccionFord()
 {
     InformeInspeccionFord informeInspeccionFord
         = new InformeInspeccionFord(DescripcionInformeInspeccion
                                     , NombreInformeInspeccion
                                     , GrupoArticuloMantenimiento.CrearEntidad()
                                     , GrupoDesgasteFreno.CrearEntidad(0)
                                     , GrupoDesgasteLlanta.CrearEntidad()
                                     , GrupoSistemaComponente.CrearEntidad(0));
     informeInspeccionFord.Id = Id;
     return informeInspeccionFord;
 }
 public InformeInspeccionFordViewModel(InformeInspeccionFord informeInspeccionFord)
     : this()
 {
     MapearModelDesde(informeInspeccionFord);
 }
 private void MapearModelDesde(InformeInspeccionFord informeInspeccionFord)
 {
     Model.GrupoArticuloMantenimiento.MapearDesde(informeInspeccionFord.GrupoArticuloMantenimiento);
     Model.GrupoDesgasteFreno.MapearDesde(informeInspeccionFord.GrupoDesgasteFreno);
     Model.GrupoDesgasteLlanta.MapearDesde(informeInspeccionFord.GrupoDesgasteLlanta);
     Model.GrupoSistemaComponente.MapearDesde(informeInspeccionFord.GrupoSistemaComponente);
     Model.NombreInformeInspeccion = informeInspeccionFord.Nombre;
     Model.DescripcionInformeInspeccion = informeInspeccionFord.Descripcion;
     Model.Id = informeInspeccionFord.Id;
 }