/// <summary> /// Lista los estados por los que paso la Orden de entrega. /// </summary> /// <param name="id_orden">Id de la orden de entrega</param> /// <returns>Retorna la lista de estados para la orden de entrega</returns> public static List <OrdenEstadoClass> ListarPorOrden(long id_orden) { List <OrdenEstadoClass> r = new List <OrdenEstadoClass>(); saluddbEntities mctx = new saluddbEntities(); OrdenEstadoClass x; var cur = from o in mctx.ordenestadoes where o.id_orden == id_orden select o; foreach (var f in cur) { x = new OrdenEstadoClass(); x._id_orden_entrega = f.id_orden; x._id_orden_estado = f.id_ordenestado; x._estado = (EstadoOrden)f.estado; x._fecha = (DateTime)f.fecha; x._usuario = UsuarioClass.BuscarUsuarioPorId((int)f.id_usuario); r.Add(x); } return(r); }
/// <summary> /// Función que obtiene el ultimo estado para la orden pasada como parámetro /// </summary> /// <param name="id_ordenEntrega">Id de la orden de entrega a buscar el estado</param> /// <returns>Retorna una instancia de OrdenEstadoClass o null en otro caso</returns> public static OrdenEstadoClass UltimoEstado(long id_ordenEntrega) { OrdenEstadoClass r = new OrdenEstadoClass(); saluddbEntities ctx = new saluddbEntities(); var cur = from o in ctx.ordenestadoes where o.id_orden == id_ordenEntrega orderby o.id_ordenestado descending select o; if (cur.Count() > 0) { var f = cur.First(); r._id_orden_estado = f.id_ordenestado; r._estado = (EstadoOrden)f.estado; r._fecha = (DateTime)f.fecha; r._id_orden_entrega = f.id_orden; r._usuario = UsuarioClass.BuscarUsuarioPorId(f.id_usuario); } else { r = null; } return(r); }
/// <summary> /// Lista los usuarios por nombre de usuario /// </summary> /// <param name="nombre">nombre de usuario</param> /// <param name="completo">indica si se va a cargar el usuario completo, implica cargar los permisos</param> /// <returns>Retorna una lista de usuarios</returns> public static List <UsuarioClass> ListarUsuariosPorNombre(string nombre, bool completo = false) { List <UsuarioClass> r = new List <UsuarioClass>(); saluddbEntities mctx = new saluddbEntities(); UsuarioClass x; var cur = from usu in mctx.usuarios where usu.nombre_usuario.Contains(nombre) select usu; foreach (var f in cur) { x = new UsuarioClass(); x._id_usuario = f.id_usuario; x._nombre_completo = f.nombre_completo; x._nombre_usuario = f.nombre_usuario; x._constrasenia = f.contrasenia; if (completo) { x._permisos = PermisoClass.ListarPermisosPorUsuario(f.id_usuario); } r.Add(x); } return(r); }
/// <summary> /// Busca un usuario por nombre de usuario /// </summary> /// <param name="nombre_usuario">Nombre de usuario del usuario buscado</param> /// <param name="completo">Carga el usuario completo</param> /// <returns></returns> public static UsuarioClass BuscarUsuarioPorNombre(string nombre_usuario, bool completo = false) { UsuarioClass r = new UsuarioClass(); saluddbEntities ctx = new saluddbEntities(); var cur = from u in ctx.usuarios where u.nombre_usuario == nombre_usuario select u; if (cur.Count() > 0) { var f = cur.First(); r._id_usuario = f.id_usuario; r._constrasenia = f.contrasenia; r._nombre_completo = f.nombre_completo; r._nombre_usuario = f.nombre_usuario; if (completo) { r._permisos = PermisoClass.ListarPermisosPorNombreUsuario(nombre_usuario); } } else { r = null; } return(r); }
/// <summary> /// Busca un usuario por permiso /// </summary> /// <param name="id_permiso">Id del permiso</param> /// <param name="completo">Parametro que indica si se va a obtener el usuario en forma completa, cargando sus permisos o no</param> /// <returns>Retorna el usuario</returns> public static UsuarioClass BuscarUsuarioPorPermiso(int id_permiso, bool completo = false) { UsuarioClass r = new UsuarioClass(); saluddbEntities ctx = new saluddbEntities(); var cur = from u in ctx.usuarios join p in ctx.permisoes on u.id_usuario equals p.id_usuario where p.id_permiso == id_permiso select u; if (cur.Count() > 0) { var f = cur.First(); r._id_usuario = f.id_usuario; r._constrasenia = f.contrasenia; r._nombre_completo = f.nombre_completo; r._nombre_usuario = f.nombre_usuario; if (completo) { r._permisos = PermisoClass.ListarPermisosPorUsuario(r.Id_usuario); } } else { r = null; } return(r); }
/// <summary> /// Constructor de la clase, Crea una instacia de la clase OrdenEstado con los valor proporcionados /// </summary> /// <param name="id_ordenEstado">Id de la orden de estado</param> /// <param name="id_ordenEntrega">Id de la Orden de Entrega </param> /// <param name="usuario">Usuario que realizo el cambio de estado</param> /// <param name="estado">Estado de la orden</param> /// <param name="fecha">Fecha de modificación del estado</param> public OrdenEstadoClass(int id_ordenEstado, int id_ordenEntrega, UsuarioClass usuario, EstadoOrden estado, DateTime fecha) { ctx = new saluddbEntities(); _id_orden_entrega = id_ordenEstado; _id_orden_entrega = id_ordenEntrega; _usuario = usuario; _estado = estado; _fecha = fecha; }
/// <summary> /// Constructor por defecto, crea una instancia de OrdenEstado vacía /// </summary> public OrdenEstadoClass() { ctx = new saluddbEntities(); _id_orden_estado = 0; _id_orden_entrega = 0; _usuario = new UsuarioClass(); _estado = EstadoOrden.INICIADO; _fecha = new DateTime(); }
public static List <GrillaReporteEntregaGruClass> ListarArticulosPorGrupoEntreFechasParaGrilla(int id_grupo, 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 <GrillaReporteEntregaGruClass> r = new List <GrillaReporteEntregaGruClass>(); saluddbEntities mctx = new saluddbEntities(); GrillaReporteEntregaGruClass x; /* List<BeneficiarioClass> listaBeneficiarios = BeneficiarioClass.ListarBeneficiariosPorGrupo(id_grupo); * * foreach(BeneficiarioClass b in listaBeneficiarios) * { * * }*/ //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 join bg in mctx.beneficiario_grupo on ord.id_beneficiario equals bg.id_beneficiario join g in mctx.grupoes on bg.id_gupo equals g.id_grupo join b in mctx.beneficiarios on bg.id_beneficiario equals b.id_beneficiario where g.id_grupo == id_grupo && ordE.estado == estado && ordE.fecha >= fechaDesde && ordE.fecha <= fechaHasta select new { id_articulo = art.id_articulo, cantidad_articulo = item.cantidad, nombre_articulo = art.nombre, descripcion_articulo = art.descripcion, id_tipo_articulo = art.id_tipo_articulo, id_orden_entrega = ord.id_orden, fechaEntrega_orden_entrega = ordE.fecha, id_autorizado = ord.id_usu_autoriza, id_entrega = ord.id_usu_entrega, nombre_grupo = g.nombre, nombre_benef = b.nombre, documento_benef = b.documento }; foreach (var f in cur) { x = new GrillaReporteEntregaGruClass(); x.Id_articulo = f.id_articulo; x.Cantidad_articulo = f.cantidad_articulo.ToString(); x.Nombre_articulo = f.nombre_articulo; x.Descripcion_articulo = f.descripcion_articulo; x.Tipo_articulo = TipoArticuloClass.BuscarTipoArticuloPorId(f.id_tipo_articulo).Nombre_TipoArticulo; x.Id_orden_entrega = f.id_orden_entrega; x.FechaEntrega_orden_entrega = ((DateTime)f.fechaEntrega_orden_entrega).Date.ToShortDateString(); //x.HoraEntrega_orden_entrega = ((DateTime)f.fechaEntrega_orden_entrega).Date.ToShortTimeString(); x.HoraEntrega_orden_entrega = ((DateTime)f.fechaEntrega_orden_entrega).ToShortTimeString(); x.Nombre_grupo = f.nombre_grupo; x.Nombre_beneficiario = f.nombre_benef; x.Documento_beneficiario = f.documento_benef; if ((int)f.id_autorizado != 0) { x.Autorizado_por = UsuarioClass.BuscarUsuarioPorId((int)f.id_autorizado).Nombre_completo.ToString(); } else { x.Autorizado_por = "NO AUTORIZADO"; } if ((int)f.id_entrega != 0) { x.Entregado_por = UsuarioClass.BuscarUsuarioPorId((int)f.id_entrega).Nombre_completo.ToString(); } else { x.Entregado_por = "NO ENTREGADO"; } r.Add(x); } return(r); }