示例#1
0
        /*
         * @jjla:26/Marzo/2014 ; mejora sincronización
         */
        public DataTable GetSincronizacionInformesFalla()
        {
            string sql = @"SELECT pk_cod_falla,
                              pk_origen_informe,
                              pk_d_cod_tipoinforme ,
                              sec_log,
                              sinc_ver
                            FROM f_gf_informefalla
                            ORDER BY pk_cod_falla DESC ,
                              pk_origen_informe ASC ,
                              pk_d_cod_tipoinforme ASC";

            Pistas.PistaMgr.Instance.Debug("SISFALLA", "EJECUTANDO Sincronizacion Informes");
            OracleCommand cmd = _conexion.CrearCommand();

            cmd.CommandText = sql;
            DataTable tb = _conexion.EjecutarCmd(cmd);

            if (tb != null)
            {
                tb.TableName = "SINC";
                Pistas.PistaMgr.Instance.Debug("SISFALLA", "Informes Falla" + tb.Rows.Count);
            }
            return(tb);
        }
示例#2
0
        private string GetConfigModoSinc(long pkCodPersona, long dominioConfig, string resultadoPorDefecto)
        {
            string        resultado = resultadoPorDefecto;
            string        sql       = @"SELECT valor_configuracion FROM P_GF_CONFIG 
            WHERE pk_cod_persona=:pk_cod_persona AND pk_cod_parametro=:pk_cod_parametro";
            OracleCommand cmd       = _conexion.CrearCommand();

            cmd.CommandText = sql;
            cmd.BindByName  = true;
            cmd.Parameters.Add("pk_cod_persona", OracleDbType.Int64, pkCodPersona, ParameterDirection.Input);
            cmd.Parameters.Add("pk_cod_parametro", OracleDbType.Int64, dominioConfig, ParameterDirection.Input);

            DataTable tabla = _conexion.EjecutarCmd(cmd);

            if (tabla.Rows.Count > 0)
            {
                resultado = ObjetoDeNegocio.GetValor <string>(tabla.Rows[0]["valor_configuracion"]);
                if (string.IsNullOrEmpty(resultado))
                {
                    resultado = resultadoPorDefecto;
                }
            }

            return(resultado.ToUpper());
        }
示例#3
0
        public long IniciarSesion(string token)
        {
            long resultado = 0;

            PistaMgr.Instance.EscribirEnLocal("WcfServicioSISFALLA.IniciarSesion()", "Iniciando Session " + token);
            AsegurarConexion(token);
            string sql =
                @"select pk_cod_persona from f_ap_persona
            where pk_cod_persona in(Select pk_cod_usuario from f_au_usuarios where login=:login)";
            OracleCommand cmd = _conexion.CrearCommand();

            cmd.CommandText = sql;
            cmd.Parameters.Add("login", _contexto.Valores["Usuario"]);
            cmd.BindByName = true;
            DataTable tabla = _conexion.EjecutarCmd(cmd);

            if (tabla.Rows.Count > 0)
            {
                resultado = (long)tabla.Rows[0][0];
                PistaMgr.Instance.EscribirEnLocal("WcfServicioSISFALLA.IniciarSesion()", "Session Iniciada " + token + " pk_cod_persona=" + resultado);
            }
            else
            {
                PistaMgr.Instance.EscribirEnLocal("WcfServicioSISFALLA.IniciarSesion()", "Session No pudo iniciarse " + token);
            }
            return(resultado);
        }
示例#4
0
        private string GetFromDB(string errorCode)
        {
            string        result = string.Empty;
            OracleCommand cmd    = _conexion.CrearCommand();

            cmd.CommandText = string.Format("SELECT TEXTO_MENSAJE FROM {0} WHERE COD_MENSAJE = :COD_MENSAJE", TABLA_MENSAJES);
            cmd.Parameters.Add("COD_MENSAJE", OracleDbType.Varchar2, errorCode, ParameterDirection.Input);
            OracleDataReader reader = null;

            try
            {
                reader = cmd.ExecuteReader();
                if (reader.Read())
                {
                    result = reader.GetString(0);
                }
            }
            catch (Exception ex)
            {
                PistaMgr.Instance.Error("ExceptionHandlerLib", ex);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }
                _conexion.DisposeCommand(cmd);
            }
            return(result);
        }
示例#5
0
        public ErrorInicioSession IniciarSesion(string login, string pass)
        {
            ErrorInicioSession resultado = ErrorInicioSession.SinError;

            PistaMgr.Instance.RegistradorBD = new DBLogWriter();
            _objetosGlobales = new Dictionary <string, object>();
            OracleCommand cmd = null;

            try
            {
                _configConexion.Inicializar(login, pass);
                _conexion = new ConnexionOracleMgr(_configConexion.CadenaConexion);
                AsegurarDatosInicioSesion();

                decimal num = 0;
                cmd             = _conexion.CrearCommand();
                cmd.CommandText = "STARTSESSION";
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("RETURN", OracleDbType.Decimal).Direction = System.Data.ParameterDirection.ReturnValue;

                cmd.ExecuteNonQuery();
                num                       = ((Oracle.DataAccess.Types.OracleDecimal)(cmd.Parameters["RETURN"].Value)).Value;
                _secLogSesion             = (long)num;
                PistaMgr.Instance.Usuario = login;
                PistaMgr.Instance.Info("BLL", "Inicio Sesion: SecLogSesion = " + _secLogSesion);
                _tokenSesion    = string.Format("Usuario={0}|Contrasena={1}", login, pass);
                _sesionIniciada = true;
            }
            catch (OracleException ex)
            {
                if (ex.Number == 1017 || ex.Number == 1005)
                {
                    resultado = ErrorInicioSession.UsuarioNoValido;
                }
                else if (ex.Number == 28009)
                {
                    resultado = ErrorInicioSession.UsuarioNoValidoParaSisFalla;
                }
                else
                {
                    resultado = ErrorInicioSession.ErrorConexionBD;
                }
                PistaMgr.Instance.Error("DALSisFalla", ex);
            }
            catch (Exception ex)
            {
                PistaMgr.Instance.Error("DALSisFalla", ex);
                resultado = ErrorInicioSession.OtroError;
            }
            finally
            {
                _conexion.DisposeCommand(cmd);
            }

            return(resultado);
        }
示例#6
0
        internal void Guardar(List <double> datos, DateTime fechaDatos, string configEtiqueta)
        {
            string query = string.Empty;

            try
            {
                BorrarDatosDia(fechaDatos, configEtiqueta);

                query = "INSERT INTO SPECTRUM.DATOS_GRAFICO ({0},{1},{2},{3},{4},{5}) VALUES (1,:{1},:{2},:{3},:{4},:{5})";

                query = string.Format(query,
                                      "ID",
                                      "FECHA",
                                      "VALOR",
                                      "FECHA_SNG",
                                      "INTERVALO",
                                      "TYPE"
                                      );
                if (conexion.EstadoConexion == ConnectionState.Open && datos.Count > 0)
                {
                    OracleCommand cmd       = conexion.CrearCommand();
                    int           intervalo = 1;
                    foreach (double valorDato in datos)
                    {
                        cmd.CommandText = query;
                        cmd.Parameters.Clear();
                        cmd.Parameters.Add("FECHA", OracleDbType.Date, fechaDatos.Date.AddHours(intervalo), ParameterDirection.Input);
                        cmd.Parameters.Add("VALOR", OracleDbType.Double, valorDato, ParameterDirection.Input);
                        cmd.Parameters.Add("FECHA_SNG", OracleDbType.Date, fechaDatos.Date, ParameterDirection.Input);
                        cmd.Parameters.Add("INTERVALO", OracleDbType.Long, intervalo, ParameterDirection.Input);
                        cmd.Parameters.Add("TYPE", OracleDbType.Varchar2, configEtiqueta, ParameterDirection.Input);
                        cmd.BindByName = true;
                        conexion.Actualizar(cmd);
                        intervalo++;
                    }
                }
            }
            catch (Exception ex)
            {
                //return new detallePublicado(fechaDatos.Date.ToString(), "Local Intranet", "Fallo : " + ex.Message);
            }
        }
示例#7
0
 protected OracleCommand CrearCommand()
 {
     return(_conexion.CrearCommand());
 }
示例#8
0
        private void AsegurarDatosInicioSesion()
        {
            OracleCommand cmd = _conexion.CrearCommand();

            cmd.CommandText = "INICIOSESSION.InformacionSession";
            cmd.CommandType = CommandType.StoredProcedure;

            OracleParameter p_refcursorAgente       = new OracleParameter();
            OracleParameter p_refcursorRol          = new OracleParameter();
            OracleParameter p_refcursorDatosUsuario = new OracleParameter();
            OracleParameter p_refcursorSession      = new OracleParameter();
            OracleParameter p_refcursorRolEmpresa   = new OracleParameter();

            p_refcursorAgente.OracleDbType       = OracleDbType.RefCursor;
            p_refcursorRol.OracleDbType          = OracleDbType.RefCursor;
            p_refcursorDatosUsuario.OracleDbType = OracleDbType.RefCursor;
            p_refcursorSession.OracleDbType      = OracleDbType.RefCursor;
            p_refcursorRolEmpresa.OracleDbType   = OracleDbType.RefCursor;

            p_refcursorAgente.Direction       = ParameterDirection.Output;
            p_refcursorRol.Direction          = ParameterDirection.Output;
            p_refcursorDatosUsuario.Direction = ParameterDirection.Output;
            p_refcursorSession.Direction      = ParameterDirection.Output;
            p_refcursorRolEmpresa.Direction   = ParameterDirection.Output;

            cmd.Parameters.Add(p_refcursorAgente);
            cmd.Parameters.Add(p_refcursorRol);
            cmd.Parameters.Add(p_refcursorDatosUsuario);
            cmd.Parameters.Add(p_refcursorSession);
            cmd.Parameters.Add(p_refcursorRolEmpresa);

            PistaMgr.Instance.Debug("Sesion", "Previo Sesion");
            PistaMgr.Instance.Debug("Sesion", "Iniciando Sesion");

            DataSet           ds = new DataSet();
            OracleDataAdapter da = null;

            try
            {
                PistaMgr.Instance.Debug("Sesion", "Iniciando TRY");

                da = new OracleDataAdapter(cmd);
                da.Fill(ds);
                PistaMgr.Instance.Debug("Sesion", "Fin TRY");
            }
            catch (Exception excep)
            {
                PistaMgr.Instance.Error("Sesion", excep);
            }
            foreach (DataTable tabla in ds.Tables)
            {
                PistaMgr.Instance.Debug("Sesion", string.Format("TABLA: {0} REGISTROS:{1}", tabla.TableName, tabla.Rows.Count));
            }
            _empresaActual = new Persona(ds.Tables[0].Rows[0]);
            _rolesActuales = readRoles(ds.Tables[1]);
            _usuarioActual = new Usuario(ds.Tables[2].Rows[0]);
            _rolSIN        = ObjetoDeNegocio.GetValor <string>(ds.Tables[4].Rows[0]["NOM_ROL"]);
            ReadValuesSession(ds.Tables[3]);

            _conexion.DisposeCommand(cmd);
            if (da != null)
            {
                da.Dispose();
            }

            _idSesion = GetIdSesionBD();
            PistaMgr.Instance.Debug("Sesion", "Sesion Iniciada IdSesion = " + _idSesion);
        }