public virtual void EliminarSubGrupo(GrupoArticulo subGrupo)
 {
     if (subGrupos.Contains(subGrupo))
     {
         subGrupos.Remove(subGrupo);
     }
 }
 public virtual void AgregarSubGrupo(GrupoArticulo subGrupo)
 {
     if (!subGrupos.Contains(subGrupo))
     {
         subGrupos.Add(subGrupo);
     }
 }
 public Articulo(string codigo, string descripcion, decimal valor, CriterioCosteo criterioCosteo, GrupoArticulo grupoArticulo)
 {
     this.codigo         = codigo;
     this.descripcion    = descripcion;
     this.valor          = valor;
     this.criterioCosteo = criterioCosteo;
     this.grupoArticulo  = grupoArticulo;
 }
 public virtual void AgregarActualizarSubGrupo(GrupoArticulo subGrupo)
 {
     if (!subGrupos.Contains(subGrupo))
     {
         AgregarSubGrupo(subGrupo);
     }
     else
     {
         subGrupos[subGrupos.IndexOf(subGrupo)] = subGrupo;
     }
 }
        private static void CrearGrupoArticulos()
        {
            grupo1 = new GrupoArticulo("GRUPO 1", "Se describe GRUPO 1");
            grupo2 = new GrupoArticulo("GRUPO 2", "Se describe GRUPO 2");


            grupo10 = new GrupoArticulo("INDUMENTARIAS", "Se describe GRUPO Indumentarias");
            grupo20 = new GrupoArticulo("CAMISAS", "Se describe GRUPO Camisas");
            grupo30 = new GrupoArticulo("GRUPO 30", "Se describe GRUPO 30");
            grupo40 = new GrupoArticulo("GRUPO 40", "Se describe GRUPO 40");
            grupo50 = new GrupoArticulo("GRUPO 50", "Se describe GRUPO 50");

            grupo10.AgregarSubGrupo(grupo20);

            grupo10.AgregarArticulo(ART10);
            grupo20.AgregarArticulo(ART20);
            grupo30.AgregarArticulo(ART30);

            grupo20.AgregarSubGrupo(grupo30);
            grupo20.AgregarSubGrupo(grupo50);
        }