예제 #1
0
        /// <summary>
        /// Constructor a usar cuando ya se conoce la topologia de un proyecto especifico
        /// </summary>
        /// <param name="idProyecto"></param>
        /// <param name="listaRouters"></param>
        /// <param name="listaEnlaces"></param>
        public Proyecto(int idProyecto, List<Router> listaRouters, List<Enlace> listaEnlaces)
        {
            Data.dsTopologiaTableAdapters.ProyectosTableAdapter Adapter = new Data.dsTopologiaTableAdapters.ProyectosTableAdapter();
            Data.dsTopologia.ProyectosDataTable dt = Adapter.SeleccionarListaProyectos(idProyecto, null);

            if (dt.Rows.Count > 0)
            {
                Data.dsTopologia.ProyectosRow dr = dt[0];
                this.idProyecto = dr.idProyecto;
                this.cUserName = dr.cUserName.Trim();
                this.cTitulo = dr.cFileName.Trim();
                if (!dr.IsdtFechaCreacionNull())
                    this.dtFechaCreacion = dr.dtFechaCreacion;
                if (!dr.IsdtFechaUltEdicionNull())
                    this.dtFechaUltEdicion = dr.dtFechaUltEdicion;
            }
            this.listadoRouters = listaRouters;
            this.listadoEnlaces = listaEnlaces;
        }
예제 #2
0
        /// <summary>
        /// Constructor para buscar un proyecto específico
        /// </summary>
        /// <param name="idProyecto"></param>
        public Proyecto(int idProyecto)
        {
            Data.dsTopologiaTableAdapters.ProyectosTableAdapter Adapter = new Data.dsTopologiaTableAdapters.ProyectosTableAdapter();
            Data.dsTopologia.ProyectosDataTable dt = Adapter.SeleccionarListaProyectos(idProyecto, null);

            if (dt.Rows.Count > 0)
            {
                Data.dsTopologia.ProyectosRow dr = dt[0];
                this.idProyecto = dr.idProyecto;
                this.cUserName = dr.cUserName.Trim();
                this.cTitulo = dr.cFileName.Trim();
                if (!dr.IsdtFechaCreacionNull())
                    this.dtFechaCreacion = dr.dtFechaCreacion;
                if (!dr.IsdtFechaUltEdicionNull())
                    this.dtFechaUltEdicion = dr.dtFechaUltEdicion;
            }

            this.listadoRouters = Proyecto.SelectListaRouters(this.idProyecto);
            this.listadoEnlaces = Proyecto.SelectListaEnlaces(this.idProyecto);
            this.listadoLSPs = LSP.SelectListaLSP(this.idProyecto);
            this.listadoDPEnlaces = Proyecto.ConvertDropdownEnlaces(this.listadoEnlaces);
        }
 public void InsertProyecto()
 {
     Data.dsTopologiaTableAdapters.ProyectosTableAdapter Adapter = new Data.dsTopologiaTableAdapters.ProyectosTableAdapter();
     Adapter.CrearProyectoLocal(this.cUserName, this.cFileName);
 }
예제 #4
0
        public async Task<IHttpActionResult> PostFile()
        {
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            var provider = await Request.Content.ReadAsMultipartAsync<InMemoryMultipartFormDataStreamProvider>(new InMemoryMultipartFormDataStreamProvider());

            //Debug.Write(provider.Contents.ToString());

            //access form data
            NameValueCollection formData = provider.FormData;

            //access files
            IList<HttpContent> files = provider.Files;

            string userName = formData.GetValues("cUserName")[0];
            string projectName = formData.GetValues("cFileName")[0];

            byte[] byteArray = await provider.Files[0].ReadAsByteArrayAsync();
            MemoryStream myStream = new MemoryStream(byteArray);

            //Proceso de parsing del archivo CSV
            List<Tabla> tablaDatos = new List<Tabla>();
            StreamReader csvreader = new StreamReader(myStream);

            //Debug.Write(csvreader.ReadToEnd());

            //Primera linea
            var line = csvreader.ReadLine();
            var values = line.Split(';');

            while (!csvreader.EndOfStream)
            {
                Tabla row = new Tabla();
                line = csvreader.ReadLine();
                if (line != "")
                {
                    values = line.Split(';');

                    row.Hostname = values[0];
                    row.OSPFRouterID = values[1];
                    row.OSPFNeighborRouterID = values[2];
                    row.OSPFNeighborIP = values[3];
                    tablaDatos.Add(row);
                }                
            }

            //Llama al SP para crear el nuevo proyecto en la DB
            Data.dsTopologiaTableAdapters.ProyectosTableAdapter Adapter = new Data.dsTopologiaTableAdapters.ProyectosTableAdapter();
            int idProyecto = (int)Adapter.CrearProyectoLocal(userName, projectName);

            //Creación del nuevo objeto de proyecto
            Proyecto newProyecto = new Proyecto(idProyecto);
            newProyecto.GenerarTopologia(tablaDatos);

            return Ok();
        }
 public int InsertProyecto()
 {
     Data.dsTopologiaTableAdapters.ProyectosTableAdapter Adapter = new Data.dsTopologiaTableAdapters.ProyectosTableAdapter();
     return (int)Adapter.CrearProyectoImportado(this.cUserName, this.cFileName, this.cRaspberryIP, this.nPuerto, this.cRouterIP, this.cCommunityString);
 }
예제 #6
0
        /// <summary>
        /// Genera la lista de proyectos asociados a un usuario
        /// </summary>
        /// <param name="cUserName"></param>
        /// <returns></returns>
        public static List<Proyecto> GetListaProyectos(string cUserName)
        {
            List<Proyecto> listaProyectos = new List<Proyecto>();

            Data.dsTopologiaTableAdapters.ProyectosTableAdapter Adapter = new Data.dsTopologiaTableAdapters.ProyectosTableAdapter();
            Data.dsTopologia.ProyectosDataTable dt = Adapter.SeleccionarListaProyectos(null, cUserName);

            foreach(var dr in dt)
            {
                Proyecto temp = new Proyecto();
                temp.idProyecto = dr.idProyecto;
                temp.cUserName = dr.cUserName.Trim();
                temp.cTitulo = dr.cFileName.Trim();
                if (!dr.IsdtFechaCreacionNull())
                    temp.dtFechaCreacion = dr.dtFechaCreacion;
                if (!dr.IsdtFechaUltEdicionNull())
                    temp.dtFechaUltEdicion = dr.dtFechaUltEdicion;
                listaProyectos.Add(temp);
            }

            return listaProyectos;
        }