protected void btnFiltrar_Click(object sender, EventArgs e)
        {
            try
            {
                DateTime fini    = DateTime.ParseExact(dateIni.Value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
                DateTime ffin    = DateTime.ParseExact(dateFin.Value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
                string   trep    = tipoReporte.Value;
                string   codeMed = ddCodigoMedico.SelectedValue;

                ManejadorConsulta cons      = new ManejadorConsulta();
                List <BLConsulta> consultas = new List <BLConsulta>();
                cons.cargarListaConsultasFiltrada(consultas, codeMed, trep, fini.ToString("yyyy-MM-dd"), ffin.ToString("yyyy-MM-dd"));
                gridConsultas.DataSource = consultas;
                gridConsultas.DataBind();
                Session["consultasRe"] = consultas;

                btnGenerar.Enabled          = true;
                mensajeConfirmacion.Visible = false;

                lblresult.Text = "Resultado desde " + fini.ToString("dd/MM/yyyy") + " hasta " + ffin.ToString("dd/MM/yyyy");
            }
            catch (Exception ex)
            {
                Elog.save(this, ex);
                MostrarMensaje("Ocurrió un error inesperado, si persiste comuniquese con el equipo de TI");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Carga la lista de pacientes vinculados a la cuenta en un dropdownlist
        /// </summary>
        private void CargarPacientes()
        {
            try
            {
                listaPacientes.Clear();

                ManejadorCita manejador = new ManejadorCita();

                string cuenta = Session["Cuenta"].ToString();

                string confirmacion = manejador.CargarPacientes(listaPacientes, cuenta);

                if (confirmacion.Contains("error"))
                {
                    MostrarMensaje(confirmacion);
                }
                else
                {
                    foreach (BLPacienteCita p in listaPacientes)
                    {
                        nombrePaciente.Items.Add(new ListItem(p.NombrePaciente));
                    }

                    nombrePaciente.Items.Insert(0, new ListItem("Seleccionar"));
                    nombrePaciente.SelectedIndex = 0;
                    nombrePaciente.Items[0].Attributes.Add("disabled", "disabled");
                }
            }
            catch (Exception ex)
            {
                Elog.save(this, ex);
            }
        }
        protected void btnGenerar_Click(object sender, EventArgs e)
        {
            if (Session["consultasRe"] != null)
            {
                try
                {
                    //DateTime fini = DateTime.ParseExact(dateIni.Value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
                    //DateTime ffin = DateTime.ParseExact(dateFin.Value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
                    //string trep = tipoReporte.Value;
                    //string codeMed = ddCodigoMedico.SelectedValue;


                    //fini.ToString("yyyy-MM-dd"); // variable donde se  guarda el numero de factura
                    //ffin.ToString("yyyy-MM-dd");

                    ManejadorConsulta cons = new ManejadorConsulta();

                    //DataTable da = cons.generarMedMixta(fini.ToString("yyyy-MM-dd"), ffin.ToString("yyyy-MM-dd"), codeMed);

                    List <BLConsulta> das           = Session["consultasRe"] as List <BLConsulta>;
                    DataTable         dat           = ConvertToDataTable(das);
                    ReportDocument    crystalReport = new ReportDocument(); // creating object of crystal report

                    dat.Columns[1].ColumnName = "CODIGO_EXPEDIENTE";

                    crystalReport.Load(Server.MapPath("~/Reportes/MedMixta.rpt")); // path of report
                    crystalReport.SetDataSource(dat);                              // binding datatable
                    crystalReport.ExportToHttpResponse
                        (CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "Medicina_mixta_" + DateTime.Today.ToString("dd-MM-yy"));
                    MostrarMensaje("Se generó exitosamente");
                }
                catch (Exception ex)
                {
                    Elog.save(this, ex);
                    MostrarMensaje("Ocurrió un error inesperado, si persiste comuniquese con el equipo de TI");
                }
            }
            else
            {
                MostrarMensaje("Ocurrió un error al generar, proceda a realizar la búsqueda filtrada primero.");
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Carga la lista de medicos disponibles en un dropdownlist
        /// </summary>
        private void CargarMedicos()
        {
            try
            {
                List <BLMedico> listaMedicos = new List <BLMedico>();
                BLMedico        manejador    = new BLMedico();
                string          confirmacion = manejador.CargarMedicos(listaMedicos);

                if (confirmacion.Contains("error"))
                {
                    MostrarMensaje(confirmacion);
                }
                else
                {
                    List <ListaMedicos> fuente = new List <ListaMedicos>();
                    foreach (BLMedico elemento in listaMedicos)
                    {
                        fuente.Add(new ListaMedicos(elemento.codigo, elemento.nombre + " " + elemento.apellido));
                    }

                    medico.DataSource     = fuente;
                    medico.DataTextField  = "NombreCompleto";
                    medico.DataValueField = "CodigoMedico";
                    medico.DataBind();

                    string disponible = "Seleccionar";

                    if (fuente.Count == 0)
                    {
                        disponible = "No disponible";
                    }

                    medico.Items.Insert(0, new ListItem(disponible));
                    medico.SelectedIndex = 0;
                    medico.Items[0].Attributes.Add("disabled", "disabled");
                }
            }
            catch (Exception ex)
            {
                Elog.save(this, ex);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Obtiene el horario del medico y las citas que estan agendadas para una fecha en particular
        /// </summary>
        /// <param name="fecha">Fecha</param>
        /// <param name="presionoBoton">Presiono boton</param>
        private void MostrarAgenda(DateTime fecha, string presionoBoton)
        {
            try
            {
                diaSeleccionado = fecha;

                string codigoMedico = Session["codigoMedico"].ToString();

                listaCitas.Clear();

                string fechaSeleccionada = diaSeleccionado.ToShortDateString();

                ManejadorCita manejadorCita = new ManejadorCita();

                string confirmacion = manejadorCita.CargarCitas(listaCitas, codigoMedico, fechaSeleccionada);



                // Si no hubo problema al cargar las citas se procede a cargar la disponibilidad

                if (!confirmacion.Contains("error"))
                {
                    // Se obtiene la agenda de disponibilidad del medico para el dia seleccionado

                    ManejadorAgenda manejadorAgenda = new ManejadorAgenda();

                    string nombreDia = diaSeleccionado.ToString("dddd", new CultureInfo("es-ES")).ToUpperInvariant();
                    string nombreMes = diaSeleccionado.ToString("MMMM", new CultureInfo("es-ES")).ToUpperInvariant();
                    int    numeroDia = diaSeleccionado.Day;

                    nombreDia = nombreDia.Substring(0, 1).ToUpper() + nombreDia.Substring(1).ToLower();
                    nombreMes = nombreMes.Substring(0, 1).ToUpper() + nombreMes.Substring(1).ToLower();


                    BLAgendaEstandar blDia = new BLAgendaEstandar();

                    blDia.CodigoMedico = codigoMedico;
                    blDia.Dia          = nombreDia;

                    confirmacion = manejadorAgenda.CargarDisponibilidad(blDia);



                    if (!confirmacion.Contains("error"))
                    {
                        // Se crea una lista de items a mostrar en el grid

                        List <ListaItem> agenda = new List <ListaItem>();

                        //  Si la lista de citas y de disponibilidad esta vacia

                        if ((listaCitas.Count == 0) && (blDia.HoraInicio == null))
                        {
                            confirmacion = "El día " + nombreDia + " " + numeroDia + " de " + nombreMes + " no hay eventos";
                        }
                        else
                        {
                            // Si no hay disponibilidad pero si hay citas pedientes

                            if ((listaCitas.Count > 0) && (blDia.HoraInicio == null))
                            {
                                confirmacion = "El día " + nombreDia + " " + numeroDia + " de " + nombreMes + " tiene citas pendientes";

                                foreach (BLCita cita in listaCitas)
                                {
                                    agenda.Add(new ListaItem(cita.Hora, "Ocupado"));
                                }
                            }

                            string segundaConfirmacion = manejadorAgenda.ObtenerDuracionCita(codigoMedico);

                            bool duracionCapturada = true;

                            int duracionCita = 0;

                            try
                            {
                                duracionCita = int.Parse(segundaConfirmacion);
                            }
                            catch (Exception)
                            {
                                duracionCapturada = false;
                            }

                            if ((!segundaConfirmacion.Contains("error")) && (duracionCapturada))
                            {
                                //////////////////////////////////////////////////

                                DateTime horaInicio = DateTime.Now;
                                DateTime horaFin    = DateTime.Now;
                                DateTime temporal   = DateTime.Now;

                                if (blDia.HoraInicio != null)
                                {
                                    horaInicio = DateTime.Parse(blDia.HoraInicio);
                                    horaFin    = DateTime.Parse(blDia.HoraFin);
                                    temporal   = horaInicio;
                                }

                                string t      = "";
                                string estado = "";


                                // Si la lista de citas esta vacia pero hay disponibilidad

                                if ((listaCitas.Count == 0) && (blDia.HoraInicio != null))
                                {
                                    confirmacion = "El día " + nombreDia + " " + numeroDia + " de " + nombreMes + " no tiene citas pendientes";


                                    while (temporal < horaFin)
                                    {
                                        t = ConvertirFormato(temporal);

                                        temporal = temporal.AddMinutes(duracionCita);

                                        agenda.Add(new ListaItem(t, "Disponible"));
                                    }
                                }


                                // Si hay disponibilidad y citas

                                if ((listaCitas.Count > 0) && (blDia.HoraInicio != null))
                                {
                                    confirmacion = "El día " + nombreDia + " " + numeroDia + " de " + nombreMes + " tiene citas pendientes";


                                    // Primero se incluye la disponibilidad

                                    while (temporal < horaFin)
                                    {
                                        t = ConvertirFormato(temporal);

                                        temporal = temporal.AddMinutes(duracionCita);

                                        agenda.Add(new ListaItem(t, "Disponible"));
                                    }


                                    // Luego se incluyen las citas

                                    bool existe = false;

                                    foreach (BLCita cita in listaCitas)
                                    {
                                        foreach (ListaItem elemento in agenda)
                                        {
                                            if (elemento.Hora.Equals(cita.Hora))
                                            {
                                                elemento.Estado = "Ocupado";
                                                existe          = true;
                                                break;
                                            }
                                            else
                                            {
                                                existe = false;
                                            }
                                        }
                                        if (existe == false)
                                        {
                                            agenda.Add(new ListaItem(cita.Hora, "Ocupado"));
                                        }
                                    }

                                    // Se ordena la lista

                                    agenda.Sort((x, y) => string.Compare(x.Hora, y.Hora));
                                }
                            }
                            else
                            {
                                confirmacion = "Ocurrió un error al cargar la duración de las citas o esta no se ha establecido";
                            }
                            /////////////////////////////////////////////
                        }

                        vistaAgenda.DataSource = agenda;
                        vistaAgenda.DataBind();
                        //  vistaAgenda.HeaderRow.TableSection = TableRowSection.TableHeader;
                    }
                }

                if (!presionoBoton.Equals(""))
                {
                    confirmacion = presionoBoton;
                }

                MostrarMensaje(confirmacion);
            }
            catch (Exception ex)
            {
                Elog.save(this, ex);
            }
        }
Esempio n. 6
0
        protected void ButtonLogin_Click(object sender, EventArgs e)
        {
            try
            {
                BLCuenta miBLCuenta = new BLCuenta();
                miBLCuenta.correo     = txtCorreo.Text;
                miBLCuenta.contrasena = txtContra.Text;
                miBLCuenta.buscar();

                //metodo de verificacion, si es positivo entra y cambia vista, si es negativo borra campos y muestra label

                switch (miBLCuenta.estado)
                {
                case "Habilitada":
                    Session["Cuenta"] = miBLCuenta.correo;
                    Session["Rol"]    = miBLCuenta.tipo;
                    string cor;
                    switch (miBLCuenta.tipo)
                    {
                    case "Medico":
                        cor = Session["Cuenta"].ToString();
                        BLMedico miBLMedico = new BLMedico();
                        miBLMedico.correo = cor;
                        miBLMedico.buscarMedico();
                        Session["codigoMedico"] = miBLMedico.codigo;
                        Session["nombre"]       = miBLMedico.nombre + " " + miBLMedico.apellido;
                        Response.Redirect("Dashboard.aspx", false);
                        break;

                    case "Administrador":
                        Session["nombre"] = "Administrador";
                        Response.Redirect("EstadoCuenta.aspx");
                        break;

                    case "Paciente":
                        Response.Redirect("InicioUsuarioExterno.aspx");
                        break;

                    case "Asistente":
                        cor = Session["Cuenta"].ToString();
                        BLAdministrativo miBLAsist = new BLAdministrativo();
                        miBLAsist.correo = cor;
                        miBLAsist.buscarAdministrativo();
                        Session["codigoMedico"] = miBLAsist.cod_Asist;
                        Session["nombre"]       = miBLAsist.nombre + " " + miBLAsist.apellido;
                        Response.Redirect("Dashboard.aspx");
                        break;
                    }
                    break;

                case "Deshabilitada":
                    txtContra.Text = "";
                    txtCorreo.Text = "";
                    mensajeAviso("danger", "La cuenta que desea ingresar se encuentra deshabilitada");
                    break;

                default:
                    txtContra.Text = "";
                    txtCorreo.Text = "";
                    mensajeAviso("danger", "Correo o Contraseña Incorrectos");
                    break;
                }
            }
            catch (Exception ex)
            {
                txtContra.Text = "";
                txtCorreo.Text = "";
                Elog.save(this, ex);
                throw;
            }
        }