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(); } } }
public void PeticionCrearHUB(HUBSOA hubPeticion) { HUBLogico hubLogico = new HUBLogico(Guid.NewGuid(), hubPeticion.X, hubPeticion.Y, hubPeticion.Nombre); for (int i = 0; i < 4; i++) { hubLogico.AgregarPuerto(Guid.NewGuid(), "E." + i.ToString(), true); } _estacion.CrearHUB(hubLogico); HUBSOA hubRespuesta = HUBLogico.CrearHUBSOA(hubLogico); foreach (IVisualizacion cliente in _vistas) { cliente.CrearHUB(hubRespuesta); } }