//public virtual List<TEntidad> BuscarLista(CargarRelaciones cargarentidades) //{ // return this.Contexto.Consultar<TEntidad>(cargarentidades).ToList(); //} public virtual List <TEntidad> BuscarLista(CargarRelaciones cargarentidades) { var q = this.Contexto.Consultar <TEntidad>(cargarentidades); List <TEntidad> devuelve = new List <TEntidad>(); List <TEntidad> listaLote = new List <TEntidad>(); //agregar de a 100 una listaLote de datos con take(100) int cantidadRegistros = q.Count(); //cantidad total de registros int lote = 0; //indice de busqueda while (lote < cantidadRegistros) //el indice esta dentro de la cantidada de registros de la lista { listaLote = q.OrderBy(d => d.Id).Skip(lote).Take(100).ToList(); //salteamos los registros que ya ingresamos. (la primera vez salteamos 0 registros, i=0) devuelve.AddRange(listaLote); //agregamos los 100 registros a la lista lote += 100; //incrementamos el skip listaLote.Clear(); } var resto = (cantidadRegistros - lote); //esto es por si quedan registros sin ingresar de q. ///Ej: ///Agregamos 150; ///Los primeros 100 entran. ///Hacemos i+=100, se va a 200. ///200>150, sale del bucle while. ///(150 - 200) = -50 ///-50 > 0 => NO if (devuelve.Count < cantidadRegistros) { listaLote.Clear(); listaLote = q.OrderBy(d => d.Id).Skip(cantidadRegistros - resto).Take(resto).ToList(); //salteamos el total menos el resto y tomamos el resto. devuelve.AddRange(q); } return(devuelve); }
public virtual TDto BuscarSimple(object busqueda, CargarRelaciones cargarEntidades) { this.BuscadorEntidad.CargarEntidadesRelacionadas = cargarEntidades; var res = this.BuscadorEntidad.BuscarSimple(busqueda); return(Mapeador.EntidadToDto(res)); }
public virtual IList <TDto> ObtenerLista(object param, CargarRelaciones cargarEntidades, string empresa) { 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); return(buscador.BuscarLista(param, cargarEntidades).ToList()); }
public virtual TDto ObtenerPorId(int id, CargarRelaciones cargarEntidades, string empresa) { 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.BuscarSimple(id, cargarEntidades); return(dto); }
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); }
public BuscadorGenerico(string empresa, string entidad) : base(empresa, entidad) { this.CargarEntidadesRelacionadas = CargarRelaciones.CargarTodo; this.parameters = new ParameterOverride[2]; this.parameters[0] = new ParameterOverride("empresa", empresa); this.parameters[1] = new ParameterOverride("entidad", entidad); }
public virtual TDto BuscarPorCodigo <TMaestro>(object busqueda, CargarRelaciones cargarEntidades, List <Inteldev.Core.DTO.ParametrosMiniBusca> parametros = null) where TMaestro : EntidadMaestro { this.BuscadorEntidad.CargarEntidadesRelacionadas = cargarEntidades; //tengo que modificar el buscador entidad tambien. var mapeadorParametros = FabricaNegocios._Resolver <IMapeadorGenerico <Inteldev.Core.Modelo.ParametrosMiniBusca, Core.DTO.ParametrosMiniBusca> >(); var result = this.BuscadorEntidad.BuscarPorCodigo <TMaestro>(busqueda, mapeadorParametros.ToListEntidad(parametros)) as TEntidad; return(Mapeador.EntidadToDto(result)); }
public PresentadorMiniBusca() : base() { this.CmdAceptar = new RelayCommand(p => this.Aceptar(), p => this.PuedeAceptar()); this.CmdCancelar = new RelayCommand(p => this.Cancelar(), P => this.PuedeCancelar()); this.CmdVerBuscador = new RelayCommand(p => this.Buscar(), p => this.PuedeBuscar()); this.CmdBuscarPorId = new RelayCommand(p => this.BuscarPorId(p), p => this.PuedeBuscarPorId(p)); this.CmdSeleccionarItem = new RelayCommand(p => this.Aceptar(), p => this.PuedeAceptar()); this.CargaRelaciones = CargarRelaciones.CargarEntidades; }
/*public virtual List<TMaestro> BuscarDiferencia<TMaestro>(List<string> codigosImportados) where TMaestro : EntidadMaestro, new() * { * var listaFiltrada = new List<TMaestro>(); * var listaCodigosLocal = this.Contexto.Consultar<TMaestro>(CargarRelaciones.NoCargarNada).Select(p => p.Codigo).ToList(); * //comparar * foreach (var item in listaCodigosLocal) * { * if (!codigosImportados.Contains(item)) * listaFiltrada.Add(this.Contexto.Consultar<TMaestro>(CargarRelaciones.NoCargarNada).FirstOrDefault(p => p.Codigo == item)); * } * //si encuentra * //recorrer y buscarla en codigos. si no esta buscar la entidad completa y agregarla a una lista y luego devolver la lista * return listaFiltrada; * }*/ public virtual List <TEntidad> BuscarLista(MethodCallExpression busqueda, CargarRelaciones cargarEntidades) { if (busqueda != null) { return(this.Contexto.Consultar <TEntidad>(cargarEntidades).Provider.CreateQuery <TEntidad>(busqueda).ToList()); } else { return(null); } }
public TEntidad BuscarPorId <TEntidad>(int Id, CargarRelaciones cargarEntidadesRelacionadas) where TEntidad : EntidadBase { //var q = this.Set<TEntidad>().AsNoTracking<TEntidad>().Where(e => e.Id == Id); var q = this.Set <TEntidad>().Where(e => e.Id == Id); if (cargarEntidadesRelacionadas == CargarRelaciones.NoCargarNada) { return(q.FirstOrDefault()); } else { return(this.IncluirRelaciones <TEntidad>(q, cargarEntidadesRelacionadas).FirstOrDefault()); } }
public TEntidad BuscarPorCodigo <TEntidad>(string codigo, CargarRelaciones cargarEntidadesRelacionadas) where TEntidad : EntidadMaestro { //var q = this.Set<TEntidad>().AsNoTracking<TEntidad>().Where(p => p.Codigo == codigo); var q = this.Set <TEntidad>().Where(p => p.Codigo == codigo); if (cargarEntidadesRelacionadas == CargarRelaciones.NoCargarNada) { return(q.FirstOrDefault()); } else { return(this.IncluirRelaciones <TEntidad>(q, cargarEntidadesRelacionadas).FirstOrDefault()); } }
public override DTO.Usuarios.Permiso BuscarSimple(object busqueda, CargarRelaciones cargarEntidades) { int id = 0; int.TryParse(busqueda.ToString(), out id); //id del permiso que se selecciono en el buscador de la Tabla de Perfiles de usuario. //Busqueda sería ItemSeleccionado de BuscadorInicial del Formulario var permiso = this.BuscadorEntidad.BuscarSimple(id); Inteldev.Core.DTO.Usuarios.Permiso dto = null; if (permiso != null) { dto = Inteldev.Core.Negocios.Mapeador.Mapeador.Instancia.EntidadToDto <Inteldev.Core.Modelo.Usuarios.Permiso, Inteldev.Core.DTO.Usuarios.Permiso>(permiso); } return(dto); }
public IQueryable <TEntidad> Consultar <TEntidad>(CargarRelaciones cargarEntidadesRelacionadas) where TEntidad : EntidadBase { //var q = this.Set<TEntidad>().AsNoTracking<TEntidad>(); var q = this.Set <TEntidad>(); ((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 600; if (cargarEntidadesRelacionadas == CargarRelaciones.NoCargarNada) { return(q); } else { IQueryable <TEntidad> query = this.IncluirRelaciones <TEntidad>(q, cargarEntidadesRelacionadas); return(query); } }
public override OrdenDeCompra BuscarSimple(object busqueda, CargarRelaciones cargarEntidades) { var result = this.BuscadorEntidad.BuscarSimple(busqueda); ParameterOverride[] parameters = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", "ListaDePrecios") }; var buscaLista = (IBuscadorListaDePrecios)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorListaDePrecios), parameters); int id = 0; int.TryParse(result.ProveedorId.ToString(), out id); result.ListaDePrecios = buscaLista.obtenerListaProveedor(id, true); parameters[1] = new ParameterOverride("entidad", "Articulo"); var buscaArticulo = (IBuscadorArticulo)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorArticulo), parameters); parameters[1] = new ParameterOverride("entidad", "ObjetivosDeCompra"); var buscaObjetivos = (IBuscadorObjetivos)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorObjetivos), parameters); var articulos = buscaArticulo.obtenerArticulosProveedor(id); var objetivos = buscaObjetivos.obtenerObjetivosProveedor(id); //var articulos = new List<Articulo>(); var mapper = (IMapeadorOrdenDeCompra)this.Mapeador; return(mapper.EntidadToDto(result, articulos, objetivos)); }
/// <summary> /// Consulta toda una entidad sin cargar las entidades relacionadas. /// </summary> /// <returns>la consulta tipo iquereable</returns> public virtual IQueryable <TEntidad> ConsultaSimple(CargarRelaciones cargarEntidades) { return(this.Contexto.Consultar <TEntidad>(cargarEntidades)); }
public IQueryable <TEntidad> IncluirRelaciones <TEntidad>(IQueryable <TEntidad> objeto, CargarRelaciones cargarRelaciones) where TEntidad : EntidadBase { this.antirecursivo = new List <Type>(); var tipoEntidad = typeof(TEntidad); var propiedad = tipoEntidad.GetProperties(); foreach (var prop in propiedad) { this.antirecursivo.Clear(); this.antirecursivo.Add(tipoEntidad); //es una entidad if (prop.PropertyType.GetProperty("Id") != null && (cargarRelaciones == CargarRelaciones.CargarTodo || cargarRelaciones == CargarRelaciones.CargarEntidades) && prop.GetCustomAttribute <NotMappedAttribute>() == null) { objeto = objeto.Include(prop.Name); if (prop.GetCustomAttribute <UnoAUno>() != null) { var propiedadesHijo = prop.PropertyType.GetProperties(); foreach (var item in propiedadesHijo) { if (item.PropertyType.GetProperty("Id") != null) { var incluir = prop.Name + "." + item.Name; objeto = objeto.Include(incluir); } } } } else { //es una coleccion if (prop.PropertyType.GetProperty("Count") != null && (cargarRelaciones == CargarRelaciones.CargarCollecciones || cargarRelaciones == CargarRelaciones.CargarTodo) && (prop.GetCustomAttributes(typeof(NotMappedAttribute), true).FirstOrDefault() == null)) { //es muchos a muchos if (prop.GetCustomAttributes(typeMuchosAMuchos, true).FirstOrDefault() != null || prop.GetCustomAttributes(typeNoIncluirColecciones, true).FirstOrDefault() != null) { objeto = objeto.Include(prop.Name); } else { objeto = IncluirColecciones <TEntidad>(objeto, prop, ""); } } } } return(objeto); }
public TMaestro BuscarPorCodigo <TMaestro>(String busqueda, CargarRelaciones cargarEntidadesRelacionadas) where TMaestro : EntidadMaestro { //return this.contextos.FirstOrDefault().BuscarPorCodigo<TMaestro>(busqueda, cargarEntidadesRelacionadas); return(this.ObtenerContextos <TMaestro>().FirstOrDefault().BuscarPorCodigo <TMaestro>(busqueda, cargarEntidadesRelacionadas)); }
public TEntidad BuscarPorId(int id, CargarRelaciones cargarEntidades) { //return this.contextos.FirstOrDefault().BuscarPorId<TEntidad>(id, cargarEntidades); return(this.ObtenerContextos <TEntidad>().FirstOrDefault().BuscarPorId <TEntidad>(id, cargarEntidades)); }
public override List<Servicios.DTO.Articulos.Subsector> BuscarLista(object param, CargarRelaciones cargarEntidades) { int id = 0; int.TryParse(param.ToString(), out id); return this.Mapeador.ToListDto(this.BuscadorEntidad.BuscarLista(e => e.Sector.Id == id,cargarEntidades).ToList()); }
public IQueryable <TEnt> Consultar <TEnt>(CargarRelaciones cargarEntidadesRelacionadas) where TEnt : EntidadBase { return(this.contextos.FirstOrDefault().Consultar <TEnt>(cargarEntidadesRelacionadas)); //return this.ObtenerContextos<TEnt>().FirstOrDefault().Consultar<TEnt>(cargarEntidadesRelacionadas); }
public virtual List <TEntidad> BuscarLista(Expression <Func <TEntidad, bool> > busqueda, CargarRelaciones cargarEntidades) { return(this.Contexto.Consultar <TEntidad>(cargarEntidades).Where(busqueda).ToList()); }
public new List <Inteldev.Fixius.Servicios.DTO.Proveedores.ListaDePrecios> BuscarLista(object param, CargarRelaciones cargarEntidades) { return(base.BuscarLista(param, cargarEntidades)); }
public new Inteldev.Fixius.Servicios.DTO.Proveedores.ListaDePrecios BuscarPorCodigo <TMaestro>(object busqueda, CargarRelaciones cargarEntidades) where TMaestro : Core.Modelo.EntidadMaestro { return(base.BuscarPorCodigo <TMaestro>(busqueda, cargarEntidades)); }
public new Inteldev.Fixius.Servicios.DTO.Proveedores.ListaDePrecios BuscarSimple(object busqueda, CargarRelaciones cargarEntidades) { return(base.BuscarSimple(busqueda, cargarEntidades)); }
public virtual List <TDto> BuscarLista(object param, CargarRelaciones cargarEntidades) { return(this.Mapeador.ToListDto(this.BuscadorEntidad.BuscarLista(e => e.Id > 0, cargarEntidades)).ToList()); }