/// <summary>
        /// Top 5 especialidades de medicos con más bonos de consultas consumidos.
        /// </summary>
        /// <param name="año"></param>
        /// <param name="inicio"></param>
        /// <param name="fin"></param>
        /// <returns></returns>
        public static DataTable get_top5_esp_con_mas_bonos(int año, int inicio, int fin)
        {
            try
            {
                string sql = "KFC.pro_top_5_espec_Atenciones @año, @plazo_init, @plazo_fin";

                SqlParameter parametro1 = new SqlParameter("@año", SqlDbType.Int);
                parametro1.Value = año;
                SqlParameter parametro2 = new SqlParameter("@plazo_init", SqlDbType.Int);
                parametro2.Value = inicio;
                SqlParameter parametro3 = new SqlParameter("@plazo_fin", SqlDbType.Int);
                parametro3.Value = fin;


                SqlCommand cmd = new SqlCommand(sql, Conexion.Instance.get());
                cmd.Parameters.Add(parametro1);
                cmd.Parameters.Add(parametro2);
                cmd.Parameters.Add(parametro3);

                DataTable dt = new DataTable();

                SqlDataAdapter da = new SqlDataAdapter(cmd);

                //Lleno la tabla
                da.Fill(dt);

                return(dt);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                return(new DataTable());
            }
        }
        public static void crearAgenda(int idProfesional, DateTime fechaDesde, DateTime fechaHasta, List <HorariosDia> diasAgenda, string especialidad)
        {
            try
            {
                foreach (HorariosDia dia in diasAgenda)
                {
                    string sql = "KFC.pro_crear_agenda_profesional";

                    SqlParameter parametro1 = new SqlParameter("@especialidad", SqlDbType.VarChar);
                    parametro1.Value = especialidad;
                    SqlParameter parametro2 = new SqlParameter("@prof_id", SqlDbType.Int);
                    parametro2.Value = idProfesional;
                    SqlParameter parametro3 = new SqlParameter("@dia", SqlDbType.Int);
                    parametro3.Value = dia.diaSemana;
                    SqlParameter parametro4 = new SqlParameter("@fecha_desde", SqlDbType.DateTime);
                    parametro4.Value = fechaDesde.Date.Add(TimeSpan.Parse(dia.horaDesde));
                    SqlParameter parametro5 = new SqlParameter("@fecha_hasta", SqlDbType.DateTime);
                    parametro5.Value = fechaHasta.Date.Add(TimeSpan.Parse(dia.horaHasta));

                    var parametros = new List <SqlParameter>();
                    parametros.Add(parametro1);
                    parametros.Add(parametro2);
                    parametros.Add(parametro3);
                    parametros.Add(parametro4);
                    parametros.Add(parametro5);

                    InteraccionDB.ejecutar_storedProcedure(sql, parametros);
                }
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        /// <summary>
        /// Obtiene el id de un afiliado a partir de su nombre y apellido y id de usuario.
        /// </summary>
        /// <param name="nombre"></param>
        /// <param name="apellido"></param>
        /// <param name="user_id"></param>
        /// <returns></returns>
        public static int obtenerID_afiliado(string nombre, string apellido, int user_id)
        {
            try
            {
                string       funcion    = "SELECT KFC.fun_retornar_id_afildo_por_id(@nombre, @apellido,@us_id)";
                SqlParameter parametro1 = new SqlParameter("@nombre", SqlDbType.Text);
                parametro1.Value = nombre.ToUpper();
                SqlParameter parametro2 = new SqlParameter("@apellido", SqlDbType.Text);
                parametro2.Value = apellido.ToUpper();
                SqlParameter parametro3 = new SqlParameter("@us_id", SqlDbType.Int);
                parametro3.Value = user_id;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);

                var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);

                int id = InteraccionDB.ObtenerIntReader(reader, 0);

                return(id);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
        public static string obtener_nombre_plan(int id_usuario)
        {
            try
            {
                string       funcion   = "SELECT * FROM KFC.fun_obtener_planes_afiliado(@afiliado_id)";
                SqlParameter parametro = new SqlParameter("@afiliado_id", SqlDbType.Int);
                parametro.Value = id_usuario;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro);

                var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);

                List <string> Multiples_Planes = InteraccionDB.ObtenerStringsReader(reader, 4);

                //Obtengo solo el primer plan, si tuviera varios (no deberia pasar que tenga varios)
                string plan_Actual = Convert.ToString(Multiples_Planes.ToArray()[0]);
                return(plan_Actual);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
Example #5
0
        /// <summary>
        /// registrar la llegada de un paciente al turno
        /// </summary>
        /// <param name="id_afiliado"></param>
        /// <param name="id_turno"></param>
        /// <param name="id_bono"></param>
        /// <returns></returns>
        public static void registrar_llegada(int id_afiliado, int id_turno, int id_bono, TimeSpan hora)
        {
            try
            {
                string sql = "KFC.registrar_llegada";

                SqlParameter parametro1 = new SqlParameter("@id_afiliado", SqlDbType.Int);
                parametro1.Value = id_afiliado;
                SqlParameter parametro2 = new SqlParameter("@id_turno", SqlDbType.Int);
                parametro2.Value = id_turno;
                SqlParameter parametro3 = new SqlParameter("@id_bono", SqlDbType.Int);
                parametro3.Value = id_bono;
                SqlParameter parametro4 = new SqlParameter("@hora", SqlDbType.Time);
                parametro4.Value = hora;
                SqlParameter parametro5 = new SqlParameter("@fecha", SqlDbType.DateTime);
                parametro5.Value = DateTime.Parse(Configuracion_Global.fecha_actual);

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);
                parametros.Add(parametro5);

                InteraccionDB.ejecutar_storedProcedure(sql, parametros);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
Example #6
0
        public static void registrar_atencion(int turnoID, string diagnostico, string sintomas, DateTime horaConfigurada)
        {
            try
            {
                string sql = "KFC.pro_registrar_atencion";

                SqlParameter parametro1 = new SqlParameter("@turno_id", SqlDbType.Int);
                parametro1.Value = turnoID;
                SqlParameter parametro2 = new SqlParameter("@diagnostico", SqlDbType.VarChar);
                parametro2.Value = diagnostico;
                SqlParameter parametro3 = new SqlParameter("@sintomas", SqlDbType.VarChar);
                parametro3.Value = sintomas;
                SqlParameter parametro4 = new SqlParameter("@fecha", SqlDbType.DateTime);
                parametro4.Value = horaConfigurada;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);

                InteraccionDB.ejecutar_storedProcedure(sql, parametros);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        public static int obtenerID_rol(string nombre)
        {
            try
            {
                string       funcion   = "SELECT KFC.fun_retornar_id_rol(@rol_nombre)";
                SqlParameter parametro = new SqlParameter("@rol_nombre", SqlDbType.Text);
                parametro.Value = nombre.ToUpper();
                var parametros = new List <SqlParameter>();
                parametros.Add(parametro);

                int id = -1;
                try
                {
                    var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);
                    id = InteraccionDB.ObtenerIntReader(reader, 0);
                    if (id == -1)
                    {
                        throw new Exception("No Se encuentra al ROL");
                    }
                }
                catch (Exception e)
                {
                    InteraccionDB.ImprimirExcepcion(e);
                    throw new Exception("No existe el Rol. Error: " + e.Message);
                }

                return(id);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw new Exception("No Pudieron Obtenerse el Rol. Error: " + e.Message);
            }
        }
        /// <summary>
        /// Obtiene los Turnos a partir de filtros Like de nombre y apellido (afiliado y profesional) y descripcion especialidad.
        /// </summary>
        /// <returns></returns>
        public static DataTable obtener_turnos_filtros(string afil_nombre, string afil_apellido, string prof_nombre, string prof_apellido, string descripcion_especialidad)
        {
            try
            {
                string       funcion    = "SELECT * FROM KFC.fun_obtener_turnos_sin_diagnostico_profesional(@afil_nombre, @afil_apellido, @prof_nombre, @prof_apellido, @prof_especialidad)";
                SqlParameter parametro1 = new SqlParameter("@afil_nombre", SqlDbType.Text);
                parametro1.Value = afil_nombre.ToUpper();
                SqlParameter parametro2 = new SqlParameter("@afil_apellido", SqlDbType.Text);
                parametro2.Value = afil_apellido.ToUpper();
                SqlParameter parametro3 = new SqlParameter("@prof_nombre", SqlDbType.Text);
                parametro3.Value = prof_nombre.ToUpper();
                SqlParameter parametro4 = new SqlParameter("@prof_apellido", SqlDbType.Text);
                parametro4.Value = prof_apellido.ToUpper();
                SqlParameter parametro5 = new SqlParameter("@prof_especialidad", SqlDbType.Text);
                parametro5.Value = descripcion_especialidad.ToUpper();


                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);
                parametros.Add(parametro5);

                var tabla_datos = InteraccionDB.ejecutar_funcion_table(funcion, parametros);

                return(tabla_datos);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
        public static DataTable obtener_turnos_disponibles(string nombre, string apellido, string descripcion_especialidad, string fecha_texto)
        {
            try
            {
                string       funcion    = "SELECT  * FROM KFC.fun_obtener_turnos_profesional(@prof_nombre, @prof_apellido, @desc_esp,  @fecha)";
                SqlParameter parametro1 = new SqlParameter("@prof_nombre", SqlDbType.Text);
                parametro1.Value = nombre;
                SqlParameter parametro2 = new SqlParameter("@prof_apellido", SqlDbType.Text);
                parametro2.Value = apellido;
                SqlParameter parametro3 = new SqlParameter("@desc_esp", SqlDbType.Text);
                parametro3.Value = descripcion_especialidad;
                SqlParameter parametro4 = new SqlParameter("@fecha", SqlDbType.Text);
                parametro4.Value = fecha_texto;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);

                var turnos = InteraccionDB.ejecutar_funcion_table(funcion, parametros);

                return(turnos);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
        public static List <string> getBonos(int afiliado_id)
        {
            try
            {
                string       funcion   = "SELECT * FROM  KFC.fun_obtener_bonos_afiliado(@afiliado_id)";
                SqlParameter parametro = new SqlParameter("@afiliado_id", SqlDbType.Int);
                parametro.Value = afiliado_id;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro);

                var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);

                List <string> bonos = InteraccionDB.ObtenerStringsReader(reader, 0);

                return(bonos);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                if (e.Message.Contains("Resultado Vacio"))
                {
                    throw new Exception("No hay Bonos Disponibles para el Afiliado");
                }

                throw e;
            }
        }
Example #11
0
        private static void intentos_aumentar_fallidos_logIn(string usuario)
        {
            try
            {
                string       procedure = "KFC.pro_aumentar_intentos";
                SqlParameter parametro = new SqlParameter("@usu_nick", SqlDbType.Text);
                parametro.Value = usuario;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro);


                var reader = InteraccionDB.ejecutar_storedProcedure(procedure, parametros);

                //Veo si trajo datos o no.
                if (reader.RecordsAffected <= 0)
                {
                    throw new Exception("No se pudo Aumentar intentos fallidos a usuario");
                }
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        public static DataTable obtener_turnos_con_llegada(string afiliado_nombre, string afiliado_apellido, string documento, int profID)
        {
            try
            {
                string       funcion    = "SELECT * FROM KFC.fun_obtener_turnos_con_llegada(@afil_nombre, @afil_apellido, @documento, @prof_id)";
                SqlParameter parametro1 = new SqlParameter("@afil_nombre", SqlDbType.Text);
                parametro1.Value = afiliado_nombre.ToUpper();
                SqlParameter parametro2 = new SqlParameter("@afil_apellido", SqlDbType.Text);
                parametro2.Value = afiliado_apellido.ToUpper();
                SqlParameter parametro3 = new SqlParameter("@documento", SqlDbType.Text);
                parametro3.Value = documento;
                SqlParameter parametro4 = new SqlParameter("@prof_id", SqlDbType.Int);
                parametro4.Value = profID;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);

                var tabla_datos = InteraccionDB.ejecutar_funcion_table(funcion, parametros);

                return(tabla_datos);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        public static void quitar_funcionalidad(int id_rol, string descripcion_funcionalidad)
        {
            try
            {
                string       procedure  = "KFC.pro_quitar_funcionalidad_de_rol";
                SqlParameter parametro1 = new SqlParameter("@func_desc", SqlDbType.Text);
                SqlParameter parametro2 = new SqlParameter("@rol_id", SqlDbType.Int);
                parametro1.Value = descripcion_funcionalidad;
                parametro2.Value = id_rol;
                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                var reader = InteraccionDB.ejecutar_storedProcedure(procedure, parametros);

                //Veo si trajo datos o no. No se porque siempre devuelve -1
                if (reader.RecordsAffected != -1)
                {
                    throw new Exception("No se pudo quitar la Funcionalidad al Rol:'" + id_rol + "'.");
                }

                //MessageBox.Show("Quitada funcionalidad: " + descripcion_funcionalidad, "Modificar Rol", MessageBoxButtons.OK, MessageBoxIcon.None);

                return;
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
        /// <summary>
        /// Baja de afiliado si la baja ha sido exitosa,devuelve ok
        /// </summary>
        /// <param name="afil_id"></param>
        /// <returns></returns>
        public static bool baja_afiliado(int afil_id)
        {
            try
            {
                SqlConnection conexion = Conexion.Instance.get();

                SqlCommand comando_sql = new SqlCommand("kfc.baja_afiliado @afiliado, @fecha", conexion);
                var        parametro0  = new SqlParameter("@afiliado", SqlDbType.Int);
                var        parametro1  = new SqlParameter("@fecha", SqlDbType.VarChar);

                parametro0.Value = afil_id;
                parametro1.Value = Configuracion_Global.fecha_actual;

                comando_sql.Parameters.Add(parametro0);
                comando_sql.Parameters.Add(parametro1);

                comando_sql.ExecuteReader();
                return(true);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                return(false);
            }
        }
        /// Parametriza los datos y administra la conexion con la BD para la modificación del afiliado
        /// </summary>
        /// <param name="afiliado"></param>
        /// <returns></returns>
        public static void modifica_afiliado(Afiliado afiliado)
        {
            try
            {
                //TODO pasar todo esto a metodo con Variable Args para parameters y fijo primer parametro string sql
                SqlConnection conexion = Conexion.Instance.get();

                SqlCommand comando_sql = new SqlCommand("kfc.modifica_afiliado @afiliado, @tipo_doc, @direccion, @telefono, @mail, @sexo, @estado, @plan, @fecha", conexion);
                var        parametro0  = new SqlParameter("@afiliado", SqlDbType.Int);
                var        parametro3  = new SqlParameter("@tipo_doc", SqlDbType.Text);
                var        parametro4  = new SqlParameter("@direccion", SqlDbType.Text);
                //var parametro5 = new SqlParameter("@telefono", SqlDbType.Int);
                var parametro6  = new SqlParameter("@mail", SqlDbType.Text);
                var parametro7  = new SqlParameter("@sexo", SqlDbType.Char);
                var parametro9  = new SqlParameter("@estado", SqlDbType.Int);
                var parametro10 = new SqlParameter("@plan", SqlDbType.Int);
                var parametro12 = new SqlParameter("@fecha", SqlDbType.VarChar);

                parametro0.Value = afiliado.id;
                parametro3.Value = afiliado.tipo_doc.ToUpper();
                parametro4.Value = afiliado.direccion.ToUpper();
                //parametro5.Value = afiliado.telefono;
                parametro6.Value  = afiliado.e_mail.ToUpper();
                parametro7.Value  = afiliado.sexo;
                parametro9.Value  = afiliado.estado_civil;
                parametro10.Value = afiliado.plan_id;
                parametro12.Value = Configuracion_Global.fecha_actual;

                comando_sql.Parameters.Add(parametro0);
                comando_sql.Parameters.Add(parametro3);
                comando_sql.Parameters.Add(parametro4);
                //comando_sql.Parameters.Add(parametro5);
                if (afiliado.telefono == null)
                {
                    comando_sql.Parameters.AddWithValue("@telefono", DBNull.Value);
                }
                else
                {
                    var parametro5 = new SqlParameter("@telefono", SqlDbType.Int);
                    parametro5.Value = afiliado.telefono;
                    comando_sql.Parameters.Add(parametro5);
                }
                comando_sql.Parameters.Add(parametro6);
                comando_sql.Parameters.Add(parametro7);
                comando_sql.Parameters.Add(parametro9);
                comando_sql.Parameters.Add(parametro10);
                comando_sql.Parameters.Add(parametro12);

                comando_sql.ExecuteReader();
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
        public static Afiliado get_afiliado(int afiliado_id)
        {
            try
            {
                //Declaro un Objeto del tipo del retorno
                var afiliado = new Afiliado();

                //creo la tabla que va a traer los registros
                DataTable dt = new DataTable();

                SqlConnection conexion = Conexion.Instance.get();
                SqlCommand    cmd      = new SqlCommand("kfc.get_afiliado @id_afiliado", conexion);

                var parametro1 = new SqlParameter("@id_afiliado", SqlDbType.Int);
                parametro1.Value = afiliado_id;
                cmd.Parameters.Add(parametro1);

                SqlDataAdapter da = new SqlDataAdapter(cmd);

                //Lleno la tabla
                da.Fill(dt);

                //La recorro para armar la lista
                foreach (DataRow pRow in dt.Rows)
                {
                    afiliado = new Afiliado();

                    afiliado.id           = Int32.Parse(pRow["afil_id"].ToString());
                    afiliado.nombre       = pRow["nombre"].ToString();
                    afiliado.apellido     = pRow["apellido"].ToString();
                    afiliado.tipo_doc     = pRow["tipo_doc"].ToString();
                    afiliado.nro_doc      = Int32.Parse(pRow["numero_doc"].ToString());
                    afiliado.direccion    = pRow["direccion"].ToString();
                    afiliado.telefono     = string.IsNullOrEmpty(pRow["telefono"].ToString().Trim())? new Int32?() : Int32.Parse(pRow["telefono"].ToString());
                    afiliado.e_mail       = pRow["mail"].ToString();
                    afiliado.sexo         = pRow["sexo"].ToString()[0];
                    afiliado.fecha_nac    = DateTime.Parse(pRow["fecha_nacimiento"].ToString());
                    afiliado.estado_civil = Int32.Parse(pRow["estado_id"].ToString());
                    afiliado.plan_id      = Int32.Parse(pRow["plan_id"].ToString());
                    afiliado.usuario      = Int32.Parse(pRow["us_id"].ToString());
                }

                return(afiliado);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        public static List <string> obtener_turnos_cancelables(Usuario usuario)
        {
            try
            {
                int idAfiliado = BD_Afiliados.obtenerID_afiliado(usuario.nombre, usuario.apellido, usuario.id);

                string       funcion    = "SELECT  * FROM KFC.fun_obtener_turnos_cancelables(@afil_id, @fecha_formato_string )";
                SqlParameter parametro1 = new SqlParameter("@afil_id", SqlDbType.Int);
                parametro1.Value = idAfiliado;
                SqlParameter parametro2 = new SqlParameter("@fecha_formato_string", SqlDbType.Text);
                parametro2.Value = Configuracion_Global.fecha_actual;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);

                var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);

                if (!reader.HasRows)
                {
                    throw new Exception("No se han encontrado Turnos Cancelables");
                }

                List <string> turnos = new List <string>();

                while (reader.Read())
                {
                    string profesional  = reader.GetString(0);
                    string fecha        = reader.GetString(1);
                    string hora         = reader.GetTimeSpan(2).ToString();
                    string especialidad = reader.GetString(3);

                    string turno = profesional + " - " + especialidad + " - " + fecha + " - " + hora;
                    turnos.Add(turno);
                }

                if (turnos.Count == 0)
                {
                    throw new Exception("No se Encontraron los turnos Cancelables");
                }

                return(turnos);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        public static void cancelar_turno(string nombreProfesional, string apellidoProfesional, string especialidad, DateTime fecha, string hora, string motivo, string tipo)
        {
            try
            {
                string       procedure  = "KFC.pro_cancelar_turno";
                SqlParameter parametro1 = new SqlParameter("@fecha", SqlDbType.Date);
                parametro1.Value = fecha;
                SqlParameter parametro2 = new SqlParameter("@hora", SqlDbType.Text);
                parametro2.Value = hora;
                SqlParameter parametro3 = new SqlParameter("@espe_desc", SqlDbType.Text);
                parametro3.Value = especialidad;
                SqlParameter parametro4 = new SqlParameter("@prof_nombre", SqlDbType.Text);
                parametro4.Value = nombreProfesional;
                SqlParameter parametro5 = new SqlParameter("@prof_apellido", SqlDbType.Text);
                parametro5.Value = apellidoProfesional;
                SqlParameter parametro6 = new SqlParameter("@motivo", SqlDbType.Text);
                parametro6.Value = motivo;
                SqlParameter parametro7 = new SqlParameter("@tipo", SqlDbType.Text);
                parametro7.Value = tipo;
                SqlParameter parametro8 = new SqlParameter("@fecha_formato_string", SqlDbType.Text);
                parametro8.Value = Configuracion_Global.fecha_actual;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);
                parametros.Add(parametro5);
                parametros.Add(parametro6);
                parametros.Add(parametro7);
                parametros.Add(parametro8);

                var reader = InteraccionDB.ejecutar_storedProcedure(procedure, parametros);

                if (reader.RecordsAffected <= 0)
                {
                    throw new Exception("No se pudo cancelar el turno");
                }

                return;
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
Example #19
0
        /*
         * /// <summary>
         * /// Obtiene los turnos para el dia de hoy del paciente
         * /// </summary>
         * /// <param name="afiliado_id"></param>
         * /// <param name="especialidad_id"></param>
         * /// <param name="profesional_id"></param>
         * /// <returns></returns>
         * public static List<Turno> get_turno_hoy_paciente(int afiliado_id, int especialidad_id, int profesional_id)
         * {
         *
         *  try
         *  {
         *      //Declaro un Objeto del tipo del retorno
         *      var lista_turnos = new List<ComboData>();
         *
         *      //creo la tabla que va a traer los registros
         *      DataTable dt = new DataTable();
         *
         *      SqlConnection conexion = Conexion.Instance.get();
         *
         *      string sql = "kfc.get_turno_hoy_paciente @afiliado_id, @especialidad_id, @profesional_id, @fecha ";
         *
         *      SqlCommand cmd = new SqlCommand(sql, conexion);
         *      SqlDataAdapter da = new SqlDataAdapter(cmd);
         *
         *      var parametro1 = new SqlParameter("@afiliado_id", SqlDbType.Int);
         *      var parametro2 = new SqlParameter("@especialidad_id", SqlDbType.Int);
         *      var parametro3 = new SqlParameter("@profesional_id", SqlDbType.Int);
         *      var parametro4 = new SqlParameter("@fecha", SqlDbType.DateTime);
         *      parametro1.Value = afiliado_id;
         *      parametro2.Value = especialidad_id;
         *      parametro3.Value = profesional_id;
         *      parametro4.Value = DateTime.Today;
         *      cmd.Parameters.Add(parametro1);
         *      cmd.Parameters.Add(parametro2);
         *      cmd.Parameters.Add(parametro3);
         *      cmd.Parameters.Add(parametro4);
         *      //Lleno la tabla
         *      da.Fill(dt);
         *
         *      //La recorro para armar la lista
         *      foreach (DataRow pRow in dt.Rows)
         *      {
         *          //...
         *          lista_turnos.Add(esp);
         *      }
         *
         *      return lista_turnos;
         *  }
         *  catch (Exception e)
         *  {
         *      ImprimirExcepcion(e);
         *      throw e;
         *  }
         * }
         */

        /// <summary>
        /// Obtiene los turnos para el dia de hoy del paciente
        /// </summary>
        /// <param name="afiliado_id"></param>
        /// <param name="especialidad_id"></param>
        /// <param name="profesional_id"></param>
        /// <returns></returns>
        public static List <ComboData> get_turno_hoy(int afiliado_id, int especialidad_id, int profesional_id)
        {
            try
            {
                //Declaro un Objeto del tipo del retorno
                var lista_turnos = new List <ComboData>();

                //creo la tabla que va a traer los registros
                DataTable dt = new DataTable();

                SqlConnection conexion = Conexion.Instance.get();

                string sql = "kfc.get_turno_hoy @afiliado_id, @especialidad_id, @profesional_id, @fecha ";

                SqlCommand     cmd = new SqlCommand(sql, conexion);
                SqlDataAdapter da  = new SqlDataAdapter(cmd);

                var parametro1 = new SqlParameter("@afiliado_id", SqlDbType.Int);
                var parametro2 = new SqlParameter("@especialidad_id", SqlDbType.Int);
                var parametro3 = new SqlParameter("@profesional_id", SqlDbType.Int);
                var parametro4 = new SqlParameter("@fecha", SqlDbType.Time);
                parametro1.Value = afiliado_id;
                parametro2.Value = especialidad_id;
                parametro3.Value = profesional_id;
                parametro4.Value = DateTime.Parse(Configuracion_Global.fecha_actual);
                cmd.Parameters.Add(parametro1);
                cmd.Parameters.Add(parametro2);
                cmd.Parameters.Add(parametro3);
                cmd.Parameters.Add(parametro4);
                //Lleno la tabla
                da.Fill(dt);

                //La recorro para armar la lista
                foreach (DataRow pRow in dt.Rows)
                {
                    var esp = new ComboData(pRow["id"], pRow["descripcion"]);
                    lista_turnos.Add(esp);
                }

                return(lista_turnos);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        public static void setear_habilitacion(int id_rol, bool estado)
        {
            try
            {
                string       procedure  = "KFC.pro_setear_rol_estado_habilitacion";
                SqlParameter parametro1 = new SqlParameter("@rol_id", SqlDbType.Int);
                SqlParameter parametro2 = new SqlParameter("@estado", SqlDbType.Int);
                parametro1.Value = id_rol;

                //Por ser Bit en SQL Server 1 significa true, 0 significa false
                if (estado == true)
                {
                    parametro2.Value = 1;
                }
                else
                {
                    parametro2.Value = 0;
                }


                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);


                var reader = InteraccionDB.ejecutar_storedProcedure(procedure, parametros);

                //Veo si trajo datos o no
                //if (reader.RecordsAffected != 1) throw new Exception("No se pudo modificar Estado al Rol:'" + id_rol + "'. ");
                if (reader.RecordsAffected <= 0)
                {
                    throw new Exception("No se pudo modificar Estado al Rol:'" + id_rol + "'.");
                }

                //MessageBox.Show("Modificado Estado Habilitacion de Rol a: " + estado, "Modificar Rol", MessageBoxButtons.OK, MessageBoxIcon.None);

                return;
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
        public static List <string> obtener_roles()
        {
            try
            {
                string        funcion    = "SELECT * FROM  KFC.fun_obtener_todas_los_roles()";
                var           parametros = new List <SqlParameter>();
                var           reader     = InteraccionDB.ejecutar_funcion(funcion, parametros);
                List <string> roles      = InteraccionDB.ObtenerStringsReader(reader, 1);

                return(roles);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw new Exception("No Pudieron Obtenerse Todos los Roles. Error: " + e.Message);
            }
        }
        /// <summary>
        /// Devuelve Excepcion si falla, Caso contrario se ejecuto correctamente
        /// </summary>
        /// <param name="apellidoConNombre"></param>
        /// <param name="fecha"></param>
        /// <param name="descripcionEspecialidad"></param>
        /// <param name="id_afiliado"></param>
        public static void asignar_turno(string prof_nombre, string prof_apellido, DateTime fecha, string horario, string descripcionEspecialidad, int id_afiliado)
        {
            try
            {
                string       procedure  = "KFC.pro_asignar_turno";
                SqlParameter parametro1 = new SqlParameter("@fecha", SqlDbType.Date);
                parametro1.Value = fecha;
                SqlParameter parametro2 = new SqlParameter("@hora", SqlDbType.Text);
                parametro2.Value = horario;
                SqlParameter parametro3 = new SqlParameter("@espe_desc", SqlDbType.Text);
                parametro3.Value = descripcionEspecialidad;
                SqlParameter parametro4 = new SqlParameter("@prof_nombre", SqlDbType.Text);
                parametro4.Value = prof_nombre;
                SqlParameter parametro5 = new SqlParameter("@prof_apellido", SqlDbType.Text);
                parametro5.Value = prof_apellido;
                SqlParameter parametro6 = new SqlParameter("@afil_id", SqlDbType.Int);
                parametro6.Value = id_afiliado;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);
                parametros.Add(parametro5);
                parametros.Add(parametro6);

                var reader = InteraccionDB.ejecutar_storedProcedure(procedure, parametros);

                //Veo si trajo datos o no
                if (reader.RecordsAffected <= 0)
                {
                    throw new Exception("No se pudo Pedir el Turno");
                }

                return;
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
Example #23
0
        /// <summary>
        /// Obtiene las funcionalidades existentes en el sistema
        /// </summary>
        /// <returns></returns>
        public static List <string> obtener_todas_funcionalidades()
        {
            try
            {
                string funcion    = "SELECT * FROM KFC.fun_obtener_todas_las_funcionalidades()";
                var    parametros = new List <SqlParameter>();

                var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);

                List <string> funcionalidades = InteraccionDB.ObtenerStringsReader(reader, 1);

                return(funcionalidades);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
Example #24
0
        private static Usuario cargar_datos(int usuario_id, string rol_descripcion)
        {
            try
            {
                var usuario = new Usuario();
                usuario.id = usuario_id;
                usuario.rol_seleccionado_descripcion = rol_descripcion;

                string       funcion    = "SELECT * FROM KFC.fun_obtener_funcionalidades_usuario(@usuario_id, @rol_descripcion)";
                SqlParameter parametro1 = new SqlParameter("@usuario_id", SqlDbType.Int);
                parametro1.Value = usuario_id;
                SqlParameter parametro2 = new SqlParameter("@rol_descripcion", SqlDbType.Text);
                parametro2.Value = rol_descripcion;


                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);

                var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);
                usuario.permisos = InteraccionDB.ObtenerStringsReader(reader, 0);

                //Otros valores falta ver que hacemos con eso. No es necesario Obtenerlos de la Base.
                funcion          = "SELECT * FROM KFC.fun_obtener_datos_usuario(@usuario_id)";
                parametro1       = new SqlParameter("@usuario_id", SqlDbType.Int);
                parametro1.Value = usuario_id;
                parametros       = new List <SqlParameter>();
                parametros.Add(parametro1);
                reader = InteraccionDB.ejecutar_funcion(funcion, parametros);
                var lista = InteraccionDB.ObtenerStringDeColumnasReader(reader, 2);
                usuario.nombre   = lista.ToArray()[0];
                usuario.apellido = lista.ToArray()[1];
                return(usuario);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }
        public static List <string> obtener_funcionalidades_rol(int id_rol)
        {
            try
            {
                string       funcion   = "SELECT * FROM  KFC.fun_obtener_funcion_rol(@id_rol)";
                SqlParameter parametro = new SqlParameter("@id_rol", SqlDbType.Int);
                parametro.Value = id_rol;
                var parametros = new List <SqlParameter>();
                parametros.Add(parametro);
                var           reader          = InteraccionDB.ejecutar_funcion(funcion, parametros);
                List <string> funcionalidades = InteraccionDB.ObtenerStringsReader(reader, 1);

                return(funcionalidades);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw new Exception("No Pudieron Obtenerse Funcionalidades. Error: " + e.Message);
            }
        }
        public static void cancelar_turnos_pro(DateTime fechaDesde, DateTime fechaHasta, string motivo, int id)
        {
            try
            {
                string       procedure  = "KFC.pro_cancelar_turno_profesional";
                int          prof_id    = BD_Profesional.obtenerID_profesional(id);
                SqlParameter parametro1 = new SqlParameter("@fechaDesde", SqlDbType.Date);
                parametro1.Value = fechaDesde;
                SqlParameter parametro2 = new SqlParameter("@fechaHasta", SqlDbType.Date);
                parametro2.Value = fechaHasta;
                SqlParameter parametro3 = new SqlParameter("@prof_id", SqlDbType.Int);
                parametro3.Value = prof_id;
                SqlParameter parametro4 = new SqlParameter("@motivo", SqlDbType.VarChar);
                parametro4.Value = motivo;
                SqlParameter parametro5 = new SqlParameter("@fecha_formato_string", SqlDbType.Text);
                parametro5.Value = Configuracion_Global.fecha_actual;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);
                parametros.Add(parametro5);

                var reader = InteraccionDB.ejecutar_storedProcedure(procedure, parametros);

                if (reader.RecordsAffected <= 0)
                {
                    throw new Exception("No existen turnos en este rango de fechas");
                }

                return;
            }
            catch (Exception ex)
            {
                InteraccionDB.ImprimirExcepcion(ex);
                throw ex;
            }
        }
        /// <summary>
        /// Top 5 profesionales que menos horas trabajaron filtrando por plan y Especialidad
        /// </summary>
        /// <param name="año"></param>
        /// <param name="inicio"></param>
        /// <param name="fin"></param>
        /// <param name="id_plan"></param>
        /// <param name="id_esp"></param>
        /// <returns></returns>
        public static DataTable get_top5_prof_vagos(int año, int inicio, int fin, int id_plan, int id_esp)
        {
            try
            {
                string sql = "KFC.pro_top_5_prof_menos_trabajo @año, @plazo_init, @plazo_fin, @plan_id, @esp_id";

                SqlParameter parametro1 = new SqlParameter("@año", SqlDbType.Int);
                parametro1.Value = año;
                SqlParameter parametro2 = new SqlParameter("@plazo_init", SqlDbType.Int);
                parametro2.Value = inicio;
                SqlParameter parametro3 = new SqlParameter("@plazo_fin", SqlDbType.Int);
                parametro3.Value = fin;
                SqlParameter parametro4 = new SqlParameter("@plan_id", SqlDbType.Int);
                parametro4.Value = id_plan;
                SqlParameter parametro5 = new SqlParameter("@esp_id", SqlDbType.Int);
                parametro5.Value = id_esp;

                SqlCommand cmd = new SqlCommand(sql, Conexion.Instance.get());
                cmd.Parameters.Add(parametro1);
                cmd.Parameters.Add(parametro2);
                cmd.Parameters.Add(parametro3);
                cmd.Parameters.Add(parametro4);
                cmd.Parameters.Add(parametro5);

                DataTable dt = new DataTable();

                SqlDataAdapter da = new SqlDataAdapter(cmd);

                //Lleno la tabla
                da.Fill(dt);

                return(dt);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                return(new DataTable());
            }
        }
        public static List <string> getEspecialidadesProfesional(int profID)
        {
            try
            {
                string       funcion   = "SELECT * FROM  KFC.fun_obtener_especialidades_prof(@id_profesional)";
                SqlParameter parametro = new SqlParameter("@id_profesional", SqlDbType.Int);
                parametro.Value = profID;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro);

                var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);

                List <string> especialidades = InteraccionDB.ObtenerStringsReader(reader, 1);

                return(especialidades);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        public static int obtenerID_profesional(int user_id)
        {
            try
            {
                string       funcion    = "SELECT KFC.fun_obtener_id_profesional_x_user_id(@us_id)";
                SqlParameter parametro1 = new SqlParameter("@us_id", SqlDbType.Int);
                parametro1.Value = user_id;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);

                var reader = InteraccionDB.ejecutar_funcion(funcion, parametros);

                int id = InteraccionDB.ObtenerIntReader(reader, 0);

                return(id);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);
                throw e;
            }
        }
        /// <summary>
        /// Obtiene los afiliados a partir de filtros Like de nombre y apellido y documento.
        /// </summary>
        /// <param name="nombre"></param>
        /// <param name="apellido"></param>
        /// <param name="documento"></param>
        /// <returns></returns>
        public static DataTable obtener_afiliados_filtros(string nombre, string apellido, string documento, bool flag_buscar_titulares)
        {
            try
            {
                if (String.IsNullOrEmpty(documento))
                {
                    documento = "0";
                }


                string       funcion    = "SELECT * FROM KFC.obtener_afiliados_filtros(@nombre, @apellido, @documento, @flag_buscar_titulares)";
                SqlParameter parametro1 = new SqlParameter("@nombre", SqlDbType.Text);
                parametro1.Value = nombre.ToUpper();
                SqlParameter parametro2 = new SqlParameter("@apellido", SqlDbType.Text);
                parametro2.Value = apellido.ToUpper();
                SqlParameter parametro3 = new SqlParameter("@documento", SqlDbType.Decimal);
                parametro3.Value = Convert.ToDecimal(documento);
                SqlParameter parametro4 = new SqlParameter("@flag_buscar_titulares", SqlDbType.Bit);
                parametro4.Value = flag_buscar_titulares;

                var parametros = new List <SqlParameter>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);

                var tabla_datos = InteraccionDB.ejecutar_funcion_table(funcion, parametros);

                return(tabla_datos);
            }
            catch (Exception e)
            {
                InteraccionDB.ImprimirExcepcion(e);

                throw e;
            }
        }