/// <summary> /// Obtiene estado activo de cada area, expediente o categoria. /// </summary> /// <param name="opc">Define si sera area, expediente o categoria.</param> /// <param name="index">Indice del combo superior para buscar ID</param> /// <returns>Verdadero si esta activa, falso si no.</returns> public bool GetActivo(int opc, int index) { switch (opc) { case 0: estado = Conexion.EjecutarConsulta("EXECUTE [dbo].[SP_DIG_OBTENER_AREAS_ACTIVAS] " + areaId[index] + ";"); break; case 1: estado = Conexion.EjecutarConsulta("EXECUTE [dbo].[SP_DIG_OBTENER_EXPEDIENTES_ACTIVOS] " + expedienteId[index] + ";"); break; case 2: estado = Conexion.EjecutarConsulta("EXECUTE [dbo].[SP_DIG_OBTENER_DIGCATEGORIAS_ACTIVOS] " + categoriaId[index] + ";"); break; } if (estado.Estado && estado.Resultado.HasRows && estado.Resultado.Read()) { bool activo = estado.Resultado.GetBoolean(0); estado.Resultado.Close(); return(activo); } else { return(false); } }
/// <summary> /// Llena un combo con los datos solicitados /// </summary> /// <param name="origenCombo">Combo que se va a llenar</param> /// <param name="opc">Elige que tipo de dato usara el combo.</param> /// <param name="index">Indice del combo superior para saber que id buscar</param> /// <returns></returns> public ComboBox LlenarCombo(ComboBox origenCombo, int opc, int index) { switch (opc) { case 0: areaId.Clear(); estado = Conexion.EjecutarConsulta("EXECUTE [dbo].[SP_DIG_OBTENER_AREAS];"); break; case 1: expedienteId.Clear(); estado = Conexion.EjecutarConsulta("EXECUTE [dbo].[SP_DIG_OBTENER_EXPEDIENTES_AREA] " + areaId[index] + ";"); break; case 2: categoriaId.Clear(); estado = Conexion.EjecutarConsulta("EXECUTE [dbo].[SP_DIG_OBTENER_CATEGORIA_EXPEDIENTE] " + expedienteId[index] + ";"); break; } origenCombo.Items.Clear(); if (estado.Estado) { while (estado.Resultado.HasRows && estado.Resultado.Read()) { origenCombo.Items.Add(estado.Resultado.GetString(0)); switch (opc) { case 0: areaId.Add(estado.Resultado.GetInt32(1)); break; case 1: expedienteId.Add(estado.Resultado.GetInt32(1)); break; case 2: categoriaId.Add(estado.Resultado.GetInt32(1)); break; } } estado.Resultado.Close(); } origenCombo.Enabled = true; return(origenCombo); }
/// <summary> /// Metodo que ejecuta una consulta en la base de datos /// </summary> /// <param name="consultaSQL">El String que contiene la consulta.</param> /// <returns>Un SQLEstado con todos sus valores llenos, incluye resultado, /// estado y mensaje /// </returns> public SQLEstado EjecutarConsulta(string consultaSQL) { SqlDataReader sqlDataReader; SqlCommand sqlCommand; try { if (sqlConnection == null) { AbrirConexion(); } sqlCommand = new SqlCommand(consultaSQL, sqlConnection); sqlDataReader = sqlCommand.ExecuteReader(); sqlCommand.Dispose(); SQLEstado estado = new SQLEstado(true, sqlDataReader, "Consulta generada con exito"); return(estado); } catch (Exception ex) { return(new SQLEstado(false, null, "Error al ejecutar consulta - Mensaje de error: " + ex.Message)); } }
/// <summary> /// Envia todos los documentos que se han editado a la Base de datos. /// </summary> /// <param name="documentosEditados">Lista de documentos que se han editado</param> /// <returns>Verdadero si todos los cambios se han guardado, falso si no es asi.</returns> public bool ActualizarTablaDocumentos(List <DocumentosInfo> documentosEditados) { foreach (DocumentosInfo documento in documentosEditados) { if (documento.PosIndex <= documentoId.Count - 1) { //Update del registro estado = Conexion.EjecutarSentencia("EXECUTE [dbo].[SP_DIG_ACTUALIZAR_TBL_DOCUMENTO] '" + documento.Nombre + "', " + documento.Activo + ", " + documentoId[documento.PosIndex]); } else { //Insert del nuevo registro estado = Conexion.EjecutarSentencia("EXECUTE [dbo].[SP_DIG_INSERTAR_TBL_DOCUMENTO] " + categoriaId[documento.CatIndex] + ", '" + documento.Nombre + "', " + Usuario.Id + ", " + documento.Activo + ";"); } if (!estado.Estado) { Console.WriteLine(estado.Mensaje); return(false); } } return(true); }
/// <summary> /// Llena un DataGridView, extrallendo los datos desde SQLServer /// </summary> /// <param name="origenTabla">Tabla origen que sera llenada</param> /// <param name="index">Indice de la categoria seleccionada</param> /// <returns>Tabla llena con datos.</returns> public DataGridStyle ObtenerTablaDocumentos(DataGridStyle origenTabla, int index) { documentoId.Clear(); origenTabla.Rows.Clear(); estado = Conexion.EjecutarConsulta("EXECUTE SP_DIG_OBTENER_DOCUMENTOS " + categoriaId[index]); if (estado.Estado) { //Llenar tabla while (estado.Resultado.HasRows && estado.Resultado.Read()) { origenTabla.Rows.Add(estado.Resultado.GetString(0), estado.Resultado.GetString(1), estado.Resultado.GetDateTime(2).ToString("dd/MM/yyyy HH:mm:ss"), estado.Resultado.GetBoolean(3)); documentoId.Add(estado.Resultado.GetInt32(4)); } estado.Resultado.Close(); //Bloquear Columnas no Editables origenTabla.Columns["NombreUsuario"].ReadOnly = true; origenTabla.Columns["FechaAlta"].ReadOnly = true; return(origenTabla); } return(null); }