Example #1
0
        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"));
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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));
        }
Example #4
0
        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);
        }
Example #5
0
        private IArchivoImportador CrearArchivoImportador(Type tipo)
        {
            IArchivoImportador importador = (IArchivoImportador)Activator.CreateInstance(tipo);

            return(importador);
        }