Example #1
0
        private void btnIniciar_Click(object sender, RoutedEventArgs e)
        {
            Temporizador.Stop();
            frmConfiguracionTrabajo frm = new frmConfiguracionTrabajo();

            frm.ShowDialog();
            if (frm.DialogResult.HasValue && frm.DialogResult.Value == true)
            {
                TrabajoActivo = TrabajoGestor.ObtenerTrabajoActivo(Configuracion.NombreEquipo);
                CargaEtiquetas();
                btnIniciar.Content    = "INICIADO";
                btnIniciar.Background = Brushes.Salmon;
                CargaDatos();
            }
            Temporizador.Start();
        }
Example #2
0
        private void btnAceptar_Click(object sender, RoutedEventArgs e)
        {
            // No dejar guardar si no hay datos
            if (string.IsNullOrEmpty(txtLote.Text))
            {
                MessageBox.Show("No se ha establecido el Lote.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            txtLote.Text = txtLote.Text.ToUpper();
            if (string.IsNullOrEmpty(txtEtiquetaProducto.Text) && string.IsNullOrEmpty(txtEtiquetaCaja.Text))
            {
                MessageBox.Show("No se ha establecido la etiqueta de Producto.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            // Comprobar si existen los archivos de etiquetas ¿?

            if (string.IsNullOrEmpty(txtEtiquetaTotal.Text))
            {
                MessageBox.Show("No se ha establecido la etiqueta total. El programa continuará igualmente.", "Etiqueta Total", MessageBoxButton.OK, MessageBoxImage.Information);
            }

            TrabajoActivo.Lote                  = txtLote.Text;
            TrabajoActivo.Fecha                 = dtFechaEnvasado.DisplayDate;
            TrabajoActivo.EtiquetaProducto      = string.IsNullOrEmpty(txtEtiquetaProducto.Text) ? string.Empty : System.IO.Path.Combine(RutaEtiquetas, txtEtiquetaProducto.Text);
            TrabajoActivo.EtiquetaCaja          = string.IsNullOrEmpty(txtEtiquetaCaja.Text) ? string.Empty : System.IO.Path.Combine(RutaEtiquetas, txtEtiquetaCaja.Text);
            TrabajoActivo.EtiquetaTotal         = string.IsNullOrEmpty(txtEtiquetaTotal.Text) ? string.Empty : System.IO.Path.Combine(RutaEtiquetas, txtEtiquetaTotal.Text);
            TrabajoActivo.CopiasProducto        = CopiasProducto;
            TrabajoActivo.CopiasCaja            = CopiasCaja;
            TrabajoActivo.CopiasTotal           = CopiasTotal;
            TrabajoActivo.ImpresoraProducto     = cmbImpresoraProducto.SelectedItem.ToString();
            TrabajoActivo.ImpresoraCaja         = cmbImpresoraCaja.SelectedItem.ToString();
            TrabajoActivo.ImpresoraTotal        = cmbImpresoraTotal.SelectedItem.ToString();
            TrabajoActivo.NumeroProductosCierre = ProductosParaCierre;

            if (TrabajoGestor.GuardarTrabajo(TrabajoActivo) > 0)
            {
                DialogResult = true;
            }
            else
            {
                DialogResult = false;
            }
            Close();
        }
Example #3
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     oTrabajos = TrabajoGestor.ObtenerTrabajos(Configuracion.NombreEquipo);
     lvTrabajos.ItemsSource = oTrabajos;
     TrabajoSeleccionado    = null;
 }
Example #4
0
        /// <summary>
        /// Cierra el programa finalizando el proceso e imprime la etiqueta de total.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnFinalizar_Click(object sender, RoutedEventArgs e)
        {
            Temporizador.Stop();
            // Finalizar trabajo
            if (TrabajoActivo.Id != 0)
            {
                if (MessageBox.Show("Finalizar trabajo?", "Finalizar", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    if (oPesos.Count == 0 || string.IsNullOrEmpty(TrabajoActivo.EtiquetaCaja))
                    {
                        // Imprimir etiqueta del total antes de generar nuevo trabajo
                        try
                        {
                            if (MessageBox.Show("Imprimir etiqueta del total?", "Finalizar", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                            {
                                foreach (var x in EtiquetaTotal.SubStrings)
                                {
                                    switch (x.Name.ToLower())
                                    {
                                    case "pesaje_peso": x.Value = oPesosProductos.Sum(p => p.Peso).ToString(); break;

                                    case "pesaje_lote": x.Value = TrabajoActivo.Lote; break;

                                    case "pesaje_fecha": x.Value = TrabajoActivo.Fecha.ToShortDateString(); break;

                                    case "pesaje_numero": x.Value = TrabajoActivo.Id.ToString(); break;

                                    case "pesaje_numerocajas": x.Value = TrabajoActivo.TotalCajas.ToString(); break;

                                    default: break;
                                    }
                                }
                                ImprimeEtiquetaWorker.RunWorkerAsync(EtiquetaTotal);
                            }
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Error al cargar la etiqueta de total", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        }

                        TrabajoGestor.FinalizarTrabajo(TrabajoActivo.Id);
                        TrabajoActivo             = new Trabajo();
                        btnCierreManual.IsEnabled = false;
                        gridProductos.IsEnabled   = false;
                        gridCajas.IsEnabled       = false;
                        btnIniciar.Tag            = null;
                        btnIniciar.Content        = "INICIAR";
                        btnIniciar.Background     = Brushes.LightGreen;
                        oPesosCajas.Clear();
                        oPesos.Clear();
                        oPesosProductos.Clear();
                        CargaDatos();
                    }
                    else
                    {
                        MessageBox.Show("Aún hay productos por pasar a caja", "Error al finalizar", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }

            Temporizador.Start();
        }
Example #5
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            ImprimeEtiquetaWorker.WorkerReportsProgress = true;
            ImprimeEtiquetaWorker.DoWork          += new DoWorkEventHandler(ImprimeEtiquetaWorker_DoWork);
            ImprimeEtiquetaWorker.ProgressChanged += new ProgressChangedEventHandler(ImprimeEtiquetaWorker_ProgressChanged);

            lvProdutos.ItemsSource    = oPesos;
            lvCajas.ItemsSource       = oPesosCajas;
            btnCierreManual.IsEnabled = false;
            gridProductos.IsEnabled   = false;
            gridCajas.IsEnabled       = false;
            btnIniciar.Tag            = null;

            // inicia el motor de Bartender
            try {
                BartenderEngine = new Bartender.Engine(true);
            } catch (Bartender.PrintEngineException ex) {
                Console.WriteLine(ex.Message);
                MessageBox.Show(this, ex.Message, "PesajeWPF");
            }

            try
            {
                PuertoCOM.Handshake              = Handshake.None;
                PuertoCOM.Parity                 = Parity.None;
                PuertoCOM.DataBits               = 8;
                PuertoCOM.StopBits               = StopBits.One;
                PuertoCOM.ReadTimeout            = 200;
                PuertoCOM.WriteTimeout           = 50;
                PuertoCOM.ReceivedBytesThreshold = 10;
                PuertoCOM.Open();
                PuertoCOM.DataReceived += PuertoCOM_DataReceived;

                if (PuertoCOM.IsOpen)
                {
                    lblCOM.Content       = Configuracion.PuertoCOM;
                    lblCOM.Foreground    = Brushes.Black;
                    COMBorder.Background = Brushes.Green;
                    TrabajoActivo        = TrabajoGestor.ObtenerTrabajoActivo(Configuracion.NombreEquipo);
                    CargaEtiquetas();
                }
                else
                {
                    //lblCOM.Content = $"Puerto {Configuracion.PuertoCOM} no encontrado";
                    COMBorder.Background   = Brushes.Red;
                    lblCOM.Foreground      = Brushes.Red;
                    btnIniciar.IsEnabled   = false;
                    btnFinalizar.IsEnabled = false;
                }

                if (TrabajoActivo != null)
                {
                    btnIniciar.Content    = "INICIADO";
                    btnIniciar.Background = Brushes.Salmon;
                    CargaEtiquetas();
                    CargaCajasActivas(TrabajoActivo.Id);
                    CargaProductosActivos(TrabajoActivo.Id);
                }
                else
                {
                    TrabajoActivo = new Trabajo();
                }
                CargaDatos();

                Temporizador.Tick += new EventHandler(Temporizador_Tick);
                //Temporizador.Interval = new TimeSpan(0, 0, 1);
                Temporizador.Interval = TimeSpan.FromMilliseconds(100);
                Temporizador.Start();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                lblCOM.Content = ex.Message;
            }
        }
Example #6
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            dtFechaEnvasado.SelectedDate = DateTime.Today;
            txtCopiasProducto.Text       = CopiasProducto.ToString();
            txtCopiasCaja.Text           = CopiasCaja.ToString();
            txtCopiasTotal.Text          = CopiasTotal.ToString();
            txtCierre.Text = ProductosParaCierre.ToString();

            PrinterSettings.StringCollection lstImpresoras = PrinterSettings.InstalledPrinters;
            cmbImpresoraProducto.ItemsSource = lstImpresoras;
            cmbImpresoraCaja.ItemsSource     = lstImpresoras;
            cmbImpresoraTotal.ItemsSource    = lstImpresoras;

            PrinterSettings ps = new PrinterSettings();

            cmbImpresoraProducto.SelectedItem = ps.PrinterName;
            cmbImpresoraCaja.SelectedItem     = ps.PrinterName;
            cmbImpresoraTotal.SelectedItem    = ps.PrinterName;

            TrabajoActivo = TrabajoGestor.ObtenerTrabajoActivo(Configuracion.NombreEquipo);
            if (TrabajoActivo != null)
            {
                txtLote.Text = TrabajoActivo.Lote;
                dtFechaEnvasado.SelectedDate = TrabajoActivo.Fecha;
                if (!string.IsNullOrEmpty(TrabajoActivo.EtiquetaProducto))
                {
                    RutaEtiquetas = System.IO.Path.GetDirectoryName(TrabajoActivo.EtiquetaProducto);
                }
                if (!string.IsNullOrEmpty(TrabajoActivo.EtiquetaCaja))
                {
                    RutaEtiquetas = System.IO.Path.GetDirectoryName(TrabajoActivo.EtiquetaCaja);
                }
                if (!string.IsNullOrEmpty(TrabajoActivo.EtiquetaTotal))
                {
                    RutaEtiquetas = System.IO.Path.GetDirectoryName(TrabajoActivo.EtiquetaTotal);
                }
                txtEtiquetaProducto.Text = System.IO.Path.GetFileName(TrabajoActivo.EtiquetaProducto);
                txtEtiquetaCaja.Text     = System.IO.Path.GetFileName(TrabajoActivo.EtiquetaCaja);
                txtEtiquetaTotal.Text    = System.IO.Path.GetFileName(TrabajoActivo.EtiquetaTotal);
                if (lstImpresoras.Cast <string>().ToList().Contains(TrabajoActivo.ImpresoraProducto))
                {
                    cmbImpresoraProducto.SelectedItem = TrabajoActivo.ImpresoraProducto;
                }
                if (lstImpresoras.Cast <string>().ToList().Contains(TrabajoActivo.ImpresoraCaja))
                {
                    cmbImpresoraCaja.SelectedItem = TrabajoActivo.ImpresoraCaja;
                }
                if (lstImpresoras.Cast <string>().ToList().Contains(TrabajoActivo.ImpresoraTotal))
                {
                    cmbImpresoraTotal.SelectedItem = TrabajoActivo.ImpresoraTotal;
                }
                txtCopiasProducto.Text = TrabajoActivo.CopiasProducto.ToString();
                CopiasProducto         = TrabajoActivo.CopiasProducto;
                CopiasCaja             = TrabajoActivo.CopiasCaja;
                CopiasTotal            = TrabajoActivo.CopiasTotal;
                ProductosParaCierre    = TrabajoActivo.NumeroProductosCierre;
                txtCopiasCaja.Text     = TrabajoActivo.CopiasCaja.ToString();
                txtCopiasTotal.Text    = TrabajoActivo.CopiasTotal.ToString();
                txtCierre.Text         = TrabajoActivo.NumeroProductosCierre.ToString();
                // Sólo dejar cambiar las impresoras, las copias y el número de productos para el cierre de caja automático.
                txtLote.IsReadOnly                 = true;
                btnLimpiaLote.IsEnabled            = false;
                btnLimpiaProducto.IsEnabled        = false;
                btnLimpiaCaja.IsEnabled            = false;
                btnLimpiaTotal.IsEnabled           = false;
                btnTecladoLote.IsEnabled           = false;
                btnBuscaEtiquetaProducto.IsEnabled = false;
                btnBuscaEtiquetaCaja.IsEnabled     = false;
                btnBuscaEtiquetaTotal.IsEnabled    = false;
                dtFechaEnvasado.IsEnabled          = false;
            }
            else
            {
                TrabajoActivo = new Trabajo();
            }
        }