// Rutinas del programador
void AgregarAutoridad(int SolicitudId)
{
BPAutoridad oBPAutoridad = new BPAutoridad();
ENTAutoridad oENTAutoridad = new ENTAutoridad();
ENTResponse oENTResponse = new ENTResponse();
Int32 AutoridadId = 0;
try
{
// Validaciones
if (this.ddlActionPrimerNivel.SelectedValue == "0") { throw new Exception("Debe elegir una autoridad de primer nivel"); }
if (this.hddCalificacionId.Value == "2"){
if (this.ddlActionSegundoNivel.SelectedValue == "0") { throw new Exception("Debe elegir una autoridad de segundo nivel"); }
if (this.ddlActionTercerNivel.SelectedValue == "0") { throw new Exception("Debe elegir una autoridad de tercer nivel"); }
}
if (String.IsNullOrEmpty(this.tbActionNombreFuncionario.Text)) { throw new Exception("El campo [Nombre] es requerido"); }
if (String.IsNullOrEmpty(this.tbActionPuestoActual.Text)) { throw new Exception("El campo [Puesto Actual] es requerido"); }
if (String.IsNullOrEmpty(this.tbActionComentarios.Text)) { throw new Exception("El campo [Comentarios] es requerido"); }
// Determinar la última autoridad seleccionada
AutoridadId = Convert.ToInt32(this.ddlActionPrimerNivel.SelectedValue);
if (this.ddlActionSegundoNivel.SelectedIndex > 0) { AutoridadId = Convert.ToInt32(this.ddlActionSegundoNivel.SelectedValue); }
if (this.ddlActionTercerNivel.SelectedIndex > 0) { AutoridadId = Convert.ToInt32(this.ddlActionTercerNivel.SelectedValue); }
// Formulario
oENTAutoridad.SolicitudId = SolicitudId;
oENTAutoridad.AutoridadId = AutoridadId;
oENTAutoridad.Nombre = tbActionNombreFuncionario.Text;
oENTAutoridad.Puesto = tbActionPuestoActual.Text;
oENTAutoridad.Comentario = tbActionComentarios.Text;
//Transacción
oENTResponse = oBPAutoridad.InsertSolicitudAutoridad(oENTAutoridad);
//Validaciones
if (oENTResponse.GeneratesException) { throw new Exception(oENTResponse.sErrorMessage); }
if (oENTResponse.sMessage != "") { throw new Exception(oENTResponse.sMessage); }
// Transacción exitosa
this.pnlAction.Visible = false;
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('Autoridad agregada con éxito');", true);
}catch (Exception ex){
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "focusControl('" + this.ddlActionPrimerNivel.ClientID + "');", true);
throw (ex);
}
}