示例#1
0
 /*Constructor para enviar los datos del servicio considerando el objeto richText Box */
 public ConexionTCP(TcpClient clie, ConfiguracionServicio serviceConf, RichTextBox visor,AtmObj terminal,BddSQLServer conexion)
 {
     try
     {
         this.terminal = terminal;
         cliente = clie;
         stream = new NetworkStream(cliente.Client);
         sincronico = true;
         stream.ReadTimeout = 3000;
         terminalArchivo = new archivoRW();
         error = new archivoRW();
         terminalArchivo.archivo_guardar("MENSAGE_TERMINAL", terminal.codigo);
         error.archivo_guardar("ERROR", terminal.codigo);
         configurarServicio = serviceConf;
         this.visor = visor;
         comadoToATM = new ComandoNdcTerminal();
         sincronico = true;
         enviarDato = false;
         conBdd = conexion;
         verificacionConexion = new System.Timers.Timer();
         verificacionConexion.Elapsed += new System.Timers.ElapsedEventHandler(verificarConexion);
         verificacionConexion.Interval = 1000;
         verificacionConexion.Enabled = true;
         verificacionConexion.Start();
     }
     catch (Exception ex)
     {
         error.escritura_archivo_string(ex.Message);
         mensaje_error_sistema(ex.Message,Color.Red);
     }
 }
 public string enviarComandoTerminal(AtmObj terminal,string comando)
 {
     string ipMonitoreo = ConfigurationManager.AppSettings["servidorMonitoreo"];
     string mensaje = string.Empty;
     if (!string.IsNullOrEmpty(ipMonitoreo)) {
         mensaje = controlUsr.control_envioComando(terminal, comando, ipMonitoreo);
     }else{
         mensaje = "No esta configurado para enviar los comandos, revise su configuracion";
     }
     return mensaje;
 }
 public string guardar_actualizar_terminal(AtmObj terminal, bool actualizar)
 {
     return controlUsr.control_guardar_actualizar_terminal(terminal, actualizar);
 }
 public ProcesamientoTrama(AtmObj terminal)
 {
     errorNDC = new LecturaEscrituraArchivo();
     errorNDC.archivo_guardar("MENSAGE_NDC", terminal.codigo);//Almacena en la carpeta MENSAGE_TERMINAL y en la sub carpeta codigo terminal
     this.terminal = terminal;
 }
示例#5
0
        /*Constructor para enviar los datos del servicio sin considerar el objeto richText Box */
        public ConexionTCP(TcpClient clie, ConfiguracionServicio serviceConf,AtmObj terminales,BddSQLServer conexion)
        {
            try
            {
                this.terminal = terminales;
                cliente = clie;
                stream = new NetworkStream(cliente.Client);
                stream.ReadTimeout = 10000;
                stream.WriteTimeout = 10000;
                terminalArchivo = new LecturaEscrituraArchivo();
                error = new LecturaEscrituraArchivo();

                terminalArchivo.archivo_guardar("MENSAGE_TERMINAL", terminal.codigo);//Almacena en la carpeta MENSAGE_TERMINAL y en la sub carpeta codigo terminal
                error.archivo_guardar("ERROR", terminal.codigo);
                //visor = new RichTextBox();
                configurarServicio = serviceConf;
                comadoToATM = new ComandoNdcTerminal();
                sincronico = true;
                enviarDato = false;

                error.escritura_archivo_string(configurarServicio.conexion +"\t"+ configurarServicio.pathLogServicio);
                //conBdd = new BddSQLServer(configurarServicio.conexion, configurarServicio.pathLogServicio);
                conBdd = conexion;
                verificacionConexion = new System.Timers.Timer();
                verificacionConexion.Elapsed += new System.Timers.ElapsedEventHandler(verificarConexion);
                verificacionConexion.Interval = segSondeo*1000;
                verificacionConexion.Enabled = true;
                verificacionConexion.Start();
                parseoAlrma = new ProcesamientoTrama(terminal);
                terminal.conexion = true;
                terminal.modoSupervisor = false;
                conBdd.actualizar_terminal(terminal);
                mt = new MonitoreoDispositivos();
                mt.id_atm = terminal.id_atm;
                mt.estado_gaveta1 = "0";
                mt.estado_gaveta2 = "0";
                mt.estado_gaveta3 = "0";
                mt.estado_gaveta4 = "0";
                mt.estado_gaveta5 = "0";
                mt.estado_impresora = "0";
                mt.estado_impresora_jrnl = "0";
                mt.estado_dispensador = "0";
                mt.estado_encriptora = "0";
                mt.estado_lectora = "0";
                mt.tipo_estado = "C";
                conBdd.insertar_actualizar_monitoreo_dispositivos(mt);// Como incia conexion se rocede a encerar
                mt.tipo_estado = "S";
                conBdd.insertar_actualizar_monitoreo_dispositivos(mt);// Como incia conexion se rocede a encerar
                string parametroEnvio = conBdd.obtenerParametro(3).valor;
                string parametroMsg = conBdd.obtenerParametro(6).valor;
                string parametroCorreo = conBdd.obtenerParametro(1).valor;
                string pathGuardado = conBdd.obtenerParametro(5).valor;
                notificacion = new NotificacionEnviar(parametroCorreo.Split(':'), parametroMsg.Split(':'), pathGuardado, parametroEnvio.Split(':'));
            }
            catch (Exception ex) {
                error.escritura_archivo_string(ex.Message);
                //mensaje_error_sistema(ex.Message,Color.Red);
                terminal.conexion = false;
                conBdd.actualizar_terminal(terminal);
            }
        }
示例#6
0
 public string control_guardar_actualizar_terminal(AtmObj terminal, bool actualizar)
 {
     conBdd.abrir_conexion_base();
     string mensaje = string.Empty;
     try
     {
         if (actualizar)
         {
             conBdd.actualizar_terminal(terminal);
             mensaje = "Actualizacion de datos terminal correcto";
         }
         else
         {
             conBdd.insertar_atm(terminal);
             mensaje = "Ingreso de nuevo terminal correcto";
         }
     }
     catch (ExInsertarRegistro ex)
     {
         logSistema.escritura_archivo_string(ex.Message);
         mensaje = ex.Message;
     }
     catch (ExActualizarRegistro ex)
     {
         logSistema.escritura_archivo_string(ex.Message);
         mensaje = ex.Message;
     }
     catch (Exception ex)
     {
         logSistema.escritura_archivo_string(ex.Message);
         mensaje = ex.Message;
     }
     finally
     {
         conBdd.cerrar_conexion_base();
     }
     return mensaje;
 }
示例#7
0
        public List<AtmObj> control_buscar_terminalByUsr_NoAsignado(UsuarioObj usuario)
        {
            conBdd.abrir_conexion_base();
            List<AtmObj> t = null;
            try
            {
                t = conBdd.obtener_terminalByUsuario_NoAsignados(usuario);
            }
            catch (ExpObtenerRegistro ex)
            {
                t = new List<AtmObj>();
                AtmObj tmp = new AtmObj();
                tmp.ubicacion = MensajeSistema.reg_no_existe + " Terminal ";
                t.Add(tmp);
                logSistema.escritura_archivo_string(ex.Message);

            }
            catch (Exception ex)
            {
                t = new List<AtmObj>();
                AtmObj tmp = new AtmObj();
                tmp.ubicacion = MensajeSistema.error_sistema + " Terminal ";
                t.Add(tmp);
                logSistema.escritura_archivo_string(ex.Message);
            }
            finally
            {
                conBdd.cerrar_conexion_base();
            }
            return t;
        }
示例#8
0
        public List<AtmObj> control_buscar_terminal(string busqueda, bool tipo_busqueda)
        {
            conBdd.abrir_conexion_base();
            List <AtmObj> t = null;
            try
            {
                t = conBdd.obtener_terminal(busqueda, tipo_busqueda);
            }
            catch (ExpObtenerRegistro ex)
            {
                t = new List <AtmObj>();
                AtmObj tmp = new AtmObj();
                tmp.ubicacion = MensajeSistema.reg_no_existe + " Terminal ";
                t.Add(tmp);
                logSistema.escritura_archivo_string(ex.Message + "\n" + ex.StackTrace);

            }
            catch (Exception ex)
            {
                t = new List<AtmObj>();
                AtmObj tmp = new AtmObj();
                tmp.ubicacion = MensajeSistema.error_sistema + " Terminal ";
                t.Add(tmp);
                logSistema.escritura_archivo_string(ex.Message +"\n"+ ex.StackTrace);
            }
            finally
            {
                conBdd.cerrar_conexion_base();
            }
            return t;
        }
示例#9
0
 public List<DetalleDescripcionObj> controlObtencionDescripcion(AtmObj atm)
 {
     List<DetalleDescripcionObj> descripcion = new List<DetalleDescripcionObj>();
     conBdd.abrir_conexion_base();
     //List<DetalleDescripcionObj> descripcion = new List<DetalleDescripcionObj>();
     try
     {
         descripcion = conBdd.obtener_detalle_alarma_terminal(atm);
     }
     catch (Exception e)
     {
         logSistema.escritura_archivo_string(e.Message);
     }
     finally
     {
         conBdd.cerrar_conexion_base();
     }
     return descripcion;
 }
示例#10
0
 public void insertar_atm(AtmObj atm)
 {
     SqlCommand cmd = new SqlCommand("insertar_atm_sp", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@ip_atm", atm.ip);
     cmd.Parameters.AddWithValue("@codigo_atm", atm.codigo);
     cmd.Parameters.AddWithValue("@ubicacion_atm", atm.ubicacion);
     cmd.Parameters.AddWithValue("@estado_atm", atm.estado);
     cmd.Parameters.AddWithValue("@id_modelo", atm.id_modelo);
     try
     {
         cmd.ExecuteNonQuery();
     }
     catch (ArgumentException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExInsertarRegistro(MensajeSistema.reg_no_existe);
     }
     catch (InvalidOperationException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExConexionBase(MensajeSistema.error_Conexion);
     }
     catch (SqlException ex) {
         logs.escritura_archivo_string(ex.Message);
         throw new ExInsertarRegistro(ex.Message);
     }
 }
示例#11
0
 public void actualizar_terminal(AtmObj terminal)
 {
     SqlCommand cmd = new SqlCommand("actualizar_terminal_sp", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@id_atm", terminal.id_atm);
     cmd.Parameters.AddWithValue("@ip", terminal.ip);
     cmd.Parameters.AddWithValue("@codigo", terminal.codigo);
     cmd.Parameters.AddWithValue("@ubicacion", terminal.ubicacion);
     cmd.Parameters.AddWithValue("@estado", terminal.estado);
     cmd.Parameters.AddWithValue("@modelo", terminal.id_modelo);
     cmd.Parameters.AddWithValue("@estado_conexion", terminal.conexion);
     try
     {
         int i = cmd.ExecuteNonQuery();
         if (i == 0)
         {
             throw new ExActualizarRegistro(MensajeSistema.actualizacion_error + " Terminal");
         }
     }
     catch (InvalidOperationException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExConexionBase(MensajeSistema.error_Conexion);
     }
 }
示例#12
0
 public List<AtmObj> obtener_terminalByUsuario_NoAsignados(UsuarioObj usuario)
 {
     SqlCommand cmd = null;
     cmd = new SqlCommand("obtener_terminal_by_usuario_NoAsignados_sp", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@codigo_usuario", usuario.id);
     List<AtmObj> terminales = new List<AtmObj>();
     try
     {
         SqlDataAdapter da = new SqlDataAdapter(cmd);
         DataTable tb = new DataTable("TerminalObj");
         da.Fill(tb);
         for (int i = 0; i < tb.Rows.Count; i++)
         {
             AtmObj terminal = new AtmObj();
             terminal.id_atm = Convert.ToInt16(tb.Rows[i][0].ToString());
             terminal.ip = tb.Rows[i][1].ToString();
             terminal.codigo = tb.Rows[i][2].ToString();
             terminal.ubicacion = tb.Rows[i][3].ToString();
             terminal.estado = tb.Rows[i][4].ToString();
             terminal.id_modelo = int.Parse(tb.Rows[i][5].ToString());
             terminales.Add(terminal);
         } return terminales;
     }
     catch (IndexOutOfRangeException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (ArgumentNullException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (Exception ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new Exception(MensajeSistema.reg_no_existe);
     }
 }
示例#13
0
 public List<AtmObj> obtener_terminal(string busqueda, bool tipo_busqueda)
 {
     SqlCommand cmd = null;
     string[] tipoOpcion = busqueda.Split(':');
     int valorbusqueda = 0;
     if (tipoOpcion.Length > 1) {
         busqueda = tipoOpcion[0];
         valorbusqueda = Int16.Parse(tipoOpcion[1]);
     }
     if (tipo_busqueda)
     { //Cuando es true busca por codigo terminal
         cmd = new SqlCommand("obtener_terminal_sp", conn);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.AddWithValue("@codigo_terminal", busqueda);
         cmd.Parameters.AddWithValue("@busqueda_por", valorbusqueda);
     }
     else {
         cmd = new SqlCommand("obtener_terminal_by_Ip_sp", conn);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.AddWithValue("@ip_atm", busqueda);
     }
     List <AtmObj> terminales = new List<AtmObj>();
     try
     {
         SqlDataAdapter da = new SqlDataAdapter(cmd);
         DataTable tb = new DataTable("TerminalObj");
         da.Fill(tb);
         for (int i = 0; i < tb.Rows.Count; i++)
         {
             AtmObj terminal = new AtmObj();
             terminal.id_atm = Convert.ToInt16(tb.Rows[i][0].ToString());
             terminal.ip = tb.Rows[i][1].ToString();
             terminal.codigo = tb.Rows[i][2].ToString();
             terminal.ubicacion = tb.Rows[i][3].ToString();
             terminal.estado = tb.Rows[i][4].ToString();
             terminal.id_modelo = int.Parse(tb.Rows[i][5].ToString());
             terminal.conexion = bool.Parse(tb.Rows[i][6].ToString());
             terminales.Add(terminal);
         } return terminales;
     }
     catch (IndexOutOfRangeException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (ArgumentNullException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (Exception ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new Exception(MensajeSistema.reg_no_existe);
     }
 }
示例#14
0
 public List<UsuarioObj> obtener_usuario_por_terminal(AtmObj atm)
 {
     SqlCommand cmd = new SqlCommand("obtener_usuario_by_atm_sp", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@id_atm", atm.id_atm);
     List<UsuarioObj> usuarios = new List<UsuarioObj>();
     try
     {
         SqlDataAdapter da = new SqlDataAdapter(cmd);
         DataTable tb = new DataTable("usuarioObj");
         da.Fill(tb);
         for (int i = 0; i < tb.Rows.Count; i++)
         {
             UsuarioObj usuario = new UsuarioObj();
             usuario.id = Convert.ToInt16(tb.Rows[i][0].ToString());
             usuario.nombre = tb.Rows[i][1].ToString();
             usuario.apellido = tb.Rows[i][2].ToString();
             usuario.cedula = tb.Rows[i][3].ToString();
             usuario.correo = tb.Rows[i][4].ToString();
             usuario.telefono = tb.Rows[i][5].ToString();
             usuarios.Add(usuario);
         }
         return usuarios;
     }
     catch (IndexOutOfRangeException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         //logs.cerrar_archivo();
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (ArgumentNullException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         //logs.cerrar_archivo();
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (Exception ex)
     {
         logs.escritura_archivo_string(ex.Message);
         //logs.cerrar_archivo();
         throw new Exception(MensajeSistema.reg_no_existe);
     }
 }
示例#15
0
 public List<DetalleDescripcionObj> obtener_detalle_alarma_terminal(AtmObj atm)
 {
     SqlCommand cmd = new SqlCommand("obtener_resumen_alertas_sp", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@codigo_atm", atm.codigo);
     List<DetalleDescripcionObj> detalles = new List<DetalleDescripcionObj>();
     try
     {
         SqlDataAdapter da = new SqlDataAdapter(cmd);
         DataTable tb = new DataTable("detalles");
         da.Fill(tb);
         for (int i = 0; i < tb.Rows.Count; i++)
         {
             DetalleDescripcionObj detalle = new DetalleDescripcionObj();
             detalle.descripcion_mensaje = tb.Rows[i][0].ToString();
             //detalle.mensaje_ndc = tb.Rows[i][1].ToString();
             //detalle.mensaje_ndc = tb.Rows[i][1].ToString().Replace(char)28,(char));
             //detalle.mensaje_ndc = "";
             detalle.fecha_registro = DateTime.Parse(tb.Rows[i][2].ToString());
             detalle.tipo_estado = tb.Rows[i][3].ToString();
             detalle.tipo_mensaje = tb.Rows[i][4].ToString().Replace((char)0, (char)94).Replace((char)28, (char)127).Replace((char)29, (char)128);
             detalle.tipo_dispositivo = tb.Rows[i][5].ToString();
             ProcesamientoTrama pr = new ProcesamientoTrama(new AtmObj());
             detalles.Add(pr.procesamientoDescripcion(detalle));
         }
         return detalles;
     }
     catch (IndexOutOfRangeException ex)
     {
         logs.escritura_archivo_string(ex.Message +"\t" + ex.StackTrace);
         //logs.cerrar_archivo();
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (ArgumentNullException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         //logs.cerrar_archivo();
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (Exception ex)
     {
         logs.escritura_archivo_string(ex.Message);
         //logs.cerrar_archivo();
         throw new Exception(MensajeSistema.reg_no_existe);
     }
 }
 public List<DetalleDescripcionObj> obtener_detalle_alarma_terminal(AtmObj atm)
 {
     /*AtmObj atm = new AtmObj();
     atm.id_atm = 1;
     atm.codigo = "ATM001";*/
     try
     {
         return controlUsr.controlObtencionDescripcion(atm);
     }
     catch (Exception e) {
         List<DetalleDescripcionObj> ls = new List<DetalleDescripcionObj>();
         ls.Add(new DetalleDescripcionObj());
         ls[0].descripcion_mensaje = e.Message + " _ " + e.StackTrace;
         return ls;
     }
 }
示例#17
0
 public void insertar_responsable_atm(AtmObj atm, UsuarioObj usuario)
 {
     SqlCommand cmd = new SqlCommand("insertar_responsable_atm_sp", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@id_usuario", usuario.id);
     cmd.Parameters.AddWithValue("@id_atm", atm.id_atm);
     try
     {
         cmd.ExecuteNonQuery();
     }
     catch (ArgumentException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExInsertarRegistro(MensajeSistema.ingreso_error);
     }
     catch (InvalidOperationException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         throw new ExConexionBase(MensajeSistema.error_Conexion);
     }
 }
示例#18
0
        public string control_envioComando(AtmObj terminal,string comando,string hostComunicacion)
        {
            conBdd.abrir_conexion_base();
            List<AtmObj> terminales = new List<AtmObj>();
            string mensaje = string.Empty;
            try
            {
                string valorBusqueda = terminal.ip+":"+terminal.id_atm;
                terminales = conBdd.obtener_terminal(valorBusqueda,false);
                ClienteMonitoreoTCP conn = new ClienteMonitoreoTCP(hostComunicacion);

                foreach(AtmObj ter in terminales){
                    try
                    {
                        if (ter.conexion)
                        {
                            mensaje += "[" + ter.codigo + "]" + conn.envioRecepcionString(ter.ip + ":" + comando) + "\n";
                        }
                        else {
                            mensaje += "[" + ter.codigo + "] Terminal desconectado \n";
                        }
                    }
                    catch (Exception e) {
                        mensaje = e.Message + "\t"+ e.StackTrace;
                        logSistema.escritura_archivo_string(e.Message);
                    }
                }
                //mensaje = "envio de mensaje exitoso!";
            }
            catch (ExpObtenerRegistro ex)
            {
                mensaje = ex.Message;
                logSistema.escritura_archivo_string(ex.Message);

            }catch (Exception ex)
            {
                mensaje = ex.Message;
                logSistema.escritura_archivo_string(ex.Message);
            }
            finally
            {
                conBdd.cerrar_conexion_base();

            }
            return mensaje;
        }