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"); } }
/// <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."); } }
/// <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); } }
/// <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); } }
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; } }