public void SeleccionarEntidad(TEntidad entidad) { if (entidad == null && this.Entidad == null) { this.Entidad = new TEntidad(); } else { if (entidad != null) { var parametros = new ListaParametrosDeBusqueda(); if (ObtenerParametros != null) { parametros.Parametros = ObtenerParametros(); } this.Entidad = this.Servicio.ObtenerPorCodigo(entidad.Codigo, this.CargaRelaciones, Sistema.Instancia.EmpresaActual.Codigo, parametros); } else { this.Entidad = new TEntidad(); } } //this.Entidad = entidad; if (this.Entidad != null && this.CambioEntidad != null) { //este lo usa el presentador maestro detalle. NO LO BORRES var args = new ArgumentoGenerico <TEntidad>(this.Entidad); this.CambioEntidad(this, args); } }
/// <summary> /// Busca el parametro en todos los campos de la entidad y los guarda en Resultados. /// Usa servicioBuscar para realizar la busqueda. /// </summary> /// <param name="param">string de busqueda</param> public bool ObtenerResultados(string param) { if (param != null) { var controlador = this; controlador.Items.Clear(); controlador.Resultados.Clear(); ListaParametrosDeBusqueda parametros = new ListaParametrosDeBusqueda(); if (ObtenerParametros != null) { parametros.Parametros = ObtenerParametros(); } //aca pasar parametros try { var resultados = this.ServicioBuscar(param, parametros); if (resultados.Any()) { resultados.ForEach(r => this.Resultados.Add(r)); } } catch (CommunicationException ex) { Mensajes.Aviso("Demasiados resultados para '" + param + "'. Sea mas específico."); this.Servicio = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <TEntidad> >(); } } return(true); }
public ICollection <DTO.Preventa.CoordenadaCliente> ObtenerCoordenadasPorPreventista(string codigoPreventista, DateTime dia, string empresa) { var coordenadas = new List <CoordenadaCliente>(); var clientes = new List <Inteldev.Fixius.Servicios.DTO.Clientes.Cliente>(); var parametros = new ListaParametrosDeBusqueda(); var para = new ParameterOverride[2]; para[0] = new ParameterOverride("empresa", empresa); para[1] = new ParameterOverride("entidad", "CoordenadaCliente"); var buscadorCoordenada = (BuscadorCoordenadaClienteDTO)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorCoordenadaClienteDTO), para); coordenadas = buscadorCoordenada.ObtenerCoordenadasDeClientes(codigoPreventista, dia); return(coordenadas); }
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 virtual object BuscarPorId(object p) { try { var parametros = new ListaParametrosDeBusqueda(); if (ObtenerParametros != null) { parametros.Parametros = ObtenerParametros(); } var ent = this.Servicio.ObtenerPorCodigo(p.ToString().PadLeft(this.cantidadNumeros, '0'), CargarRelaciones.NoCargarNada, Sistema.Instancia.EmpresaActual.Codigo, parametros); this.SeleccionarEntidad(ent); } catch (Exception ex) { Mensajes.Error(ex); this.Servicio = FabricaClienteServicio.Instancia.CrearCliente <IServicioABM <TEntidad> >(); } return(true); }
public void Inicializador(IServicioABM <TEntidad> servicio, IPresentadorBuscador buscador) { this.EtiquetaBotonNuevo = "Nuevo"; this.Servicio = servicio; this.Buscador = buscador; //this.VistaModeloListado = FabricaPresentadores.Instancia.Resolver<VistaModeloLista<TEntidad>>(); this.Entidades = new System.Collections.ObjectModel.ObservableCollection <TEntidad>(); this.EntidadesAbiertas = new ObservableCollection <TVistaModelo>(); this.Configurar(); if (Sistema.Instancia.EmpresaActual == null) { Sistema.Instancia.EmpresaActual = new DTO.Organizacion.Empresa() { Codigo = "" }; } var parametros = new ListaParametrosDeBusqueda(); this.Servicio.ObtenerPorCodigo("xxxxxxxxxxxxxxxxx", CargarRelaciones.NoCargarNada, "01", parametros); }
public virtual List <ResultadoBusqueda <TDto> > ObtenerResultados(string busqueda, string empresa, ListaParametrosDeBusqueda parametros = null) { ParameterOverride[] para = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", typeof(TEntidad).Name.ToLower()) }; var buscaResultados = (IContextoDeBusqueda <TEntidad, TDto>)FabricaNegocios.Instancia.Resolver(typeof(IContextoDeBusqueda <TEntidad, TDto>), para); //a cambiar el contexto de busqueda para que acepte parametros var resultado = buscaResultados.Buscar(busqueda, parametros); return(resultado); }
public virtual TDto ObtenerPorCodigo(object codigo, CargarRelaciones cargarEntidades, string empresa, ListaParametrosDeBusqueda parametros = null) { ParameterOverride[] para = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", typeof(TEntidad).Name.ToLower()) }; var buscador = (IBuscadorDTO <TEntidad, TDto>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO <TEntidad, TDto>), para); var dto = buscador.BuscarPorCodigo <TEntidad>(codigo, cargarEntidades, parametros == null ? null : parametros.Parametros); return(dto); }