private void BtImprimirHoja_Click(object sender, RoutedEventArgs e)
 {
     if (Store.OperarioEjecucion != null)
     {
         var paquetes = Select.ObtenerResumenOperario(Store.OperarioEjecucion.Id, ipsAutomatas, Store.FechaInicioTurno, Store.FechaFinTurno);
         var labores  = Select.ObtenerLaboresOperario(Store.OperarioEjecucion.Id, Store.FechaInicioTurno, Store.FechaFinTurno);
         ImprimirTicketTrabajo imp = new ImprimirTicketTrabajo(Store.OperarioEjecucion, paquetes, labores);
         imp.Imprimir();
     }
 }
        private void BtHojaProduccion_Click(object sender, RoutedEventArgs e)
        {
            BackgroundWorker bw = new BackgroundWorker();

            bw.DoWork += (se, ev) =>
            {
                List <MaquinasRegistrosDatos> pares = new List <MaquinasRegistrosDatos>();
                try
                {
                    if (Store.Operario != null)
                    {
                        DaoTarea dt = new DaoTarea();

                        pares = dt.ObtenerHistoricoParesOperario(Store.Operario.Id, Horario.HorarioTurnos.FechaInicioTurno, HorarioTurnos.FechaFinTurno);
                        if (controles.Count == 0)
                        {
                            controles = dt.ObtenerOperacionesControles();
                        }

                        ev.Result = new object[] { pares, controles, Store.Operario };
                    }
                    Thread.Sleep(1000);
                }
                catch (Exception)
                {
                    ev.Result = new object[] { pares, controles };
                }
            };
            bw.RunWorkerCompleted += (se, ev) =>
            {
                this.BtHojaProduccion.IsEnabled = true;

                this.TxtHojaProduccion.Text = "HOJA PRODUCCION";

                try
                {
                    object[] result = ev.Result as object[];
                    List <MaquinasRegistrosDatos> pares     = result[0] as List <MaquinasRegistrosDatos>;
                    List <OperacionesControles>   controles = result[1] as List <OperacionesControles>;
                    Operarios             operario          = result[2] as Operarios;
                    ImprimirTicketTrabajo itt = new ImprimirTicketTrabajo(controles, operario, pares);
                    itt.Imprimir();
                }catch (Exception ex)
                {
                    new Log().Escribir(ex);
                }
            };
            bw.RunWorkerAsync();
            this.BtHojaProduccion.IsEnabled = false;
            this.TxtHojaProduccion.Text     = "IMPRIMIENDO...";
        }