private void btnAsignar_Click(object sender, EventArgs e)
        {
            ReaderVModel anden = (ReaderVModel)cboxAndenes.SelectedItem;
            // TODO-1: Validar que regresa cuando no da un error
            var uno = BusinessOrders.IniciarEmbarque(txbEmbarque.Text, anden.ReaderID);

            if (uno == 1)
            {
                // TODO-3: Abrir el form que validará las tarimas
                MessageBox.Show("Se inició el embarque");
                _embarque = txbEmbarque.Text;

                FormValidar fv = FormValidar.GetInstance(_embarque, anden.ReaderID);
                if (!fv.IsDisposed)
                {
                    this.Hide();
                    fv.Show();
                    fv.BringToFront();
                }
                else
                {
                    cboxAndenes.Visible = false;
                    btnAsignar.Visible  = false;
                }
            }
            else
            {
                MessageBox.Show("No fué posible iniciar el embarque");
            }
        }
Example #2
0
 public static FormValidar GetInstance(string _embarque, int _anden)
 {
     if (_instance == null || _instance.IsDisposed)
     {
         _instance = new FormValidar(_embarque, _anden);
     }
     return(_instance);
 }
        private void btnEnviar_Click(object sender, EventArgs e)
        {
            try
            {
                OrderVModel order     = new OrderVModel();
                int         palletBox = 0;
                if (BusinessOrders.Terminado(txbEmbarque.Text))
                {
                    //MensajeError(embarqueTerminado);
                    MessageBox.Show(embarqueTerminado);
                    //TODO: Limpiar el txt donde se escribe el embarque
                }
                else if (BusinessOrders.ExisteAsignada(txbEmbarque.Text))
                {
                    _embarque = txbEmbarque.Text;
                    order     = BusinessOrders.GetOrder(_embarque);

                    FormValidar fv = FormValidar.GetInstance(_embarque, (int)order.ReaderID);
                    if (!fv.IsDisposed)
                    {
                        this.Hide();
                        fv.Show();
                        fv.BringToFront();
                    }
                    else
                    {
                        cboxAndenes.Visible = false;
                        btnAsignar.Visible  = false;
                    }
                }
                else if (BusinessOrders.ExisteNoAsignada(txbEmbarque.Text))
                {
                    //TODO: Si esta asignado abrir la siguiente pantalla que es la de validar


                    // Obtengo los datos del embarque
                    var uno = Shipment(txbEmbarque.Text);

                    if (uno != null)
                    {
                        // Preguntas si esta cancelado
                        if (int.Parse(uno.cancelado) == 0)
                        {
                            dataGridView1.DataSource = null;
                            var dt = LlenarTabla();
                            order = BusinessOrders.GetOrdenCompleta(txbEmbarque.Text);
                            foreach (var item in order.ListOrderDetail)
                            {
                                dt.Rows.Add(item.continentalpartnumber, item.traza, item.total_pallets, item.Leido);
                            }
                            dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                            dataGridView1.AutoSizeRowsMode    = DataGridViewAutoSizeRowsMode.AllCells;
                            dataGridView1.DataSource          = dt;
                            cboxAndenes.Visible = dt != null ? true : false;
                            btnAsignar.Visible  = dt != null ? true : false;
                        }
                    }
                    else
                    {
                        MessageBox.Show("");
                    }
                }
                else
                {
                    // Obtengo los datos del embarque
                    ShipmentVModel embarque = Shipment(txbEmbarque.Text);

                    if (embarque.detalle.Count > 0)
                    {
                        // Preguntas si esta cancelado
                        if (int.Parse(embarque.cancelado) == 0)
                        {
                            // ir a traza y obtener el numero de pallets
                            int index = 0;
                            foreach (OrderDetailVModel item in embarque.detalle)
                            {
                                if (item.continentalpartnumber.ToLower() == "varios")
                                {
                                    item.total_pallets = 1;
                                }
                                else
                                {
                                    #region Connection Traza- Se obtiene el total de piezas por tarima
                                    //string oracleConn = "Data Source= tqdb002x.tq.mx.conti.de:1521/tqtrazapdb.tq.mx.conti.de; User Id=consulta; Password= solover";
                                    //string query = $"SELECT aunitsperbox * aboxperpallet FROM ETGDL.products WHERE MLFB = '{item.continentalpartnumber}' ";
                                    //using (OracleConnection connection = new OracleConnection(oracleConn))
                                    //{
                                    //    OracleCommand command = new OracleCommand(query, connection);
                                    //    connection.Open();
                                    //    OracleDataReader reader = command.ExecuteReader();

                                    //    if (reader.Read())
                                    //    {
                                    //        palletBox = reader.GetInt32(0);
                                    //    }

                                    //    reader.Close();
                                    //}

                                    #endregion

                                    #region Dummyes para no conectar con traza
                                    palletBox = 300;
                                    #endregion

                                    if (int.Parse(item.cantidad) <= palletBox)
                                    {
                                        item.total_pallets = 1;
                                    }
                                    else
                                    {
                                        //int pallets = int.Parse(item.cantidad) / piezasPorTarima;
                                        //if (pallets == 0)
                                        //    txbEmbarque.Text = string.Empty;
                                        //item.total_pallets = pallets;
                                        int pallets = int.Parse(item.cantidad) / palletBox;
                                        item.total_pallets = pallets;
                                    }
                                }
                                index++;
                            }
                            var orderT = BusinessOrders.CreateNuevaOrden(embarque);
                            order = orderT.Result;
                            // Crear el embarque

                            dataGridView1.DataSource = null;
                            var dt = LlenarTabla();
                            order = BusinessOrders.GetOrdenCompleta(txbEmbarque.Text);
                            foreach (var item in order.ListOrderDetail)
                            {
                                dt.Rows.Add(item.continentalpartnumber, item.traza, item.total_pallets, item.Leido);
                            }
                            dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                            dataGridView1.AutoSizeRowsMode    = DataGridViewAutoSizeRowsMode.AllCells;
                            dataGridView1.DataSource          = dt;
                            cboxAndenes.Visible = dt != null ? true : false;
                            btnAsignar.Visible  = dt != null ? true : false;
                        }
                        else
                        {
                            MessageBox.Show("El embarque no contiene tarimas para embarcar");
                        }
                    }
                }
            }
            catch (DataValidationException dex)
            {
                MessageBox.Show(dex.ErrorMessage, dex.PropertyName);
            }
        }