예제 #1
0
 private List<VLanSOA> CloneLista(List<VLanSOA> vLans)
 {
     List<VLanSOA> vLansCopia = new List<VLanSOA>();
     foreach (VLanSOA vLan in vLans)
     {
         VLanSOA vLanCopia = new VLanSOA(vLan.Id, vLan.Nombre);
         foreach (Guid idPuerto in vLan.IdPuertos)
         {
             vLanCopia.IdPuertos.Add(idPuerto);
         }
         vLansCopia.Add(vLanCopia);
     }
     return vLansCopia;
     
 }
예제 #2
0
 public static SwitchVLanSOA CrearSwitchVLanSOA(SwitchVLAN swiLogico)
 {
     SwitchVLanSOA swiRespuesta = new SwitchVLanSOA(swiLogico.TipoDeEquipo, swiLogico.Id, swiLogico.X, swiLogico.Y, swiLogico.Nombre);
     foreach (PuertoEthernetLogicoBase puerto in swiLogico.PuertosEthernet)
     {
         swiRespuesta.AgregarPuerto(new PuertoBaseSOA(puerto.Id, puerto.Nombre, puerto.Habilitado));
     }
     foreach (VLan vLan in swiLogico._vLans)
     {
         VLanSOA vLanSOA = new VLanSOA(vLan.Id, vLan.Nombre);
         foreach (PuertoEthernetLogicoBase puerto in vLan.Puertos)
         {
             vLanSOA.IdPuertos.Add(puerto.Id);
         }
         swiRespuesta.VLans.Add(vLanSOA);
     }
     return swiRespuesta;
 }
예제 #3
0
 private void EliminarPuertoDeVLan(PuertoBaseSOA puertoVLanSeleccionado, VLanSOA vlanSeleccionada)
 {
     vlanSeleccionada.IdPuertos.Remove(puertoVLanSeleccionado.Id);
     _puertosVlan.Remove(puertoVLanSeleccionado);
     _puertosDisponibles.Add(puertoVLanSeleccionado);
 }
예제 #4
0
 private void AgregarPuertoAVLAn(PuertoBaseSOA puertoDisponibleSeleccionado, VLanSOA vlanSeleccionada)
 {
     vlanSeleccionada.IdPuertos.Add(puertoDisponibleSeleccionado.Id);
     _puertosVlan.Add(puertoDisponibleSeleccionado);
     _puertosDisponibles.Remove(puertoDisponibleSeleccionado);
 }
예제 #5
0
 private void button1_Click(object sender, EventArgs e)
 {
     VLanSOA vlan = new VLanSOA(Guid.NewGuid(), "VLan_"+(_vLans.Count+1).ToString());
     _vLans.Add(vlan);
     _vLansBS.Position = _vLansBS.IndexOf(vlan);
     ActualizarControlesVLansDisponibles();
 }
        private static void CrearEquipos(EstacionModelo estacionLogica, Estaciones estacionBD)
        {
            foreach (Equipos equipoBD in estacionBD.EquiposBD)
            {
                switch ((TipoDeEquipo)equipoBD.TipoDeEquipo)
                {
                    case TipoDeEquipo.Ninguno:
                        throw new Exception();
                    case TipoDeEquipo.Computador:
                        ComputadorLogico pc = new ComputadorLogico(equipoBD.Id, equipoBD.X, equipoBD.Y, equipoBD.Nombre, equipoBD.Computadores.DefaultGateWay);
                        PuertosCompletos puertoCompleto = equipoBD.Puertos[0].PuertosCompletos;
                        pc.AgregarPuerto(puertoCompleto.Id, puertoCompleto.Puertos.Nombre, puertoCompleto.DireccionMAC, puertoCompleto.DireccionIP, puertoCompleto.Mascara, puertoCompleto.Puertos.Habilitado);
                        estacionLogica.CrearComputador(pc);
                        break;
                    case TipoDeEquipo.HUB:
                        HUBLogico hub = new HUBLogico(equipoBD.Id, equipoBD.X, equipoBD.Y, equipoBD.Nombre);
                        foreach (Puertos puertoBD in equipoBD.PuertosBD)
                        {
                            hub.AgregarPuerto(puertoBD.Id, puertoBD.Nombre, puertoBD.Habilitado);
                        }
                        estacionLogica.CrearHUB(hub);
                        break;
                    case TipoDeEquipo.Switch:
                        SwitchLogico swi = new SwitchLogico(equipoBD.Id, equipoBD.X, equipoBD.Y, equipoBD.Nombre);
                        foreach (Puertos puertoBD in equipoBD.PuertosBD)
                        {
                            swi.AgregarPuerto(puertoBD.Id, puertoBD.Nombre, puertoBD.Habilitado);
                        }
                        estacionLogica.CrearSwitch(swi);

                        break;
                    case TipoDeEquipo.SwitchVLan:
                        SwitchVLAN swiVLan = new SwitchVLAN(equipoBD.Id, equipoBD.X, equipoBD.Y, equipoBD.Nombre);
                        foreach (Puertos puertoBD in equipoBD.PuertosBD)
                        {
                            swiVLan.AgregarPuerto(puertoBD.Id, puertoBD.Nombre, puertoBD.Habilitado);
                        }
                        List<VLanSOA> vLansSOA = new List<VLanSOA>();
                        foreach (VLans vLanBD in equipoBD.Switch.VLans)
                        {
                            VLanSOA vLan = new VLanSOA(vLanBD.Id, vLanBD.Nombre);
                            foreach (AsociacionesPuertosVLans asoc in vLanBD.AsociacionesPuertosVLans)
                            {
                                vLan.IdPuertos.Add(asoc.IdPuerto);
                            }
                            vLansSOA.Add(vLan);
                        }
                        swiVLan.ActualizarVLans(vLansSOA);
                        estacionLogica.CrearSwitchVLan(swiVLan);
                        break;
                    case TipoDeEquipo.Router:
                        RouterLogico rou = new RouterLogico(equipoBD.Id, equipoBD.X, equipoBD.Y, equipoBD.Nombre);

                        foreach (Puertos puertoBD in equipoBD.PuertosBD)
                        {
                            PuertosCompletos puertoFull = puertoBD.PuertosCompletos;

                            rou.AgregarPuerto(puertoFull.Id, puertoFull.Puertos.Nombre, puertoFull.DireccionMAC, puertoFull.DireccionIP, puertoFull.Mascara, puertoFull.Puertos.Habilitado);
                        }
                        foreach (Rutas ruta in equipoBD.Routers.Rutas)
                        {
                            rou.CrearNuevaRuta(ruta.Id, ruta.IdPuerto, IPAddressFactory.GetIpRep((uint)ruta.Red), ruta.Mascara, ruta.NextHopIP);
                        }
                        estacionLogica.CrearRouter(rou);
                        break;
                    default:
                        throw new Exception();
                }
            }
        }