public void InsertProyecto() { Data.dsTopologiaTableAdapters.ProyectosTableAdapter Adapter = new Data.dsTopologiaTableAdapters.ProyectosTableAdapter(); Adapter.CrearProyectoLocal(this.cUserName, this.cFileName); }
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(); }