Beispiel #1
0
        private void Initialize(int num)
        {
            OracleCommand cmd = Sesion.Instancia.Conexion.CrearCommand();

            cmd.CommandText = @"SELECT
                                    P_DEF_CONEXION.USUARIO,
                                    P_DEF_CONEXION.PASSWORD,
                                    P_DEF_CONEXION.TIPO_SERVICIO AS BASE,
                                    P_DEF_SERVIDOR.NOMBRE_SERVIDOR,
                                    P_DEF_SERVIDOR.DIRECCION
                                    FROM
                                    P_DEF_CONEXION,P_DEF_SERVIDOR
                                    where P_DEF_CONEXION.COD_SERVIDOR = P_DEF_SERVIDOR.COD_SERVIDOR AND P_DEF_CONEXION.COD_CONEXION = 10";
            cmd.Parameters.Add("COD_CONEXION", num);
            DataTable tabla = Sesion.Instancia.Conexion.EjecutarCmd(cmd);

            if (tabla.Rows.Count > 0)
            {
                server   = tabla.Rows[0]["NOMBRE_SERVIDOR"].ToString();
                database = tabla.Rows[0]["BASE"].ToString();
                uid      = tabla.Rows[0]["USUARIO"].ToString();
                password = Codifica.DecodeFrom64(tabla.Rows[0]["PASSWORD"].ToString());
                string connectionString;
                connectionString = "SERVER=" + server + ";" + "DATABASE=" +
                                   database + ";" + "UID=" + uid + ";" + "PASSWORD="******";";

                connection = new MySqlConnection(connectionString);
            }
        }
Beispiel #2
0
        public void Ejecutar()
        {
            long CodEmpresa = Sesion.Instancia.EmpresaActual.PkCodPersona;

            _lblEmpresa.Text      = Sesion.Instancia.EmpresaActual.Sigla + " - " + Sesion.Instancia.EmpresaActual.Nombre;
            _tbxMensaje.Text      = "Para el envió de información por correo electrónico, la institución debe especificar la configuración oficial y activa de su servicio de mensajería SMTP, en caso de no conocer los datos consulte con el Administrador de correo electrónico de su institución...";
            _btnVerificar.Visible = false;

            DataRow d = consultaConfiguracion(CodEmpresa);

            if (d != null)
            {
                _tbxServidor.Text = d["NOMBRE_URI"].ToString();
                _tbxIP.Text       = d["DIRECCION_IP"].ToString();
                _tbxPuerto.Text   = d["NUM_PUERTO"].ToString();
                _tbxEmail.Text    = d["NOM_CUENTA"].ToString();
                _tbxPasswd.Text   = Codifica.DecodeFrom64(d["CUENTA_PASSWD"].ToString());
                if (Int32.Parse(d["SSL_ACTIVO"].ToString()) == 1)
                {
                    _chkSsl.Checked = true;
                }
            }
            else
            {
                esnuevo = true;
            }
            ShowDialog();
        }
Beispiel #3
0
        public void GuardarConfi()
        {
            string query        = string.Empty;
            int    ssl_servicio = 0;

            if (_chkSsl.Checked == true)
            {
                ssl_servicio = 1;
            }
            long cod = Sesion.Instancia.EmpresaActual.PkCodPersona;

            if (existeConfiguracion(cod))
            {
                query = "UPDATE P_DEF_SERVICIOENVIO SET {2}=:{2},{3}=:{3},{4}=:{4},{5}=:{5},{6}=:{6},{7}=:{7},{8}=:{8} WHERE {0}=:{0} AND {1}=:{1}";
            }
            else
            {
                query = "INSERT INTO P_DEF_SERVICIOENVIO ({0},{1},{2},{3},{4},{5},{6},{7},{8}) VALUES (:{0},:{1},:{2},:{3},:{4},:{5},:{6},:{7},:{8})";
            }
            query = string.Format(query,
                                  "PK_COD_PERSONA",
                                  "PK_COD_CONFI",
                                  "NOMBRE_URI",
                                  "DIRECCION_IP",
                                  "NUM_PUERTO",
                                  "NOM_CUENTA",
                                  "CUENTA_PASSWD",
                                  "ETIQUETA_ENVIO",
                                  "SSL_ACTIVO"
                                  );
            if (true)
            {
                OracleCommand cmdg = Sesion.Instancia.Conexion.CrearCommand();
                cmdg.CommandText = query;
                cmdg.BindByName  = true;
                cmdg.Parameters.Add("PK_COD_PERSONA", OracleDbType.Int32, Sesion.Instancia.EmpresaActual.PkCodPersona, System.Data.ParameterDirection.Input);
                cmdg.Parameters.Add("PK_COD_CONFI", OracleDbType.Int32, (int)DOMINIOS_ENVIOCORREO.ENVIOCORREO_PORDEFECTO, System.Data.ParameterDirection.Input);
                cmdg.Parameters.Add("NOMBRE_URI", OracleDbType.Varchar2, _tbxServidor.Text, System.Data.ParameterDirection.Input);
                cmdg.Parameters.Add("DIRECCION_IP", OracleDbType.Varchar2, _tbxIP.Text, System.Data.ParameterDirection.Input);
                cmdg.Parameters.Add("NUM_PUERTO", OracleDbType.Varchar2, Decimal.Parse(_tbxPuerto.Text), System.Data.ParameterDirection.Input);
                cmdg.Parameters.Add("NOM_CUENTA", OracleDbType.Varchar2, _tbxEmail.Text, System.Data.ParameterDirection.Input);
                cmdg.Parameters.Add("CUENTA_PASSWD", OracleDbType.Varchar2, Codifica.EncodeTo64(_tbxPasswd.Text), System.Data.ParameterDirection.Input);
                cmdg.Parameters.Add("ETIQUETA_ENVIO", OracleDbType.Varchar2, Sesion.Instancia.EmpresaActual.Sigla, System.Data.ParameterDirection.Input);
                cmdg.Parameters.Add("SSL_ACTIVO", OracleDbType.Int32, ssl_servicio, System.Data.ParameterDirection.Input);

                Sesion.Instancia.Conexion.Actualizar(cmdg);

                Sesion.Instancia.ConfiguracionCorreo = consultaConfiguracion(Sesion.Instancia.EmpresaActual.PkCodPersona);
                MessageBox.Show("Configuracion se guardo satisfactoriamente ...", "Configuracion Correo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                _btnVerificar.Visible = true;
                _btnVerificar.Focus();
            }
        }
Beispiel #4
0
        public ActionResult Index(FormCollection collection)
        {
            openConn();
            string email = collection["Email"].ToString();
            string pass  = collection["Contrasenya"].ToString();

            pass = Codifica.ConverteixPassword(pass);
            try
            {
                string sql =
                    "SELECT * FROM usuarios WHERE Email=@email and contrasenya=@password";
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandText = sql;
                cmd.Connection  = _conn;
                cmd.Parameters.AddWithValue("@email", email);
                cmd.Parameters.AddWithValue("@password", pass);
                cmd.Prepare();
                MySqlDataReader rdr   = cmd.ExecuteReader();
                Usuario         Model = null;
                if (rdr.Read())
                {
                    int _id = 0;
                    Int32.TryParse(rdr["idUsuario"].ToString(), out _id);
                    Model             = new Usuario();
                    Model.Id          = Convert.ToInt32(rdr["idUsuario"]);
                    Model.Nombre      = rdr["Nombre"].ToString();
                    Model.Contrasenya = rdr["contrasenya"].ToString();;
                    Model.Email       = rdr["Email"].ToString();
                }

                rdr.Close();
                closeConn(); //método propio que cierra conexión si está abierta

                if (Model != null)
                {
                    this.HttpContext.Session.Add("logged", Model.Nombre);
                    this.HttpContext.Session.Add("loggedid", Model.Id.ToString());
                    return(RedirectToAction("Index", "Home"));
                }
            }
            catch (Exception ex)
            {
                closeConn(); //método propio que cierra conexión si está abierta
            }

            return(View());
        }
Beispiel #5
0
        public ActionResult Registro(FormCollection collection)
        {
            // primer verifiquem que email NO existeixi
            // si existeix, retornem a vista registre amb msg d'error
            // cal crear mètode: bool emailExisteix(string email)
            if (emailExisteix(collection["Email"].ToString()))
            {
                ViewBag.ErrorMsg = "Este email ya ha sido registrado";
                return(RedirectToAction("Index", "Login"));
            }

            try
            {
                _conn.Open();
                MySqlCommand cmd = new MySqlCommand();
                string       sql =
                    "INSERT INTO usuarios (Nombre, contrasenya, Email) VALUES (@nom,@password,@email)";

                string passwordVisible    = collection["contrasenya"];
                string passwordCodificada =
                    Codifica.ConverteixPassword(passwordVisible);

                cmd.CommandText = sql;
                cmd.Parameters.AddWithValue("@nom", collection["Nombre"].ToString());
                cmd.Parameters.AddWithValue("@password", passwordCodificada);
                cmd.Parameters.AddWithValue("@email", collection["Email"].ToString());
                //para coger el id del logueado que se acaba de registrar
                //last_insert_id() as ultimo

                cmd.Connection = _conn;
                cmd.Prepare();
                cmd.ExecuteNonQuery();
                _conn.Close();

                //this.HttpContext.Session.Add("logged", collection["Nombre"].ToString());
                //this.HttpContext.Session.Add("loggedid", 2);
                return(RedirectToAction("Index", "Login"));
            }
            catch (Exception e)
            {
                if (_conn.State == System.Data.ConnectionState.Open)
                {
                    _conn.Close();
                }
                return(View());
            }
        }
Beispiel #6
0
        public bool Enviar(string destinatario)
        {
            bool resultado = true;

            var    fromAddress  = new MailAddress(nomCuenta, etiquetaEnvio + "_SisFalla-V2");
            string fromPassword = Codifica.DecodeFrom64(pass);


            var smtp = GetSMTP_CNDC(fromAddress, fromPassword);

            var message = new MailMessage();

            message.From = fromAddress;
            message.To.Add(destinatario);

            message.Subject    = "SisFalla V2 - Prueba de Utilitario.";
            message.Body       = "Esta es sólo un prueba del Utilitario de cnvío de correo electrónico.";
            message.IsBodyHtml = true;
            smtp.Send(message);

            return(resultado);
        }
Beispiel #7
0
 private void subirArchivo()
 {
     try
     {
         string archivo = pubIntra.archivo;
         if (archivo != string.Empty)
         {
             long up = SubirArchivoAFTP(_regServidor.nombre_servidor, _regServidor.usuario, Codifica.DecodeFrom64(_regServidor.password), archivo, _regServidor.carpetaDestino, new FileInfo(archivo).Name);
             if (up == BajarArchivoDeFTP(_regServidor.nombre_servidor, _regServidor.usuario, Codifica.DecodeFrom64(_regServidor.password), archivo, _regServidor.carpetaDestino, new FileInfo(archivo).Name))
             {
                 if (copiarIntranet(_regServidor.dirIntranet, new FileInfo(archivo).Name))
                 {
                     _btnEnviarWeb.Enabled   = false;
                     _btnPublicarWeb.Enabled = true;
                     _btnPublicarWeb.Tag     = "publicar";
                     _btnPublicarWeb.Focus();
                 }
                 else
                 {
                     MessageBox.Show("El archivo no se envio correctamente a la Intranet, volver a intentar...");
                 }
             }
             else
             {
                 MessageBox.Show("El archivo no se envio correctamente al sitio web, volver a intentar...");
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Beispiel #8
0
        private ResultadoEnvio EnviarCorreo(string asunto, string cuerpo, List <string> destinatarios, List <string> archivosAdjuntos, string sufijo, DataRow ConfiguracionCliente)
        {
            List <string> destinatariosNoEnviados = new List <string>();
            string        mensaje = string.Empty;

            var    fromAddress  = new MailAddress(ConfiguracionCliente["NOM_CUENTA"].ToString(), ConfiguracionCliente["ETIQUETA_ENVIO"].ToString() + sufijo);
            string fromPassword = Codifica.DecodeFrom64(ConfiguracionCliente["CUENTA_PASSWD"].ToString());

            destinatarios = AsegurarSinRepetidos(destinatarios);


            if (ConfiguracionCliente["ETIQUETA_ENVIO"].ToString() == "CNDC" && sufijo == "_SisFalla")
            {
                if (MessageBox.Show("Por favor verificar que el Outlook, se esta habilitado.", "Alerta", MessageBoxButtons.OK) == DialogResult.OK)
                {
                    int i = 0;
                }


                string destinos = UtilesString.ToString(destinatarios, ";");
                PistaMgr.Instance.Info("SisFallaEmailLib.Enviar ", string.Format("Destino: {0}; {1}; {2} ", destinos, ConfiguracionCliente["NOM_CUENTA"].ToString(), fromPassword));
                OutlookMail outlook = new OutlookMail();
                if (outlook.IniciarSesion(ConfiguracionCliente["NOM_CUENTA"].ToString(), fromPassword))
                //if (outlook.IniciarSesion("*****@*****.**", "654321pedro"))
                {
                    outlook.addToOutBox(destinos, asunto, cuerpo, archivosAdjuntos);
                }
                else
                {
                    destinatariosNoEnviados = destinatarios;
                    mensaje = "Al parecer Outlook no ha sido iniciado...";
                }
            }
            else
            {
                foreach (var d in destinatarios)
                {
                    PistaMgr.Instance.Info("SisFallaEmailLib.Enviar ", string.Format("Destino: {0} ", d));

                    var smtp    = GetSMTP_CNDC(fromAddress, fromPassword, ConfiguracionCliente);
                    var message = new MailMessage();
                    message.From = fromAddress;
                    List <Stream> streams = new List <Stream>();
                    foreach (var adjunto in archivosAdjuntos)
                    {
                        Stream stream = File.OpenRead(adjunto);
                        message.Attachments.Add(new Attachment(stream, Path.GetFileName(adjunto)));
                        streams.Add(stream);
                        PistaMgr.Instance.Info("SisFallaEmailLib.Enviar ", string.Format("Adjunto: {0} ", adjunto));
                    }
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    message.Subject     = asunto;
                    message.Body        = cuerpo;
                    message.IsBodyHtml  = true;
                    message.To.Clear();
                    message.To.Add(d);
                    message.Priority = MailPriority.High;
                    try
                    {
                        smtp.ServicePoint.MaxIdleTime = 10000;

                        smtp.Send(message);
                    }
                    catch (Exception e)
                    {
                        destinatariosNoEnviados.Add(d);
                        PistaMgr.Instance.Error("SisFallaEmailLib.Enviar-NO ENVIADO", string.Format("D: {0} Exp :{1}", d, e.ToString()));
                    }
                    finally
                    {
                        foreach (var s in streams)
                        {
                            s.Close();
                        }
                    }
                }
            }

            return(new ResultadoEnvio()
            {
                Msg = mensaje, NoEnviados = destinatariosNoEnviados
            });
        }