public override void AgregarPartes(List <object> listaPropiedades, List <Core.Modelo.ParametrosMiniBusca> Parametros) { foreach (PropertyInfo prop in listaPropiedades) { Type type = prop.PropertyType; if (type == typeof(string)) { if (prop.Name.Contains("Codigo")) { var busquedaPorCodigo = new BusquedaCodigo <Proveedor>(); busquedaPorCodigo.Cargar(Busqueda, prop.Name); foreach (var item in Parametros) { busquedaPorCodigo.AgregaCondicionAnd(item.Nombre, item.Valor, item.TipoObjeto); } this.Partes.Add(busquedaPorCodigo); } else if (prop.Name == "Nombre" || prop.Name == "RazonSocial") { var busquedaPorString = new BusquedaStringStartsWith <Proveedor>(); busquedaPorString.Cargar(Busqueda, prop.Name); foreach (var item in Parametros) { busquedaPorString.AgregaCondicionAnd(item.Nombre, item.Valor, item.TipoObjeto); } this.Partes.Add(busquedaPorString); } else if (prop.Name == "Cuit") { var busquedaPorString = new BusquedaStringEquals <Proveedor>(); busquedaPorString.Cargar(Busqueda, prop.Name); foreach (var item in Parametros) { busquedaPorString.AgregaCondicionAnd(item.Nombre, item.Valor, item.TipoObjeto); } this.Partes.Add(busquedaPorString); } } else { if (type == typeof(int)) { var busquedaPorId = new BusquedaPorInt <Proveedor>(); busquedaPorId.Cargar(Busqueda, prop.Name); this.Partes.Add(busquedaPorId); } } } }
public override void AgregarPartes(List <object> listaPropiedades, List <Core.Modelo.ParametrosMiniBusca> Parametros) { foreach (PropertyInfo prop in listaPropiedades) { Type type = prop.PropertyType; if (type == typeof(string)) { if (prop.Name == "Codigo") { var busquedaPorCodigo = new BusquedaCodigo <Cliente>(); busquedaPorCodigo.Cargar(Busqueda, prop.Name); foreach (var item in Parametros) { busquedaPorCodigo.AgregaCondicionAnd(item.Nombre, item.Valor, item.TipoObjeto); } this.Partes.Add(busquedaPorCodigo); } else if (prop.Name == "Nombre" || prop.Name == "Apellido" || prop.Name == "NombreFantasia" || prop.Name == "RazonSocial") { var busquedaPorString = new BusquedaStringStartsWith <Cliente>(); busquedaPorString.Cargar(Busqueda, prop.Name); foreach (var item in Parametros) { busquedaPorString.AgregaCondicionAnd(item.Nombre, item.Valor, item.TipoObjeto); } this.Partes.Add(busquedaPorString); } else if (prop.Name == "Cuit" || prop.Name == "NumeroDocumentoCliente") { var busquedaPorString = new BusquedaStringEquals <Cliente>(); busquedaPorString.Cargar(Busqueda, prop.Name); foreach (var item in Parametros) { busquedaPorString.AgregaCondicionAnd(item.Nombre, item.Valor, item.TipoObjeto); } this.Partes.Add(busquedaPorString); } else { if (prop.Name == "CodigoDeTarjeta") { var busquedaTarjeta = new ParteBusquedaTarjetasCliente(); busquedaTarjeta.Cargar(Busqueda, prop.Name); foreach (var item in Parametros) { busquedaTarjeta.AgregaCondicionAnd(item.Nombre, item.Valor, item.TipoObjeto); } this.Partes.Add(busquedaTarjeta); } else { //aca iria lo de domicilio... ni idea } } } else { if (type == typeof(int)) { var busquedaPorId = new BusquedaPorInt <Cliente>(); busquedaPorId.Cargar(Busqueda, prop.Name); this.Partes.Add(busquedaPorId); } } } }