public IActionResult GetCargarHospedajes(string nombre, [FromQuery] string path) { try { path = ValidadorString.ValidarStringVacio(path); IArchivoImportador importador = CargarImportadores().Where(x => x.GetName().Equals(nombre)).FirstOrDefault(); if (importador == null) { return(BadRequest("importador no existe")); } List <Hospedaje> hospedajes = importador.ImportarHospedajes(path); try { foreach (Hospedaje hospedaje in hospedajes) { if (hospedaje.PuntoTuristico != null) { this.logicaPunto.AgregarPunto(hospedaje.PuntoTuristico); } logicaHospedaje.AgregarHospedaje(hospedaje); } } catch (EntidadNoExisteExcepcion) { } return(Ok()); } catch (StringVacioException) { return(BadRequest("Alguno de los parametros es vacio")); } }
public List <IArchivoImportador> ObtenerImporters(Assembly assembly) { List <IArchivoImportador> importadores = new List <IArchivoImportador>(); IEnumerable <Type> tipos = ObtenerTypesEnAssembly <IArchivoImportador>(assembly); foreach (Type tipo in tipos) { IArchivoImportador importador = CrearArchivoImportador(tipo); importadores.Add(importador); } return(importadores); }
public IActionResult GetAllImportadores() { List <IArchivoImportador> importadores = CargarImportadores(); List <string> retorno = new List <string>(); for (int i = 0; i < importadores.Count; i++) { IArchivoImportador importador = importadores[i]; retorno.Add(importador.GetName()); } return(Ok(retorno)); }
public void TestImportarJSON_OK() { List <Hospedaje> list = new List <Hospedaje>(); DllImportador dllImporter = new DllImportador(); string path = "C:\\Users\\diego\\Desktop\\Obligatorio_DA2\\ImportadorJSON\\bin\\Debug\\netcoreapp3.1\\Importador.dll"; Assembly assembly = dllImporter.CargarAssembly(path); List <IArchivoImportador> importadores = dllImporter.ObtenerImporters(assembly); IArchivoImportador importador = importadores.FirstOrDefault(); string pathJSON = "C:\\Users\\diego\\Desktop\\Tests\\Importer\\Test.Json"; list = importador.ImportarHospedajes(pathJSON); Assert.AreEqual(2, list.Count); }
private IArchivoImportador CrearArchivoImportador(Type tipo) { IArchivoImportador importador = (IArchivoImportador)Activator.CreateInstance(tipo); return(importador); }