private void btnPDF_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (dgControlRecepcion.SelectedItems.Count > 0)
                {
                    if (dgControlRecepcion.SelectedItems.Count == 1)
                    {
                        MessageBox.Show("Espere mientras el documento es generado. Presione 'Aceptar' para comenzar");
                        DataTable                  tabla                      = ((DataView)dgControlRecepcion.ItemsSource).ToTable();
                        var                        indice                     = dgControlRecepcion.SelectedIndex;
                        DataRow                    dataRow                    = tabla.Rows[indice];
                        ExportarArchivos           pdf                        = new ExportarArchivos();
                        PDF_ModeloControlRecepcion modelo                     = new PDF_ModeloControlRecepcion();
                        ControlRecepcionNEG        controlRecepcionNEG        = new ControlRecepcionNEG();
                        ControlRecepcionVIEW       control                    = new ControlRecepcionVIEW();
                        DetalleControlRecepcionNEG detalleControlRecepcionNEG = new DetalleControlRecepcionNEG();

                        int idControl = int.Parse(dataRow["ID"].ToString());
                        control = controlRecepcionNEG.CargarControlRecepcion(idControl);
                        control.FOLIO_PEDIDO = dataRow["FOLIO ORDEN"].ToString();

                        modelo.Folio                   = control.FOLIO_PEDIDO;
                        modelo.NombreProveedor         = control.PROVEEDOR;
                        modelo.RolProveedor            = control.NUM_ID_PROVEEDOR + "-" + control.DIV_ID_PROVEEDOR;
                        modelo.FechaRecepcion          = control.FECHA_RECEPCION.ToString();
                        modelo.EstadoControl           = control.ESTADO_CONTROL_RECEPCION;
                        modelo.Comentario              = control.COMENTARIO;
                        modelo.NombreSucursal          = control.SUCURSAL;
                        modelo.CodigoEmpleado          = control.NUM_ID_EMPELADO.ToString();
                        modelo.NombreEmpleado          = control.NOMBRE_EMPLEADO;
                        modelo.DetalleControlRecepcion = detalleControlRecepcionNEG.ListarDetalleControlRecepcion(idControl);

                        string respuesta = pdf.ControlRecepcionPedidoPDF(modelo);
                        if (respuesta == "creado")
                        {
                            MessageBox.Show("El documento se genero correctamente. Ubíquelo en 'Mis Documentos'");
                        }
                        else
                        {
                            MessageBox.Show(respuesta);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Debe seleccionar solo una fila");
                    }
                }
                else
                {
                    MessageBox.Show("Debe seleccionar una fila");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString());
            }
        }
 private void bntIngresar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (cbxFolioOP.SelectedValue != null)
         {
             if (cbxEmpleado.SelectedValue != null)
             {
                 if (cbxEstadoControl.SelectedValue != null)
                 {
                     if (dkpFechaRecepcion.SelectedDate != null)
                     {
                         ControlRecepcionNEG controlRecepcionNEG = new ControlRecepcionNEG();
                         string    comentario     = txtComentario.Text;
                         DateTime  fechaRececpion = DateTime.Parse(dkpFechaRecepcion.SelectedDate.ToString());
                         int       empleado       = int.Parse(cbxEmpleado.SelectedValue.ToString());
                         int       estado         = int.Parse(cbxEstadoControl.SelectedValue.ToString());
                         int       orden          = int.Parse(cbxFolioOP.SelectedValue.ToString());
                         DataTable tabla          = ((DataView)dgDetalleControlRecepcion.ItemsSource).ToTable();
                         string    respuesta      = controlRecepcionNEG.InsertarControlRecepcion(comentario, fechaRececpion, empleado, estado, orden, tabla);
                         if (respuesta == "creado")
                         {
                             Limpiar();
                             CargarTablaRecepcionPedido();
                             MessageBox.Show("El control de recepción se almacenó correctamente");
                         }
                         else
                         {
                             MessageBox.Show(respuesta);
                         }
                     }
                     else
                     {
                         MessageBox.Show("Debe seleccionar una fecha de recepcion");
                     }
                 }
                 else
                 {
                     MessageBox.Show("Debe seleccionar un estado de conformidad");
                 }
             }
             else
             {
                 MessageBox.Show("Debe seleccionar un empleado");
             }
         }
         else
         {
             MessageBox.Show("Debe seleccionar una solicitud");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString());
     }
 }
        private void btnBuscar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (dpkFechaDesde != null && dpkFechaHasta != null)
                {
                    DateTime desde = DateTime.Parse(dpkFechaDesde.SelectedDate.ToString());
                    DateTime hasta = DateTime.Parse(dpkFechaHasta.SelectedDate.ToString());
                    dgControlRecepcion.ItemsSource = null;

                    DataTable                   dt = new DataTable();
                    ControlRecepcionNEG         controlRecepcionNEG = new ControlRecepcionNEG();
                    List <ControlRecepcionVIEW> lista = controlRecepcionNEG.FiltarControlFechas(desde, hasta);
                    dt.Columns.Add("ID");
                    dt.Columns.Add("FOLIO ORDEN");
                    dt.Columns.Add("FECHA RECEPCION");
                    dt.Columns.Add("ESTADO RECEPCION");
                    dt.Columns.Add("EMPLEADO RESPONSABLE");
                    dt.Columns.Add("COMENTARIO");

                    if (lista.Count > 0)
                    {
                        foreach (var x in lista)
                        {
                            string folio = x.ORDEN_PEDIDO_ID.ToString();
                            for (int i = 0; i < 9; i++)
                            {
                                if (folio.Length < 8)
                                {
                                    folio = "0" + folio;
                                }
                            }
                            dt.Rows.Add(x.ID, folio, x.FECHA_RECEPCION, x.ESTADO_CONTROL_RECEPCION, x.NUM_ID_EMPELADO + " " + x.NOMBRE_EMPLEADO + " " + x.APELLIDO_EMPLEADO, x.COMENTARIO);
                        }
                    }
                    else
                    {
                        MessageBox.Show("No existen productos registrados para los filtros indicados");
                    }
                    dgControlRecepcion.ItemsSource = dt.DefaultView;
                }
                else
                {
                    MessageBox.Show("Debe ingresar un rango de fechas");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString());
            }
        }
        private void CargarTablaRecepcionPedido()
        {
            dgControlRecepcion.ItemsSource = null;
            DataTable           dt = new DataTable();
            ControlRecepcionNEG controlRecepcionNEG = new ControlRecepcionNEG();

            try
            {
                List <ControlRecepcionVIEW> lista = controlRecepcionNEG.ListarTodosRecepcion();
                dt.Columns.Add("ID");
                dt.Columns.Add("FOLIO ORDEN");
                dt.Columns.Add("FECHA RECEPCION");
                dt.Columns.Add("ESTADO RECEPCION");
                dt.Columns.Add("EMPLEADO RESPONSABLE");
                dt.Columns.Add("COMENTARIO");

                if (lista.Count > 0)
                {
                    foreach (var x in lista)
                    {
                        string folio = x.ORDEN_PEDIDO_ID.ToString();
                        for (int i = 0; i < 9; i++)
                        {
                            if (folio.Length < 8)
                            {
                                folio = "0" + folio;
                            }
                        }
                        dt.Rows.Add(x.ID, folio, x.FECHA_RECEPCION, x.ESTADO_CONTROL_RECEPCION, x.NUM_ID_EMPELADO + " " + x.NOMBRE_EMPLEADO + " " + x.APELLIDO_EMPLEADO, x.COMENTARIO);
                    }
                }
                dgControlRecepcion.ItemsSource = dt.DefaultView;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString());
            }
        }