示例#1
0
文件: Rol.cs 项目: felire/TPGestion
        public void obtenerFuncionalidades()
        {
            List <int>          idsFunc         = new List <int>();
            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@rol_id", this.rol_id));
            string query = "SELECT Funcion_id " +
                           "FROM kernel_panic.Funciones_Roles " +
                           "WHERE Rol_id = @rol_id";
            SpeakerDB speaker = ConexionDB.ObtenerDataReader(query, "T", ListaParametros);

            if (speaker.reader.HasRows)
            {
                while (speaker.reader.Read())
                {
                    idsFunc.Add((int)speaker.reader["Funcion_id"]);
                }
            }
            speaker.close();
            ListaParametros.Clear();
            ListaParametros.Add(new SqlParameter("@rol_id", this.rol_id));
            query = "SELECT Nombre " +
                    "FROM kernel_panic.Roles " +
                    "WHERE Id = @rol_id";
            speaker = ConexionDB.ObtenerDataReader(query, "T", ListaParametros);
            if (speaker.reader.HasRows)
            {
                speaker.reader.Read();
                this.nombreRol = (string)speaker.reader["Nombre"];
            }

            foreach (int fun_id in idsFunc)
            {
                this.funcionalidades.Add(new Funcionalidad(fun_id));
            }
            speaker.close();
        }
示例#2
0
        public static List <Turno> darTurnos(Afiliado afiliado, Profesional profesional)
        {
            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@idAfiliado", afiliado.id));
            ListaParametros.Add(new SqlParameter("@idProfesional", profesional.id));
            ListaParametros.Add(new SqlParameter("@fecha", DateTime.Parse(ArchivoDeConfiguracion.Default.Fecha).Date));
            string query = "SELECT Id, Fecha, Especialidad " +
                           "FROM kernel_panic.Turnos " +
                           "WHERE Afiliado_id = @idAfiliado " +
                           "AND Profesional_id = @idProfesional " +
                           "AND CONVERT(DATE,Fecha) = CONVERT(DATE,@fecha) " +
                           "AND Fecha_llegada IS NULL " +
                           "AND Cancelacion IS NULL " +
                           "ORDER BY Fecha ASC";
            SpeakerDB    speaker = ConexionDB.ObtenerDataReader(query, "T", ListaParametros);
            List <Turno> turnos  = new List <Turno>();

            if (speaker.reader.HasRows)
            {
                while (speaker.reader.Read())
                {
                    Turno turno = new Turno();
                    turno.id                 = (int)speaker.reader["Id"];
                    turno.fecha              = (DateTime)speaker.reader["Fecha"];
                    turno.especialidad       = new Especialidad((decimal)speaker.reader["Especialidad"]);
                    turno.afiliado           = afiliado;
                    turno.profesional        = profesional;
                    turno.especialidadNombre = turno.especialidad.descripcion;
                    turno.profesionalNombre  = turno.profesional.apellido + ", " + turno.profesional.nombre;
                    turnos.Add(turno);
                }
            }
            speaker.close();
            return(turnos);
        }
示例#3
0
文件: Rol.cs 项目: felire/TPGestion
        public void actualizarFuncionalidades(List <Funcionalidad> funcionalidades)
        {
            this.funcionalidades.Clear();
            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@idRol", this.rol_id));
            string query = "DELETE FROM kernel_panic.Funciones_Roles " +
                           "WHERE Rol_id = @idRol";
            SpeakerDB speaker = ConexionDB.ExecuteNoQuery(query, "T", ListaParametros);

            speaker.close();
            foreach (Funcionalidad funcionalidad in funcionalidades)
            {
                ListaParametros.Clear();
                ListaParametros.Add(new SqlParameter("@rol_id", this.rol_id));
                ListaParametros.Add(new SqlParameter("@funcionalidad_id", funcionalidad.funcionalidad_id));
                query = "INSERT INTO kernel_panic.Funciones_Roles " +
                        "(Rol_id, Funcion_id) " +
                        "VALUES (@rol_id, @funcionalidad_id)";
                speaker = ConexionDB.ExecuteNoQuery(query, "T", ListaParametros);
                speaker.close();
                this.funcionalidades.Add(funcionalidad);
            }
        }
示例#4
0
        public void registrarAltaConyuge(Afiliado conyuge)
        {
            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@Nom", nombre));
            ListaParametros.Add(new SqlParameter("@Ape", apellido));
            ListaParametros.Add(new SqlParameter("@Tipo_doc", tipoDoc));
            ListaParametros.Add(new SqlParameter("@Doc", documento));
            ListaParametros.Add(new SqlParameter("@Dire", domicilio));
            ListaParametros.Add(new SqlParameter("@Tel", telefono));
            ListaParametros.Add(new SqlParameter("@Mail", mail));
            ListaParametros.Add(new SqlParameter("@Fecha_nac", fechaNac));
            ListaParametros.Add(new SqlParameter("@Sexo", sexo));
            ListaParametros.Add(new SqlParameter("@IdAfiInput", conyuge.id));
            SqlParameter parametroSalida = new SqlParameter("@IdAfiReal", 0);

            parametroSalida.Direction = ParameterDirection.Output;
            ListaParametros.Add(parametroSalida);
            SpeakerDB speaker    = ConexionDB.ExecuteNoQuery("kernel_panic.alta_conyuge", "SP", ListaParametros);
            int       idAfiliado = Int32.Parse(speaker.comando.Parameters["@IdAfiReal"].Value.ToString());

            this.id = idAfiliado;
            speaker.close();
        }
示例#5
0
        public static List <Listado3> obtenerResultados(int anio, int semestre, decimal especialidad)
        {
            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@anio", anio.ToString()));
            ListaParametros.Add(new SqlParameter("@especialidad", especialidad));

            SpeakerDB speaker;



            if (semestre == 1)
            {
                speaker = ConexionDB.ObtenerDataReader("SELECT TOP 5 P.Id Id, P.Nombre nombre, P.Apellido apellido, P.Tipo_doc tipoDoc, P.Numero_doc numeroDoc, E.Desde desde,E.Hasta hasta,CASE WHEN (E.Desde<='01-01-'+@anio AND E.Hasta>='30-06-'+@anio) " + //,SUM(DATEDIFF(hour,AD.Desde, AD.Hasta))*DATEDIFF(week, E.Desde, E.Hasta) HorasTrabajadasEnFranja " +
                                                       "THEN SUM(DATEDIFF(hour,AD.Desde, AD.Hasta))*DATEDIFF(week, '01-01-'+@anio, '30-06-'+@anio) " +
                                                       "WHEN (E.Hasta>='01-01-'+@anio AND E.Hasta<='30-06-'+@anio) " +
                                                       "THEN SUM(DATEDIFF(hour,AD.Desde, AD.Hasta))*DATEDIFF(week, '01-01-'+@anio, E.Hasta) " +
                                                       "WHEN (E.Desde>='01-01-'+@anio AND E.Desde<='30-06-'+@anio) " +
                                                       "THEN SUM(DATEDIFF(hour,AD.Desde, AD.Hasta))*DATEDIFF(week, E.Desde, '30-06-'+@anio) " +
                                                       "END HorasTrabajadasEnFranja " +

                                                       "FROM kernel_panic.Profesionales P JOIN kernel_panic.Esquema_Trabajo E ON (E.Profesional = P.Id) " +
                                                       "JOIN kernel_panic.Agenda_Diaria AD ON (AD.EsquemaTrabajo = E.Id) " +
                                                       "WHERE (E.Desde<='01-01-'+@anio AND E.Hasta>='30-06-'+@anio) OR " +
                                                       "(E.Hasta>='01-01-'+@anio AND E.Hasta<='30-06-'+@anio) OR " +
                                                       "(E.Desde>='01-01-'+@anio AND E.Desde<='30-06-'+@anio) " +
                                                       "AND AD.Especialidad = @especialidad " +
                                                       "GROUP BY  P.Id, P.Nombre, P.Apellido, P.Tipo_doc, P.Numero_doc,E.Desde,E.Hasta " +
                                                       "ORDER BY HorasTrabajadasEnFranja ASC", "T", ListaParametros);
            }
            else
            {
                speaker = ConexionDB.ObtenerDataReader("SELECT TOP 5 P.Id Id, P.Nombre nombre, P.Apellido apellido, P.Tipo_doc tipoDoc, P.Numero_doc numeroDoc, E.Desde desde,E.Hasta hasta,CASE WHEN (E.Desde<='01-07-'+@anio AND E.Hasta>='31-12-'+@anio) " +
                                                       "THEN SUM(DATEDIFF(hour,AD.Desde, AD.Hasta))*DATEDIFF(week, '01-07-'+@anio, '31-12-'+@anio) " +
                                                       "WHEN (E.Hasta>='01-07-'+@anio AND E.Hasta<='30-06-'+@anio) " +
                                                       "THEN SUM(DATEDIFF(hour,AD.Desde, AD.Hasta))*DATEDIFF(week, '01-07-'+@anio, E.Hasta) " +
                                                       "WHEN (E.Desde>='01-07-'+@anio AND E.Desde<='31-12-'+@anio) " +
                                                       "THEN SUM(DATEDIFF(hour,AD.Desde, AD.Hasta))*DATEDIFF(week, E.Desde, '31-12-'+@anio) " +
                                                       "END HorasTrabajadasEnFranja " +

                                                       "FROM kernel_panic.Profesionales P JOIN kernel_panic.Esquema_Trabajo E ON (E.Profesional = P.Id) " +
                                                       "JOIN kernel_panic.Agenda_Diaria AD ON (AD.EsquemaTrabajo = E.Id) " +
                                                       "WHERE (E.Desde<='01-07-'+@anio AND E.Hasta>='31-12-'+@anio) OR " +
                                                       "(E.Hasta>='01-07-'+@anio AND E.Hasta<='31-12-'+@anio) OR " +
                                                       "(E.Desde>='01-07-'+@anio AND E.Desde<='31-12-'+@anio) " +
                                                       "AND AD.Especialidad = @especialidad " +
                                                       "GROUP BY  P.Id, P.Nombre, P.Apellido, P.Tipo_doc, P.Numero_doc,E.Desde,E.Hasta " +
                                                       "ORDER BY HorasTrabajadasEnFranja ASC", "T", ListaParametros);
            }
            List <Listado3> lista = new List <Listado3>();

            if (speaker.reader.HasRows)
            {
                while (speaker.reader.Read())
                {
                    Listado3 listado = new Listado3();
                    listado.id              = (int)speaker.reader["Id"];
                    listado.nombre          = (string)speaker.reader["nombre"];
                    listado.apellido        = (string)speaker.reader["apellido"];
                    listado.tipoDocumento   = (string)speaker.reader["tipoDoc"];
                    listado.documento       = (decimal)speaker.reader["numeroDoc"];
                    listado.desde           = (DateTime)speaker.reader["desde"];
                    listado.hasta           = (DateTime)speaker.reader["hasta"];
                    listado.horasTrabajadas = (int)speaker.reader["HorasTrabajadasEnFranja"];
                    lista.Add(listado);
                }
            }
            speaker.close();
            return(lista);
        }
示例#6
0
        public static List <Afiliado> buscar(int activo, string nombre, string apellido, string grupo, string tipoDoc, string doc)
        {
            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@nombre", "%" + nombre + "%"));
            ListaParametros.Add(new SqlParameter("@apellido", "%" + apellido + "%"));
            ListaParametros.Add(new SqlParameter("@esta_activo", activo));
            ListaParametros.Add(new SqlParameter("@tipoDoc", tipoDoc));
            SpeakerDB speaker;
            string    query;

            // pueden pasar el documento o no, y el numero de grupo podria ser 0 que significa que no busca por ese campo
            if (doc.Equals(""))
            {
                if (grupo.Equals(""))
                {
                    query = "SELECT Nombre, Apellido, Tipo_doc, Numero_doc, Id, Numero_de_grupo, Numero_en_el_grupo " +
                            "FROM kernel_panic.Afiliados " +
                            "WHERE Nombre LIKE @nombre " +
                            "AND  Apellido LIKE @apellido " +
                            "AND Tipo_doc = @tipoDoc " +
                            "AND Esta_activo = @esta_activo";
                    speaker = ConexionDB.ObtenerDataReader(query, "T", ListaParametros);
                }
                else
                {
                    ListaParametros.Add(new SqlParameter("@grupo", Int16.Parse(grupo)));
                    query = "SELECT Nombre, Apellido, Tipo_doc, Numero_doc, Id, Numero_de_grupo, Numero_en_el_grupo " +
                            "FROM kernel_panic.Afiliados " +
                            "WHERE Nombre LIKE @nombre " +
                            "AND  Apellido LIKE @apellido " +
                            "AND Numero_de_grupo LIKE @grupo " +
                            "AND Tipo_doc = @tipoDoc " +
                            "AND Esta_activo = @esta_activo";
                    speaker = ConexionDB.ObtenerDataReader(query, "T", ListaParametros);
                }
            }
            else
            {
                ListaParametros.Add(new SqlParameter("@doc", "%" + doc + "%"));
                if (grupo.Equals(""))
                {
                    query = "SELECT Nombre, Apellido, Tipo_doc, Numero_doc, Id, Numero_de_grupo, Numero_en_el_grupo " +
                            "FROM kernel_panic.Afiliados " +
                            "WHERE Nombre LIKE @nombre " +
                            "AND Apellido LIKE @apellido " +
                            "AND Tipo_doc = @tipoDoc " +
                            "AND CAST(Numero_doc AS VARCHAR(20)) LIKE @doc " +
                            "AND Esta_activo = @esta_activo";
                    speaker = ConexionDB.ObtenerDataReader(query, "T", ListaParametros);
                }
                else
                {
                    ListaParametros.Add(new SqlParameter("@grupo", Int16.Parse(grupo)));
                    query = "SELECT Nombre, Apellido, Tipo_doc, Numero_doc, Id, Numero_de_grupo, Numero_en_el_grupo " +
                            "FROM kernel_panic.Afiliados " +
                            "WHERE Nombre LIKE @nombre " +
                            "AND Apellido LIKE @apellido " +
                            "AND Numero_de_grupo = @grupo " +
                            "AND Tipo_doc = @tipoDoc " +
                            "AND CAST(Numero_doc AS VARCHAR(20)) LIKE @doc " +
                            "AND Esta_activo = @esta_activo";
                    speaker = ConexionDB.ObtenerDataReader(query, "T", ListaParametros);
                }
            }
            List <Afiliado> afiliados = new List <Afiliado>();

            if (speaker.reader.HasRows)
            {
                while (speaker.reader.Read())
                {
                    Afiliado afiliado = new Afiliado();
                    afiliado.id              = (int)speaker.reader["Id"];
                    afiliado.numeroDeGrupo   = (int)speaker.reader["Numero_de_grupo"];
                    afiliado.numeroEnElGrupo = (int)speaker.reader["Numero_en_el_grupo"];
                    afiliado.esta_activo     = true;
                    afiliado.apellido        = (string)speaker.reader["Apellido"];
                    afiliado.nombre          = (string)speaker.reader["Nombre"];
                    afiliado.tipoDoc         = (string)speaker.reader["Tipo_doc"];
                    afiliado.documento       = (decimal)speaker.reader["Numero_doc"];
                    afiliados.Add(afiliado);
                }
            }
            speaker.close();
            return(afiliados);
        }