예제 #1
0
        public static ResultadoBusqueda CargaListaParaNavegar(CriterioBusqueda criterio)
        {
            var res = new ResultadoBusqueda();
            var lec = Program.ProxyDSW.LeerLista(criterio);

            res.ContadorResultados = lec.ContadorResultados;
            foreach (var o in lec.ListaResultados)
            {
                res.ListaResultados.Add(o);
            }
            res.NumeroPaginas = lec.NumeroPaginas;
            return(res);
        }
예제 #2
0
        public void ObtieneUnaProvincia()
        {
            UnityContainer container = RegisterTypes();

            // Disponer
            ProvinciaController controller = container.Resolve <ProvinciaController>();

            // Actuar
            ResultadoBusqueda result = controller.Obtener("Corrientes");

            // Declarar
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Provincias.Length);
        }
예제 #3
0
        public void ForzarMalaConfiguracion()
        {
            UnityContainer container = RegisterTypes("POST");

            // Disponer
            ProvinciaController controller = container.Resolve <ProvinciaController>();

            // Actuar
            ResultadoBusqueda result = controller.Obtener("Tierra");

            // Declarar
            Assert.IsNotNull(result);
            StringAssert.Contains(result.Mensaje, "Error al parsear respuesta de servidor");
            CollectionAssert.AreEqual(result.Provincias, null);
        }
예제 #4
0
        public void NombreProvinciaErroneo()
        {
            UnityContainer container = RegisterTypes();

            // Disponer
            ProvinciaController controller = container.Resolve <ProvinciaController>();

            // Actuar
            ResultadoBusqueda result = controller.Obtener("Andalucia");

            // Declarar
            Assert.IsNotNull(result);
            StringAssert.Contains(result.Mensaje, "Se encontraron 0 provincias.");
            CollectionAssert.AreEqual(result.Provincias, null);
        }
        private ResultadoBusqueda Map(Root response)
        {
            ResultadoBusqueda res = new ResultadoBusqueda();
            int total             = response.provincias.Count();

            if (total > 0)
            {
                res.Provincias = MapLista(response.provincias);
            }
            else
            {
                _logger.Warn("No se encontraron provincias");
            }
            res.Mensaje = String.Format("Se encontraron {0} provincias.", total);

            return(res);
        }
예제 #6
0
        public List <ResultadoBusqueda <Tdto> > Buscar(string busqueda, ListaParametrosDeBusqueda parametros = null)
        {
            List <ResultadoBusqueda <Tdto> > resultado = new List <ResultadoBusqueda <Tdto> >();

            Block.Busqueda = busqueda;
            List <object> listaPropiedades = new List <object>();
            var           dto         = Activator.CreateInstance(typeof(Tdto));
            var           propiedades = dto.GetType().GetProperties();

            foreach (var prop in propiedades)
            {
                if (prop.GetCustomAttributes(true).OfType <IncluirEnBuscadorAttribute>().Any())
                {
                    listaPropiedades.Add(prop);
                }
            }
            var mapeador = FabricaNegocios._Resolver <IMapeadorGenerico <Modelo.ParametrosMiniBusca, DTO.ParametrosMiniBusca> >();

            Block.AgregarPartes(listaPropiedades, mapeador.ToListEntidad(parametros.Parametros));
            foreach (var parte in Block.ObtenerPartes())
            {
                //var consulta = parte.ArmaConsulta(Buscador.ConsultaSimple(CargarRelaciones.CargarEntidades));
                //var lista = Buscador.BuscarLista(consulta, CargarRelaciones.CargarEntidades);
                var consulta = parte.ArmaConsulta(Buscador.ConsultaSimple(CargarRelaciones.NoCargarNada));
                var lista    = Buscador.BuscarLista(consulta, CargarRelaciones.NoCargarNada);
                if (lista != null)
                {
                    var parteResultado = new ResultadoBusqueda <Tdto>();
                    parteResultado.Nombre = parte.Nombre;
                    parteResultado.Lista  = Mapeador.ToListDto(lista.OrderBy(x => x.GetType().GetProperty(parte.Nombre)).ToList());
                    if (parteResultado.CantidadDeItems != 0)
                    {
                        resultado.Add(parteResultado);
                    }
                }
            }
            if (resultado.Count == 0)
            {
                var parteResultado = new ResultadoBusqueda <Tdto>();
                parteResultado.Nombre = "Sin resultados";
                parteResultado.Lista  = Mapeador.ToListDto(new List <TEntidad>());
                resultado.Add(parteResultado);
            }
            return(resultado);
        }
        public ResultadoBusqueda Obtener(string nombre)
        {
            ResultadoBusqueda result   = null;
            string            response = ObtenerResponse(nombre);

            try
            {
                Root yourObject = JsonConvert.DeserializeObject <Root>(response);
                result = Map(yourObject);
                _logger.Info(result.Mensaje);

                return(result);
            }
            catch (Exception ex)
            {
                string mensaje = string.Format("Error al parsear respuesta de servidor");
                result            = new ResultadoBusqueda();
                result.Mensaje    = mensaje;
                result.Provincias = null;

                _logger.Error(mensaje, ex);
                return(result);
            }
        }
예제 #8
0
 private List <T> Listar(ResultadoBusqueda resultado)
 {
     return(resultado.Parametros.Count == 0
         ? _contexto.Set <T>().ToList()
         : _contexto.Set <T>().Where(resultado.Filtro, resultado.Parametros.ToArray()).ToList());
 }