/// <summary> /// Lista los artículos de la base de datos que contiene el nombre pasado como parametro en su nombre /// </summary> /// <param name="tipo">nombre del tipo de articulo</param> /// <returns>Retorna una lista (ordenada por nombre de artículo) con los artículos de ese tipo</returns> public static List <ArticuloClass> ListarArticulosPorNombre(string nombre) { List <ArticuloClass> r = new List <ArticuloClass>(); saluddbEntities mctx = new saluddbEntities(); ArticuloClass x; var cur = from a in mctx.articuloes where a.nombre.Contains(nombre) orderby a.nombre select a; foreach (var f in cur) { x = new ArticuloClass(); x._id_articulo = f.id_articulo; x._nombre_articulo = f.nombre; x._descripcion_articulo = f.descripcion; x._tipo_articulo = TipoArticuloClass.BuscarTipoArticuloPorId(f.id_tipo_articulo); r.Add(x); } return(r); }
/// <summary> /// Lista los articulos por criterio /// </summary> /// <param name="parametro">Parámetro con el que se compara para listar</param> /// <param name="criterio">Criterio de búsqueda</param> /// <returns>Lista de Artículos</returns> public static List <ArticuloClass> ListarAticulosPorCriterio(string parametro, CriterioBusqueda criterio) { List <ArticuloClass> r = new List <ArticuloClass>(); saluddbEntities mctx = new saluddbEntities(); ArticuloClass x; var cur = from b in mctx.articuloes select b; foreach (var f in cur) { bool agregar = false; switch (criterio) { case CriterioBusqueda.Busqueda_Nombre: agregar = f.nombre.Contains(parametro); break; } if (agregar) { x = new ArticuloClass(); x._id_articulo = f.id_articulo; x._nombre_articulo = f.nombre; x._descripcion_articulo = f.descripcion; x._tipo_articulo = TipoArticuloClass.BuscarTipoArticuloPorId(f.id_tipo_articulo); r.Add(x); } } return(r); }
///<summary> /// Lista todos los artículos registrados en la base de datos que fueron entregados al beneficiario (id_beneficiario) /// </summary> /// <returns>Retorna una lista de objetos de la clase ArticulosClass</returns> /// <param name="id_beneficiario">Id del beneficiario al que se le entrego artículos</param> /// <returns>Retorna una lista de objetos de la clase ArticulosClass</returns> public static List <ArticuloClass> ListarArticulosPorBeneficiario(long id_beneficiario) { List <ArticuloClass> r = new List <ArticuloClass>(); saluddbEntities mctx = new saluddbEntities(); ArticuloClass x; //une las tablas articulos, itemEntregas y ordenEntregas mediante un Join para obtener los articulos de un determinado beneficiario var cur = from ord in mctx.ordenentregas join item in mctx.itementregas on ord.id_orden equals item.id_orden join art in mctx.articuloes on item.id_articulo equals art.id_articulo where ord.id_beneficiario == id_beneficiario select art; foreach (var f in cur) { x = new ArticuloClass(); x._id_articulo = f.id_articulo; x._nombre_articulo = f.nombre; x._descripcion_articulo = f.descripcion; x._tipo_articulo = TipoArticuloClass.BuscarTipoArticuloPorId(f.id_tipo_articulo); r.Add(x); } return(r); }
/// <summary> /// Busca un artículo por Id_articulo /// </summary> /// <param name="id_articulo">ID del artículo a buscar</param> /// <returns>Retorna un objeto ArticuloClass</returns> public static ArticuloClass BuscarArticuloPorId(int id_articulo) { ArticuloClass r = new ArticuloClass(); saluddbEntities ctx = new saluddbEntities(); var cur = from a in ctx.articuloes where a.id_articulo == id_articulo select a; if (cur.Count() > 0) { var f = cur.First(); r._id_articulo = f.id_articulo; r._nombre_articulo = f.nombre; r._descripcion_articulo = f.descripcion; r._tipo_articulo = TipoArticuloClass.BuscarTipoArticuloPorId(f.id_tipo_articulo); } else { r = null; } return(r); }
/// <summary> /// Constructor de la clase ItemEntregaClass /// </summary> /// <param name="id_item_entrega">id del item</param> /// <param name="cantidad">cantidad de articulos</param> /// <param name="articulo">articulo a colocar en el item de entrega</param> public ItemEntregaClass(long id_item_entrega, int cantidad, ArticuloClass articulo) { ctx = new saluddbEntities(); _id_item_entrega = id_item_entrega; _cantidad = cantidad; _articulo = articulo; }
/// <summary> /// Constructor por defecto de la clase ItemEntregaClass /// Crea una instancia de la clase, con todas las propiedades en cero o vacias /// </summary> public ItemEntregaClass() { ctx = new saluddbEntities(); _id_item_entrega = 0; _cantidad = 0; _articulo = new ArticuloClass(); }
/// <summary> /// Busca un Item entrega según su ID /// </summary> /// <param name="id_item_entrega">Id del item entrega a buscar</param> /// <returns>retorna el objeto ItemEntrega buscado</returns> public static ItemEntregaClass BuscarItemEntregaPorId(long id_item_entrega) { ItemEntregaClass r = new ItemEntregaClass(); saluddbEntities ctx = new saluddbEntities(); var cur = from iE in ctx.itementregas where iE.id_item_entrega == id_item_entrega select iE; if (cur.Count() > 0) { var f = cur.First(); r._id_item_entrega = f.id_item_entrega; r._cantidad = (float)f.cantidad; r._articulo = ArticuloClass.BuscarArticuloPorId(f.id_articulo); } else { r = null; } return(r); }
/// <summary> /// Lista los artículos por beneficiario en las fechas determinadas. Tenieniendo en cuenta el estado de los articulos /// </summary> /// <param name="id_beneficiario">Id del beneficiario</param> /// <param name="fechaDesde">Fecha desde la cual se seleccionan los artículos</param> /// <param name="fechaHasta">Fecha hasta la cual se seleccionan los artículos</param> /// <param name="estado">Estado de los articulos relacionados con la orden y el beneficiario</param> /// <param name="completo">Lista los artículos completos</param> /// <returns></returns> public static List <ArticuloClass> ListarArticulosPorBeneficiarioEntreFechas(long id_beneficiario, DateTime fecha_desde, DateTime fecha_hasta, int estado, bool completo = false) { DateTime fechaDesde = new DateTime(fecha_desde.Year, fecha_desde.Month, fecha_desde.Day, 0, 0, 0); DateTime fechaHasta = new DateTime(fecha_hasta.Year, fecha_hasta.Month, fecha_hasta.Day, 23, 59, 59); List <ArticuloClass> r = new List <ArticuloClass>(); saluddbEntities mctx = new saluddbEntities(); ArticuloClass x; //une las tablas articulos, itemEntrega, ordenEntregas y ordenEstado mediante un Join para obtener los articulos de un determinado beneficiario var cur = from ord in mctx.ordenentregas join item in mctx.itementregas on ord.id_orden equals item.id_orden join art in mctx.articuloes on item.id_articulo equals art.id_articulo join ordE in mctx.ordenestadoes on ord.id_orden equals ordE.id_orden where ord.id_beneficiario == id_beneficiario && ordE.estado == estado && ordE.fecha >= fechaDesde && ordE.fecha <= fechaHasta select art; foreach (var f in cur) { x = new ArticuloClass(); x._id_articulo = f.id_articulo; x._nombre_articulo = f.nombre; x._descripcion_articulo = f.descripcion; x._tipo_articulo = TipoArticuloClass.BuscarTipoArticuloPorId(f.id_tipo_articulo); r.Add(x); } return(r); }
/// <summary> /// Lista los items de entrega de la orden Id_orden /// </summary> /// <param name="id_orden">Id de la orden de entrega</param> /// <returns>Retorna la lista de Items de entrega</returns> public static List <ItemEntregaClass> ListarItemEntregaPorOrden(long id_orden) { List <ItemEntregaClass> r = new List <ItemEntregaClass>(); saluddbEntities mctx = new saluddbEntities(); ItemEntregaClass x; var cur = from iE in mctx.itementregas where iE.id_orden == id_orden select iE; foreach (var f in cur) { x = new ItemEntregaClass(); x._id_item_entrega = f.id_item_entrega; x._cantidad = (float)f.cantidad; x._articulo = ArticuloClass.BuscarArticuloPorId(f.id_articulo); r.Add(x); } return(r); }