예제 #1
0
 private void BAdjuntar_Carta_Click(object sender, EventArgs e)
 {
     BuscarAdjunto_Carta.ShowDialog();
     L_Ad_Carta.Text = BuscarAdjunto_Carta.FileName;
 }
예제 #2
0
        private void Subir_Carta()
        {       //verifico campos
            if (!string.IsNullOrEmpty(De_Carta.Text) && !string.IsNullOrEmpty(Para_Carta.Text) && !string.IsNullOrEmpty(Comentario_Carta.Text) && !string.IsNullOrEmpty(BuscarAdjunto_Carta.FileName))
            {
                StringBuilder errorMessages  = new StringBuilder();                                 //donde guardare el mensaje de error de bbdd
                DataTable     Ultimo_Id      = new DataTable();                                     //creo datatable donde guardare el ultimo id de la bbdd
                string        Traer_Id_Query = "select top 1 ID from Cartas order by ID desc";      // creo consulta para obtener el ultimo id
                SqlCommand    Get_ID_Carta   = new SqlCommand(Traer_Id_Query, Conexion.Conectar()); //preparo consulta

                try
                {
                    Get_ID_Carta.ExecuteNonQuery();                          //ejecuto consulta
                    string Carpeta_Carta = @"C:\Gestion_Documental\Cartas\"; //donde guardare cartas
                    string Archivo       = "";
                    int    Nuevo_Id      = 0;
                    string Fecha         = "";
                    Fecha += Fecha_Carta.Value.Year;
                    Fecha += "-";
                    Fecha += Fecha_Carta.Value.Month;
                    Fecha += "-";
                    Fecha += Fecha_Carta.Value.Day;
                    string ext   = "";
                    char   punto = '.';
                    int    aux   = 0;

                    SqlDataAdapter datos = new SqlDataAdapter(Get_ID_Carta);      //acomodo los datos
                    datos.Fill(Ultimo_Id);                                        //los mando a la variable de datatable
                    //MessageBox.Show(UltimoId.Rows[0][0].ToString());
                    int ID = Int32.Parse(Ultimo_Id.Rows[0][0].ToString());        //los almaceno como entero
                    Nuevo_Id = (ID + 1);                                          //le sumo uno para tener el nuevo id de la carta
                    for (int i = 0; i < BuscarAdjunto_Carta.FileName.Length; i++) //extraigo la extension del archivo
                    {
                        if (BuscarAdjunto_Carta.FileName[i] == punto)
                        {
                            aux = 1;
                        }
                        if (aux == 1)
                        {
                            ext += BuscarAdjunto_Carta.FileName[i];
                        }
                    }
                    Archivo += Carpeta_Carta;
                    Archivo += De_Carta.Text;
                    Archivo += Nuevo_Id.ToString();
                    Archivo += ext;
                    string     Query_Subir_Carta = "insert into Cartas values (@ID, @De, @Para, @Comentario, @Fecha, @Archivo);";
                    SqlCommand Subir_Carta       = new SqlCommand(Query_Subir_Carta, Conexion.Conectar());
                    Subir_Carta.Parameters.AddWithValue("@ID", Nuevo_Id.ToString());
                    Subir_Carta.Parameters.AddWithValue("@De", De_Carta.Text);
                    Subir_Carta.Parameters.AddWithValue("@Para", Para_Carta.Text);
                    Subir_Carta.Parameters.AddWithValue("@Fecha", Fecha);
                    Subir_Carta.Parameters.AddWithValue("@Comentario", Comentario_Carta.Text);
                    Subir_Carta.Parameters.AddWithValue("@Archivo", Archivo);
                    try
                    {
                        Subir_Carta.ExecuteNonQuery();
                        System.IO.File.Copy(BuscarAdjunto_Carta.FileName, Archivo, true); //creo copia de la Carta en directorio y nombre correspondiente
                        De_Carta.Clear();                                                 //limpio campos
                        Para_Carta.Clear();                                               //limpio campos
                        Comentario_Carta.Clear();                                         //limpio campos
                        BuscarAdjunto_Carta.Reset();                                      //limpio campos
                        L_Ad_Carta.Text = "";                                             //limpio campos
                        string         query_Cartas    = "select ID, De, Para, Comentario, Fecha, Archivo From Cartas order by ID desc";
                        SqlCommand     consulta_Cartas = new SqlCommand(query_Cartas, Conexion.Conectar());
                        SqlDataAdapter date_Cartas     = new SqlDataAdapter(consulta_Cartas)
                        {
                            SelectCommand = consulta_Cartas
                        };
                        DataTable Datos_Cartas = new DataTable();
                        date_Cartas.Fill(Datos_Cartas);
                        Grilla_Cartas.DataSource            = Datos_Cartas;
                        Grilla_Cartas.Columns[1].HeaderText = "De";
                        Grilla_Cartas.Columns[2].HeaderText = "Para";
                        Grilla_Cartas.Columns[3].HeaderText = "Comentario";
                        Grilla_Cartas.Columns[4].HeaderText = "Fecha";
                        Grilla_Cartas.Columns[0].Visible    = false;
                        Grilla_Cartas.Columns[5].Visible    = false;
                        MessageBox.Show("Carta subida con exito! jiji :D");
                    }
                    catch (SqlException ex)
                    {
                        for (int i = 0; i < ex.Errors.Count; i++)//ejecuto errores
                        {
                            errorMessages.Append("Index #" + i + "\n" +
                                                 "Message: " + ex.Errors[i].Message + "\n" +
                                                 "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                                                 "Source: " + ex.Errors[i].Source + "\n" +
                                                 "Procedure: " + ex.Errors[i].Procedure + "\n");
                        }
                        Console.WriteLine(errorMessages.ToString());     //aviso en consola el error
                        De_Carta.Clear();                                //limpio campos
                        Para_Carta.Clear();                              //limpio campos
                        Comentario_Carta.Clear();                        //limpio campos
                        BuscarAdjunto_Carta.Reset();                     //limpio campos
                        L_Ad_Carta.Text = "";                            //limpio campos
                        MessageBox.Show("No se pudo subir la carta :c"); //aviso que no se pudo subir la carta
                    }
                }
                catch (SqlException ex)
                {
                    for (int i = 0; i < ex.Errors.Count; i++)//ejecuto errores
                    {
                        errorMessages.Append("Index #" + i + "\n" +
                                             "Message: " + ex.Errors[i].Message + "\n" +
                                             "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                                             "Source: " + ex.Errors[i].Source + "\n" +
                                             "Procedure: " + ex.Errors[i].Procedure + "\n");
                    }
                    Console.WriteLine(errorMessages.ToString());                    //aviso en consola el error
                    ID_Memo.Clear();                                                //limpio campos
                    Destino_Memo.Clear();                                           //limpio campos
                    Comentario_Memo.Clear();                                        //limpio campos
                    BuscarAdjunto_Memo.Reset();                                     //limpio campos
                    LAdjunto_Memo.Text = "";                                        //limpio campos
                    MessageBox.Show("No se pudo conectar con la base de datos :c"); //aviso que no se pudo conectar a la base de datos
                }
            }
            if (string.IsNullOrEmpty(De_Carta.Text))
            {
                Help.ShowPopup(BAdjuntar_Carta, "Ingrese datos", new Point(De_Carta.Right, De_Carta.Bottom));
            }
            if (string.IsNullOrEmpty(Para_Carta.Text))
            {
                Help.ShowPopup(BAdjuntar_Carta, "Ingrese datos", new Point(Para_Carta.Right, Para_Carta.Bottom));
            }
            if (string.IsNullOrEmpty(Comentario_Carta.Text))
            {
                Help.ShowPopup(BAdjuntar_Carta, "Ingrese datos", new Point(Comentario_Carta.Right, Comentario_Carta.Bottom));
            }
            if (string.IsNullOrEmpty(BuscarAdjunto_Carta.FileName))
            {
                Help.ShowPopup(BAdjuntar_Carta, "Ingrese datos", new Point(BAdjuntar_Carta.Right, BAdjuntar_Carta.Bottom));
            }
        }