protected void btnConfirmar_Click(object sender, EventArgs e) { if (!FaltanDatos()) { if (!VerificarCantidadAgregados()) { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: El número de beneficiarios no coincide con el tipo de sesión.')", true); } else { cSesion unaSesion = new cSesion(); switch (ddlTipoSesion.SelectedValue.ToString()) { case "Individual": unaSesion.TipoSesion = cUtilidades.TipoSesion.Individual; break; case "Grupo 2": unaSesion.TipoSesion = cUtilidades.TipoSesion.Grupo2; break; case "Grupo 3": unaSesion.TipoSesion = cUtilidades.TipoSesion.Grupo3; break; case "Taller": unaSesion.TipoSesion = cUtilidades.TipoSesion.Taller; break; case "PROES": unaSesion.TipoSesion = cUtilidades.TipoSesion.PROES; break; } unaSesion.Fecha = txtFecha.Text; if (RadioButtonList1.SelectedIndex == 0) { unaSesion.Centro = cUtilidades.Centro.JuanLacaze; } else { unaSesion.Centro = cUtilidades.Centro.NuevaHelvecia; } if (DateTime.Parse(ddlDesde.SelectedValue) >= DateTime.Parse(ddlHasta.SelectedValue)) { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: La hora de fin de la sesión debe ser mayor a la de inicio.')", true); } else { unaSesion.HoraInicio = ddlDesde.SelectedValue; unaSesion.HoraFin = DateTime.Parse(ddlHasta.SelectedValue).AddMinutes(-1).ToShortTimeString(); unaSesion.lstBeneficiarios = new List <cBeneficiarioSesion>(); cBeneficiarioSesion unBen; for (int i = 0; i < LosBeneficiariosAgregados.Count; i++) { unBen = new cBeneficiarioSesion(); unBen.Beneficiario = LosBeneficiariosAgregados[i]; switch (i) { case 0: unBen.Plan = LosBeneficiariosAgregados[i].lstPlanes[ddlPlan1.SelectedIndex]; break; case 1: unBen.Plan = LosBeneficiariosAgregados[i].lstPlanes[ddlPlan2.SelectedIndex]; break; case 2: unBen.Plan = LosBeneficiariosAgregados[i].lstPlanes[ddlPlan3.SelectedIndex]; break; case 3: unBen.Plan = LosBeneficiariosAgregados[i].lstPlanes[ddlPlan4.SelectedIndex]; break; case 4: unBen.Plan = LosBeneficiariosAgregados[i].lstPlanes[ddlPlan5.SelectedIndex]; break; case 5: unBen.Plan = LosBeneficiariosAgregados[i].lstPlanes[ddlPlan6.SelectedIndex]; break; case 6: unBen.Plan = LosBeneficiariosAgregados[i].lstPlanes[ddlPlan7.SelectedIndex]; break; case 7: unBen.Plan = LosBeneficiariosAgregados[i].lstPlanes[ddlPlan8.SelectedIndex]; break; default: break; } unBen.Estado = cUtilidades.EstadoSesion.SinEstado; unaSesion.lstBeneficiarios.Add(unBen); } unaSesion.lstUsuarios = LosEspecialistasAgregados; List <cUsuario> lstEspecialistasNoDisponibles = dFachada.SesionVerificarFechaYHorarioUsuario(unaSesion); List <cBeneficiario> lstBeneficiariosNoDisponibles = dFachada.SesionVerificarFechaYHorarioBeneficiario(unaSesion); string sEspecialistas = ""; string sBeneficiarios = ""; // ESPECIALISTAS NO DISPONIBLES if (lstEspecialistasNoDisponibles.Count > 0) { if (lstEspecialistasNoDisponibles.Count > 1) { sEspecialistas += "Lo especialistas "; } for (int i = 0; i < lstEspecialistasNoDisponibles.Count; i++) { if (i == lstEspecialistasNoDisponibles.Count - 1) { sEspecialistas += lstEspecialistasNoDisponibles[i].Nombres + " " + lstEspecialistasNoDisponibles[i].Apellidos; } else if (i == 0) { sEspecialistas += lstEspecialistasNoDisponibles[i].Nombres + " " + lstEspecialistasNoDisponibles[i].Apellidos + ", "; } else if (i == lstEspecialistasNoDisponibles.Count - 2) { sEspecialistas += lstEspecialistasNoDisponibles[i].Nombres + " " + lstEspecialistasNoDisponibles[i].Apellidos + " y "; } } if (lstEspecialistasNoDisponibles.Count > 1) { sEspecialistas += " no están disponibles para la sesión."; } else { sEspecialistas += " no está disponible para la sesión."; } } if (lstBeneficiariosNoDisponibles.Count > 0) { if (lstEspecialistasNoDisponibles.Count > 1) { sBeneficiarios += "Los beneficiarios "; } for (int i = 0; i < lstBeneficiariosNoDisponibles.Count; i++) { if (i == lstBeneficiariosNoDisponibles.Count - 1) { sBeneficiarios += lstBeneficiariosNoDisponibles[i].Nombres + " " + lstBeneficiariosNoDisponibles[i].Apellidos; } else if (i == 0) { sBeneficiarios += lstBeneficiariosNoDisponibles[i].Nombres + " " + lstBeneficiariosNoDisponibles[i].Apellidos + ", "; } else if (i == lstBeneficiariosNoDisponibles.Count - 2) { sBeneficiarios += lstBeneficiariosNoDisponibles[i].Nombres + " " + lstBeneficiariosNoDisponibles[i].Apellidos + " y "; } } if (lstBeneficiariosNoDisponibles.Count > 1) { sBeneficiarios += " no están disponibles para la sesión."; } else { sBeneficiarios += " no está disponible para la sesión."; } } if (lstEspecialistasNoDisponibles.Count > 0 || lstBeneficiariosNoDisponibles.Count > 0) { ClientScript.RegisterClientScriptBlock(GetType(), "alert", string.Format("alert('ERROR: {0}{1} Su horario coincide con el de otra sesión.')", sEspecialistas, sBeneficiarios), true); } else { if (dFachada.SesionAgregar(unaSesion)) { CargarTodo(); ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('Se agregó la sesión correctamente.')", true); string sScript = "window.opener.location.reload(); window.close();"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "closewindows", sScript, true); } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: No se pudo agregar la sesión.')", true); } } } } } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: Se requiere ingresar todos los datos de la sesión.')", true); } }
protected void btnAgregarBeneficiario_Click(object sender, EventArgs e) { if (!FaltanDatosBeneficiario()) { #region cargar beneficiario cBeneficiario unBeneficiario = new cBeneficiario(); unBeneficiario.Nombres = txtNombres.Text; unBeneficiario.Apellidos = txtApellidos.Text; unBeneficiario.CI = int.Parse(txtCi.Text); unBeneficiario.FechaNacimiento = txtFechaNac.Text; unBeneficiario.Domicilio = txtDomicilio.Text; unBeneficiario.Telefono1 = txtTel1.Text; unBeneficiario.Telefono2 = txtTel2.Text; if (rblSexo.SelectedItem.Text == "Masculino") { unBeneficiario.Sexo = "M"; } else { unBeneficiario.Sexo = "F"; } if (cbPensionista.Checked) { unBeneficiario.Atributario = "Pensionista"; } else { unBeneficiario.Atributario = txtAtributario.Text; } unBeneficiario.MotivoConsulta = txtMotivoConsulta.Text; unBeneficiario.Escolaridad = txtEscolaridad.Text; unBeneficiario.Derivador = txtDerivador.Text; unBeneficiario.Email = txtEmail.Text; unBeneficiario.Estado = false; #endregion if (dFachada.BeneficiarioTraerEspecificoCI(unBeneficiario) == null) { #region cargar plan cPlan unPlan = new cPlan(); unPlan.Activo = false; unPlan.Evaluacion = cbEvaluacion.Checked; unPlan.Tratamiento = cbTratamiento.Checked; unPlan.Tipo = ddlTipoPlanes.SelectedItem.Text; unPlan.FechaInicio = txtDesde.Text; unPlan.FechaFin = txtHasta.Text; unBeneficiario.lstPlanes = new List <cPlan>(); unBeneficiario.lstPlanes.Add(unPlan); #endregion bool b = dFachada.BeneficiarioAgregar(unBeneficiario); if (b) { unBeneficiario.lstPlanes = dFachada.PlanTraerTodosPorBeneficiario(unBeneficiario); } if (txtDesde.Text != string.Empty || txtHasta.Text != string.Empty) { if (DateTime.Parse(txtDesde.Text) < DateTime.Parse(txtHasta.Text)) { if (cbTratamiento.Checked == true || cbEvaluacion.Checked == true) { bool bSeleccionada = false; for (int i = 0; i < cblEspecialidades.Items.Count; i++) { if (cblEspecialidades.Items[i].Selected) { bSeleccionada = true; } } if (bSeleccionada) { #region cargar lista de usuarios para las sesiones // AGREGAR ESPECIALISTAS DE LAS ESPECIALIDADES SELECCIONADAS List <cUsuario> lstUsuariosSesiones = new List <cUsuario>(); cEspecialidad unaEspecialidad; for (int i = 0; i < cblEspecialidades.Items.Count; i++) { if (cblEspecialidades.Items[i].Selected) { bSeleccionada = true; unaEspecialidad = new cEspecialidad(); unaEspecialidad.Nombre = cblEspecialidades.Items[i].Value; lstUsuariosSesiones.Add(dFachada.UsuarioTraerPrimeroPorEspecialidad(unaEspecialidad)); } } #endregion #region cargar primera sesion cSesion unaPrimeraSesion = new cSesion(); unaPrimeraSesion.TipoSesion = cUtilidades.TipoSesion.Individual; unaPrimeraSesion.Fecha = txtHasta.Text; if (rblLocalidad.SelectedIndex == 0) { unaPrimeraSesion.Centro = cUtilidades.Centro.JuanLacaze; } else { unaPrimeraSesion.Centro = cUtilidades.Centro.NuevaHelvecia; } unaPrimeraSesion.HoraInicio = "08:00"; unaPrimeraSesion.HoraFin = "08:45"; cBeneficiarioSesion unBS = new cBeneficiarioSesion(); unBS.Beneficiario = unBeneficiario; unBS.Plan = unBeneficiario.lstPlanes[0]; unBS.Estado = cUtilidades.EstadoSesion.Asistio; unaPrimeraSesion.lstBeneficiarios = new List <cBeneficiarioSesion>(); unaPrimeraSesion.lstBeneficiarios.Add(unBS); unaPrimeraSesion.Comentario = string.Empty; unaPrimeraSesion.lstUsuarios = new List <cUsuario>(); unaPrimeraSesion.lstUsuarios = lstUsuariosSesiones; #endregion #region cargar ultima sesion cSesion unaUltimaSesion = new cSesion(); unaUltimaSesion.TipoSesion = cUtilidades.TipoSesion.Individual; unaUltimaSesion.Fecha = txtHasta.Text; if (rblLocalidad.SelectedIndex == 0) { unaUltimaSesion.Centro = cUtilidades.Centro.JuanLacaze; } else { unaUltimaSesion.Centro = cUtilidades.Centro.NuevaHelvecia; } unaUltimaSesion.HoraInicio = "08:00"; unaUltimaSesion.HoraFin = "08:45"; cBeneficiarioSesion unBS1 = new cBeneficiarioSesion(); unBS1.Beneficiario = unBeneficiario; unBS1.Plan = unBeneficiario.lstPlanes[0]; unBS1.Estado = cUtilidades.EstadoSesion.Asistio; unaUltimaSesion.lstBeneficiarios = new List <cBeneficiarioSesion>(); unaUltimaSesion.lstBeneficiarios.Add(unBS1); unaUltimaSesion.Comentario = string.Empty; unaUltimaSesion.lstUsuarios = new List <cUsuario>(); unaUltimaSesion.lstUsuarios = lstUsuariosSesiones; #endregion #region cargar diagnostico unBeneficiario.lstDiagnosticos = new List <cDiagnosticoBeneficiario>(); cDiagnosticoBeneficiario db; for (int i = 0; i < LosDiagnosticosAgregados.Count; i++) { db = new cDiagnosticoBeneficiario(); db.Diagnostico = LosDiagnosticosAgregados[i]; db.Fecha = unaUltimaSesion.Fecha; unBeneficiario.lstDiagnosticos.Add(db); } #endregion if (b && dFachada.SesionAgregar(unaPrimeraSesion) && dFachada.SesionAgregar(unaUltimaSesion) && dFachada.DiagnosticoAgregarDiagnosticoBeneficiario(unBeneficiario)) { lblMensajeBeneficiario.Text = "Beneficiario pasivo agregado correctamente."; LimpiarCampos(); } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: No se pudo concretar el registro del beneficiario.')", true); } } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: Debe seleccionar las si el beneficiario asistía a tratamiento y/o evaluación.')", true); } } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: Debe seleccionar las especialidades a las que asistía el beneficiario.')", true); } } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: La fecha de la primera sesión es mayor a la fecha de la última sesión .')", true); } } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: Debe seleccionar las fecha de la primera y última sesión del beneficiario.')", true); } } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: Ya existe un beneficiario en el sistema con esa CI.')", true); } } else { ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('ERROR: Faltan datos del beneficiario.')", true); } }