Пример #1
0
        public static decimal AgregarTurno(Turno turno)
        {
            List<SqlParameter> ListaParametros = new List<SqlParameter>();

            ListaParametros.Add(new SqlParameter("@persona", turno.Codigo_Persona));
            ListaParametros.Add(new SqlParameter("@profesional", turno.Codigo_Profesional));
            ListaParametros.Add(new SqlParameter("@horario", turno.Fecha.ToString("yyyy-MM-dd HH:mm:ss.fff")));
            ListaParametros.Add(new SqlParameter("@especialidad", turno.Codigo_Especialidad));

            SqlParameter paramRet = new SqlParameter("@ret", System.Data.SqlDbType.Decimal);
            paramRet.Direction = System.Data.ParameterDirection.Output;
            ListaParametros.Add(paramRet);

            decimal retor = Clases.BaseDeDatosSQL.ExecStoredProcedure("mario_killers.agregarTurno", ListaParametros);

            return retor;
        }
Пример #2
0
        public static decimal AgregarTurno(Turno turno)
        {
            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@persona", turno.Codigo_Persona));
            ListaParametros.Add(new SqlParameter("@profesional", turno.Codigo_Profesional));
            ListaParametros.Add(new SqlParameter("@horario", turno.Fecha.ToString("yyyy-MM-dd HH:mm:ss.fff")));
            ListaParametros.Add(new SqlParameter("@especialidad", turno.Codigo_Especialidad));

            SqlParameter paramRet = new SqlParameter("@ret", System.Data.SqlDbType.Decimal);

            paramRet.Direction = System.Data.ParameterDirection.Output;
            ListaParametros.Add(paramRet);

            decimal retor = Clases.BaseDeDatosSQL.ExecStoredProcedure("mario_killers.agregarTurno", ListaParametros);

            return(retor);
        }
        private void bSiguiente_Click(object sender, EventArgs e)
        {
            if (lbTurnos.SelectedItems.Count != 1) {
                MessageBox.Show("Seleccione un turno.", "Error");
                return;
            }

            //--Preparar ingreso
            turno = (Turno) lbTurnos.SelectedItem;

            dtpDia.Value = turno.turno;
            dtpHora.Value = turno.turno;
            rbNo.Checked = true;
            tbDiagnostico.Text = "";
            tbSintomas.Text = "";

            gbTurno.Enabled = false;
            gbFecha.Enabled = true;
        }
Пример #4
0
        public static Turno ObtenerTurno(decimal turno)
        {
            Turno unTurno = new Turno();
            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@id", turno));

            SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader("SELECT * FROM mario_killers.Turno WHERE id = @id", "T", ListaParametros);

            if (lector.HasRows)
            {
                lector.Read();
            }
            unTurno.Id                  = turno;
            unTurno.Codigo_Persona      = ((decimal)lector["persona"]);
            unTurno.Codigo_Profesional  = ((decimal)lector["profesional"]);
            unTurno.Codigo_Especialidad = ((decimal)lector["especialidad"]);
            unTurno.Fecha               = ((DateTime)lector["horario"]);
            return(unTurno);
        }
 private void btnTurno_Click(object sender, EventArgs e)
 {
     try
     {
         afiliado = new Afiliado(txtNumAfil.Text);
         turno = (Turno)grillaHorarios.CurrentRow.DataBoundItem;
         if (turno.Codigo_Persona == afiliado.Codigo_Persona)
         {
             cmdConfirmarBono.Enabled = true;
             txtBono.Enabled = true;
             btnTurno.Enabled = false;
             grillaHorarios.Enabled = false;
             txtNumAfil.Enabled = false;
         }
         else
         {
             MessageBox.Show("El turno seleccionado no corresponde al afiliado", "Error", MessageBoxButtons.OK);
         }
     }
     catch { MessageBox.Show("Inserte correctamente el numero de afiliado", "Error!", MessageBoxButtons.OK); }
 }
Пример #6
0
        public void armarTurnos()
        {
            int cantTurnos = (HoraHasta.Hours - HoraDesde.Hours) * 2;

            if (HoraDesde.Minutes != 0 && HoraHasta.Minutes == 0)
            {
                cantTurnos--;
            }
            else if (HoraDesde.Minutes == 0 && HoraHasta.Minutes != 0)
            {
                cantTurnos++;
            }

            /*--- PARA EL CASO QUE EMPIECE EN HORA CLAVADA---*/
            if (HoraDesde.Minutes == 0)
            {
                for (int i = 0; i < cantTurnos; i++)
                {
                    TimeSpan horario = new TimeSpan(HoraDesde.Hours + (i / 2), (i % 2) * 30, 0);
                    Turno    turno   = new Turno();
                    turno.Horario   = horario;
                    turno.Dia       = this.Dia;
                    turno.DiaString = this.StringDia;
                    TurnosDentro.Add(turno);
                }
            }
            /*--- PARA EL CASO QUE EMPIECE EN HORA Y MEDIA---*/
            else
            {
                for (int i = 1; i <= cantTurnos; i++)
                {
                    TimeSpan horario = new TimeSpan(HoraDesde.Hours + (i / 2), (i % 2) * 30, 0);
                    Turno    turno   = new Turno();
                    turno.Horario   = horario;
                    turno.Dia       = this.Dia;
                    turno.DiaString = this.StringDia;
                    TurnosDentro.Add(turno);
                }
            }
        }
Пример #7
0
        public bool Usar(Afiliado afiliado, Turno turno)
        {
            //NUMERO DE CONSULTAS DEL AFILIADO
            int cant_atenciones = 0;
            List <SqlParameter> ListaParametros3 = new List <SqlParameter>();

            ListaParametros3.Add(new SqlParameter("@persona", afiliado.Codigo_Persona));
            String query = @"SELECT COUNT(*) AS cant_aten
                             FROM mario_killers.Atencion A JOIN mario_killers.Turno T ON T.id = A.id
                             WHERE T.persona = @persona";

            SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader(query, "T", ListaParametros3);

            if (lector.HasRows)
            {
                lector.Read();
                cant_atenciones = (int)lector["cant_aten"] + 1;
            }

            //REGISTRAR HORARIO LLEGADA
            DateTime            horario_llegada  = (DateTime)(DateTime.Parse(System.Configuration.ConfigurationSettings.AppSettings["Fecha"])).AddHours(System.DateTime.Now.TimeOfDay.Hours).AddMinutes(System.DateTime.Now.Minute);
            List <SqlParameter> ListaParametros2 = new List <SqlParameter>();

            ListaParametros2.Add(new SqlParameter("@codigo", turno.Id));
            ListaParametros2.Add(new SqlParameter("@horario_llegada", (DateTime)horario_llegada));

            Clases.BaseDeDatosSQL.EscribirEnBase("update mario_killers.Turno set horario_llegada = @horario_llegada where id=@codigo ", "T", ListaParametros2);

            //USAR BONO Y REGISTRAR CANT CONSULTAS

            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@codigo", Id));
            ListaParametros.Add(new SqlParameter("@cant", cant_atenciones));

            return(Clases.BaseDeDatosSQL.EscribirEnBase("update mario_killers.Bono_Consulta set activo = 0, cant_consultas = @cant where id = @codigo", "T", ListaParametros));
        }
Пример #8
0
        public static void Cancelar(Turno turno, decimal tipoCanc, String motivo)
        {
            List<SqlParameter> ListaParametros = new List<SqlParameter>();
            ListaParametros.Add(new SqlParameter("@id", turno.Id));
            Clases.BaseDeDatosSQL.EscribirEnBase("UPDATE mario_killers.Turno SET activo = 0 WHERE id = @id", "T", ListaParametros);

            List<SqlParameter> ListaParametros2 = new List<SqlParameter>();
            ListaParametros2.Add(new SqlParameter("@tipo", tipoCanc));
            ListaParametros2.Add(new SqlParameter("@motivo", motivo));
            ListaParametros2.Add(new SqlParameter("@persona", turno.Codigo_Persona));
            ListaParametros2.Add(new SqlParameter("@turno", turno.Id));

            Clases.BaseDeDatosSQL.EscribirEnBase("INSERT INTO mario_killers.Cancelacion (tipo, motivo, persona, turno) VALUES (@tipo, @motivo, @persona, @turno)", "T", ListaParametros2);
        }
        private void btnAction_Click(object sender, EventArgs e)
        {
            if (txtMotivo.Text != "")
            {
                try
                {
                    unTurno = (Turno)grillaTurnos.CurrentRow.DataBoundItem;

                    if ((Utiles.EsFechaValidaPorUnDia(DateTime.Parse(System.Configuration.ConfigurationSettings.AppSettings["Fecha"]).Date, unTurno.Fecha.Date)))
                    {
                        Turnos.Cancelar(unTurno, (decimal)cmbCancelacion.SelectedValue, txtMotivo.Text);
                        MessageBox.Show("El turno se ha cancelado con exito!", "Aviso", MessageBoxButtons.OK);
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("El turno no puede cancelarse por ser en menos de 24hs.", "Aviso", MessageBoxButtons.OK);
                    }
                }
                catch
                {
                    MessageBox.Show("No se ha seleccionado ningun turno o tiene campos sin completar!", "Error", MessageBoxButtons.OK);
                }
            }
            else MessageBox.Show("No se ha indicado el motivo de la cancelacion, por favor ingreselo y vuelva a intentarlo", "Error", MessageBoxButtons.OK);
        }
Пример #10
0
        private void frmCancelarAtencion_Load(object sender, EventArgs e)
        {
            unTurno = new Turno();
            listaTurnos = new List<Turno>();
            grillaTurnos.AutoGenerateColumns = false;
            grillaTurnos.MultiSelect = false;
            List<TipoCancelacion> listaDeTipos = Utiles.ObtenerTiposCancelacion();
            cmbCancelacion.DataSource = listaDeTipos;
            cmbCancelacion.ValueMember = "id";
            cmbCancelacion.DisplayMember = "descripcion";

            lbl1.Text = "Afiliado: " + unAfiliado.Apellido + ", " + unAfiliado.Nombre;

            cargarGrilla();
        }
Пример #11
0
        public static List<Turno> ObtenerTurnosDia(Agenda unaAgenda, DateTime fecha)
        {
            List<Turno> list = new List<Turno>();

            List<SqlParameter> ListaParametros = new List<SqlParameter>();
            ListaParametros.Add(new SqlParameter("@fecha", fecha.Date));

            SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader("SELECT * FROM mario_killers.TurnosPorPaciente WHERE CONVERT(DATE,fecha) = CONVERT(DATE,@fecha)", "T", ListaParametros);

            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    Turno unTurno = new Turno();
                    unTurno.Id = (decimal)lector["id"];
                    unTurno.Codigo_Persona = (decimal)lector["paciente_id"];
                    unTurno.Nombre_Persona = (String)lector["paciente"];
                    unTurno.Codigo_Profesional = (decimal)lector["profesional_id"];
                    unTurno.Nombre_Profesional = (String)lector["profesional"];
                    unTurno.Fecha = (DateTime)lector["fecha"];
                    unTurno.Horario = (TimeSpan)unTurno.Fecha.TimeOfDay;
                    unTurno.Fecha = ((DateTime)lector["fecha"]).Date;
                    unTurno.Codigo_Especialidad = (decimal)lector["especialidad"];
                    list.Add(unTurno);
                }
            }
            return list;
        }
Пример #12
0
        public static Turno ObtenerTurno(decimal turno)
        {
            Turno unTurno = new Turno();
            List<SqlParameter> ListaParametros = new List<SqlParameter>();
            ListaParametros.Add(new SqlParameter("@id", turno));

            SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader("SELECT * FROM mario_killers.Turno WHERE id = @id", "T", ListaParametros);
            if (lector.HasRows)
            {
                lector.Read();
            }
            unTurno.Id = turno;
            unTurno.Codigo_Persona = ((decimal)lector["persona"]);
            unTurno.Codigo_Profesional = ((decimal)lector["profesional"]);
            unTurno.Codigo_Especialidad = ((decimal)lector["especialidad"]);
            unTurno.Fecha = ((DateTime)lector["horario"]);
            return unTurno;
        }
Пример #13
0
 public static List<Hora> ObtenerHorasAceptables(Turno turno)
 {
     int cont;
     List<Hora> lista = new List<Hora>();
     if (turno.Fecha.Minute == 0)
     {
         cont = 0;
         for (int i = turno.Fecha.TimeOfDay.Hours; i <= turno.Fecha.TimeOfDay.Hours + 3; i++)
         {
             cont++;
             if (cont != 2)
             {
                 TimeSpan unaHora = new TimeSpan(i, 00, 0);
                 string hora = unaHora.Hours.ToString() + ":" + unaHora.Minutes.ToString() + "0";
                 lista.Add(new Hora(unaHora, hora));
             }
             else
             {
                 //REINICIO EL CONTADOR PORQUE ES MEDIA HORA
                 cont = 0;
                 i--;
                 TimeSpan unaHora = new TimeSpan(i, 30, 0);
                 string hora = unaHora.Hours.ToString() + ":" + unaHora.Minutes.ToString();
                 lista.Add(new Hora(unaHora, hora));
             }
         }
     }
     else
     {
         cont = 1;
         for (int i = turno.Fecha.TimeOfDay.Hours + 1; i <= turno.Fecha.TimeOfDay.Hours + 3; i++)
         {
             cont++;
             if (cont != 2)
             {
                 TimeSpan unaHora = new TimeSpan(i, 00, 0);
                 string hora = unaHora.Hours.ToString() + ":" + unaHora.Minutes.ToString() + "0";
                 lista.Add(new Hora(unaHora, hora));
             }
             else
             {
                 //REINICIO EL CONTADOR PORQUE ES MEDIA HORA
                 cont = 0;
                 i--;
                 TimeSpan unaHora = new TimeSpan(i, 30, 0);
                 string hora = unaHora.Hours.ToString() + ":" + unaHora.Minutes.ToString();
                 lista.Add(new Hora(unaHora, hora));
             }
         }
     }
     return lista;
 }
Пример #14
0
 public static Boolean LlegoAHorario(Turno turno)
 {
     DateTime comparable = (DateTime)(DateTime.Parse(System.Configuration.ConfigurationSettings.AppSettings["Fecha"])).AddHours(System.DateTime.Now.Hour).AddMinutes(System.DateTime.Now.Minute + 15);
     if (comparable.TimeOfDay < turno.Horario) return true;
     else
     {
         turno.Usar();
         return false;
     }
 }
Пример #15
0
        private void bGrabar_Click(object sender, EventArgs e)
        {
            if (tbBono.Text != "" && lbMedicamentos.Items.Count >= 1 && lbTurnos.SelectedItems.Count == 1) {

                //--Guardar el afiliado del turno seleccionado
                turno = (Turno)lbTurnos.SelectedItem;
                afiliado = turno.afiliado;

                try {
                    bono = new BonoFarmacia(Convert.ToInt32(tbBono.Text));
                    //Si el comprador del bono, tiene el mismo grupo familiar que el que esta logeado
                    DB.ExecuteCardinal("SELECT COUNT(1) FROM " + DB.schema + "bonoFarmacia " +
                                                            "JOIN " + DB.schema + "compra ON cmp_id=bfa_compra " +
                                                            "JOIN " + DB.schema + "vAfiliado ON afi_id=cmp_afiliado" +
                                                " WHERE bfa_id=" + tbBono.Text +
                                                " AND bfa_fechaVencimiento > CAST('" + FuncionesBoludas.GetDateTime() +"' AS DATETIME)"+
                                                " AND bfa_habilitado = 1" +
                                                " AND afi_grupoFamiliar=(SELECT afi_grupoFamiliar FROM "+ DB.schema
                                                                        + "vAfiliado WHERE afi_id=" + afiliado.id + ");");

                }catch(NoTrajoNadaExcep){
                    MessageBox.Show("Ese bono no existe o está vencido o no pertenece al grupo familiar de '" + afiliado.ToString() + "', ingrese otro.");
                    return;
                }

                //Generar el reporte
                ////////REPORTE//////////
                reporte += "<HTML>";
                reporte += "<BODY>";
                reporte += "Clinicas Mustache<br/><hr>";
                reporte += "<br/>	Bono consulta: " + tbBono.Text;
                reporte += "<br/>	Afiliado que comrpo el bono: " + bono.compra.afiliado.ToString();
                reporte += "<br/>	Receta a nombre de: " + afiliado.ToString();
                reporte += "<br/>	<TABLE>";
                reporte += "		<TR><TD>Medicamento</TD><TD>Cantidad</TD><TD>Expiracion</TD></TR>";
                ////////REPORTE//////////

                string subQuery = "";
                //Ciclar por los medicamentos cargados
                foreach (Medicamento m in lbMedicamentos.Items) {
                    subQuery += "(" + tbBono.Text + ", " + m.id + ", " + m.cantidad + ", \'" + m.prescripcion.ToString("yyy-MM-dd") + "\'), ";
                    reporte += "		<TR><TD>" + m.nombre + "</TD><TD>" + m.cantidad + "</TD><TD>" + m.prescripcion.ToString("yyy-MM-dd") + "</TD></TR>";
                }
                subQuery = subQuery.Substring(0, subQuery.Length - 2); //Sacar la ultima coma
                if (DB.ExecuteNonQuery("INSERT INTO " + DB.schema + "medicamento_x_bonoFarmacia(mxb_bonoFarmacia, mxb_medicamento, mxb_unidades, mxb_prescripcion) VALUES" + subQuery +
                    "; UPDATE " + DB.schema + "bonoFarmacia SET bfa_afiliado=" + afiliado.id + ", bfa_atencion= " + turno.id + " WHERE bfa_id=" + bono.id //y actualiza el boon para poner quein lo consumio
                    ) == -1)
                    MessageBox.Show("Error en la creacion de la receta");
                else {

                    ////////REPORTE//////////
                    reporte += "	<TABLE>";
                    reporte += "</BODY>";
                    reporte += "</HTML>";
                    ////////REPORTE//////////

                    DialogResult = DialogResult.OK;
                }
            } else
                MessageBox.Show("Faltan cargar datos");
        }
Пример #16
0
        public static List<Turno> ObtenerTurnos(int persona)
        {
            List<Turno> listTurno = new List<Turno>();

            List<SqlParameter> ListaParametros = new List<SqlParameter>();
            ListaParametros.Add(new SqlParameter("@id", persona));

            SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader("SELECT * FROM mario_killers.TurnosPorPaciente WHERE paciente_id = @id", "T", ListaParametros);

            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    Turno unTurno = new Turno();
                    unTurno.Id = (decimal)lector["id"];
                    unTurno.Codigo_Persona = (int)(decimal)lector["paciente_id"];
                    unTurno.Nombre_Persona = (String)lector["paciente"];
                    unTurno.Codigo_Profesional = (int)(decimal)lector["profesional_id"];
                    unTurno.Nombre_Profesional = (String)lector["profesional"];
                    unTurno.Fecha = (DateTime)lector["fecha"];
                    unTurno.Codigo_Especialidad = (decimal)lector["especialidad"];
                    listTurno.Add(unTurno);
                }
            }
            return listTurno;
        }
Пример #17
0
        public static Boolean VerificarTurnoLibre(Turno turno)
        {
            List<SqlParameter> ListaParametros = new List<SqlParameter>();
            SqlParameter fecha = new SqlParameter("@fecha", System.Data.SqlDbType.DateTime);
            fecha.Value = turno.Fecha.Date;
            ListaParametros.Add(fecha);
            SqlParameter horario = new SqlParameter("@horario", System.Data.SqlDbType.Time);
            horario.Value = turno.Horario;
            ListaParametros.Add(horario);
            ListaParametros.Add(new SqlParameter("@profesional", turno.Codigo_Profesional));

            SqlParameter paramRet = new SqlParameter("@ret", System.Data.SqlDbType.Decimal);
            paramRet.Direction = System.Data.ParameterDirection.Output;
            ListaParametros.Add(paramRet);

            int ret = (int)Clases.BaseDeDatosSQL.ExecStoredProcedure("mario_killers.verificarTurno", ListaParametros);
            if (ret == 1) return true; else return false;
        }
Пример #18
0
        public void armarTurnos()
        {
            int cantTurnos = (HoraHasta.Hours - HoraDesde.Hours) * 2;

            if (HoraDesde.Minutes != 0 && HoraHasta.Minutes == 0)
            {
                cantTurnos --;
            }
            else if (HoraDesde.Minutes == 0 && HoraHasta.Minutes != 0)
            {
                cantTurnos++;
            }

            /*--- PARA EL CASO QUE EMPIECE EN HORA CLAVADA---*/
            if (HoraDesde.Minutes == 0)
            {
                for (int i = 0; i < cantTurnos; i++)
                {
                    TimeSpan horario = new TimeSpan(HoraDesde.Hours + (i / 2), (i % 2) * 30, 0);
                    Turno turno = new Turno();
                    turno.Horario = horario;
                    turno.Dia = this.Dia;
                    turno.DiaString = this.StringDia;
                    TurnosDentro.Add(turno);
                }
            }
            /*--- PARA EL CASO QUE EMPIECE EN HORA Y MEDIA---*/
            else
            {
                for (int i = 1; i <= cantTurnos; i++)
                {
                    TimeSpan horario = new TimeSpan(HoraDesde.Hours + (i / 2), (i % 2) * 30, 0);
                    Turno turno = new Turno();
                    turno.Horario = horario;
                    turno.Dia = this.Dia;
                    turno.DiaString = this.StringDia;
                    TurnosDentro.Add(turno);
                }
            }
        }
        private void bSiguienteTurno_Click(object sender, EventArgs e)
        {
            //--Validar que haya seleccionado un turno
            if (lbTurnos.SelectedItems.Count != 1) {
                MessageBox.Show("Debe seleccionar un turno");
                return;
            }

            turno = (Turno)lbTurnos.SelectedItem;

            gbAfiliado.Enabled = true;
            gbTurno.Enabled = false;
        }
Пример #20
0
        public bool Usar(Afiliado afiliado, Turno turno)
        {
            //NUMERO DE CONSULTAS DEL AFILIADO
            int cant_atenciones = 0;
            List<SqlParameter> ListaParametros3 = new List<SqlParameter>();
            ListaParametros3.Add(new SqlParameter("@persona", afiliado.Codigo_Persona));
            String query = @"SELECT COUNT(*) AS cant_aten
                             FROM mario_killers.Atencion A JOIN mario_killers.Turno T ON T.id = A.id
                             WHERE T.persona = @persona";

            SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader(query, "T", ListaParametros3);
            if (lector.HasRows)
            {
                lector.Read();
                cant_atenciones = (int)lector["cant_aten"] + 1;
            }

            //REGISTRAR HORARIO LLEGADA
            DateTime horario_llegada = (DateTime)(DateTime.Parse(System.Configuration.ConfigurationSettings.AppSettings["Fecha"])).AddHours(System.DateTime.Now.TimeOfDay.Hours).AddMinutes(System.DateTime.Now.Minute);
            List<SqlParameter> ListaParametros2 = new List<SqlParameter>();
            ListaParametros2.Add(new SqlParameter("@codigo", turno.Id));
            ListaParametros2.Add(new SqlParameter("@horario_llegada", (DateTime)horario_llegada));

            Clases.BaseDeDatosSQL.EscribirEnBase("update mario_killers.Turno set horario_llegada = @horario_llegada where id=@codigo ", "T", ListaParametros2);

            //USAR BONO Y REGISTRAR CANT CONSULTAS

            List<SqlParameter> ListaParametros = new List<SqlParameter>();
            ListaParametros.Add(new SqlParameter("@codigo", Id));
            ListaParametros.Add(new SqlParameter("@cant", cant_atenciones));

            return Clases.BaseDeDatosSQL.EscribirEnBase("update mario_killers.Bono_Consulta set activo = 0, cant_consultas = @cant where id = @codigo", "T", ListaParametros);
        }