Example #1
0
        private void xfrmManMovimiento_KeyDown(object sender, KeyEventArgs e)
        {
            try {
                if (e.KeyCode.Equals(Keys.Enter))
                {
                    if (!grvListado.IsFocusedView)
                    {
                        return;
                    }
                    GridColumn varColumna = this.grvListado.FocusedColumn;
                    this.grvListado.FocusedColumn = colDetSecuencia;
                    this.grvListado.FocusedColumn = varColumna;

                    if (this.grvListado.FocusedColumn == null)
                    {
                        return;
                    }
                    if (!this.grvListado.FocusedColumn.Equals(colDetCantidad) &&
                        !this.grvListado.FocusedColumn.Equals(colDetPieza) &&
                        !this.grvListado.FocusedColumn.Equals(colIdMotPerdida))
                    {
                        return;
                    }
                    //Limpiamos todos los errores del detalle de movimientos
                    this.grvListado.ClearColumnErrors();
                    //Recuperamos la fila seleccionada e instanciamos con la clase detalle de inventario
                    clsInvMovimientoDet objFila = (clsInvMovimientoDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle);
                    //Recuperamos en la variable el valor del campo razon
                    string varRazon = this.lueRazon.EditValue == null ? "" : this.lueRazon.EditValue.ToString();
                    //Validamos que los campos ha sido debidamente ingresados
                    string varMensaje = objFila.funValidarFila(varRazon, varReqChapetaLote);
                    if (!varMensaje.Equals(""))
                    {
                        string varControl = varMensaje.Split(':')[0];
                        string varError   = varMensaje.Split(':')[1].Trim();
                        this.grvListado.SetColumnError(this.grvListado.Columns[varControl], varError);
                        this.grvListado.FocusedColumn = this.grvListado.Columns[varControl];
                        return;
                    }
                    //Agregamos una nueva linea
                    if (grvListado.FocusedRowHandle.Equals(grvListado.RowCount - 1))
                    {
                        int varPosicion = this.grvListado.FocusedRowHandle;
                        int varLinea    = int.Parse(this.grvListado.GetRowCellValue(varPosicion, colDetSecuencia).ToString());
                        this.objDetalle.Add(new clsInvMovimientoDet(varLinea));
                        this.grcListado.RefreshDataSource();
                        this.grvListado.FocusedRowHandle = varPosicion + 1;
                        if (!varRazon.ToLower().Equals("prd"))
                        {
                            this.grvListado.FocusedColumn = colIteCodigo;
                        }
                        else
                        {
                            this.grvListado.FocusedColumn = colDetIdDestino;
                        }
                    }
                }
            }
            catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }
Example #2
0
        private void btnExtraer_Click(object sender, EventArgs e)
        {
            try {
                //Debemos instanciar la clase a la grilla para el ingreso de detalles
                this.objDetalle            = new List <clsInvMovimientoDet>();
                this.grcListado.DataSource = objDetalle;
                string varPath = this.butExaminar.Text.Trim();
                if (!varPath.Equals(""))
                {
                    using (OleDbConnection varConexion = new OleDbConnection()
                    {
                        ConnectionString = (String.Format("Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0};Extended Properties=\"Excel 12.0;HDR=YES\"", varPath))
                    }) {
                        varConexion.Open();
                        OleDbCommand     varComando   = new OleDbCommand("Select Nro, Item, Descripcion, TipoDestino, ChapetaLote, Cantidad, Piezas From [INVSALIDA$]", varConexion);
                        OleDbDataAdapter varAdaptador = new OleDbDataAdapter(varComando);
                        DataSet          dsExcel      = new DataSet();
                        DataTable        dtInvSalida  = new DataTable();
                        varAdaptador.Fill(dsExcel);
                        dtInvSalida = dsExcel.Tables[0];
                        string varRazon = this.lueRazon.EditValue == null ? "" : this.lueRazon.EditValue.ToString();
                        //Recorremos la informacion recuperada del excel
                        foreach (DataRow drFilaDetalle in dtInvSalida.Rows)
                        {
                            string varIteCodigo      = drFilaDetalle["Item"] == null ? "" : drFilaDetalle["Item"].ToString();
                            string varAnmAlternativo = drFilaDetalle["ChapetaLote"] == null ? "" : drFilaDetalle["ChapetaLote"].ToString();
                            string varTipoDestino    = drFilaDetalle["TipoDestino"].ToString().ToUpper().Equals("CHAPETA") ? "A" : "L";

                            //Recuperamos la informacion del item
                            List <clsInvItem> lisItem = clsInvItem.funListar(varIteCodigo);
                            //Recuperamos la informacion de la chapeta o el lote
                            DataTable lisChapeta = null;
                            if (varTipoDestino.Equals("A"))
                            {
                                lisChapeta = clsGraAnimal.funListar(string.Format("Where a.AnmAlternativo = '{0}'", varAnmAlternativo));
                                if (lisChapeta.Rows.Count > 0)
                                {
                                    if (!lisChapeta.Rows[0]["EstCodigo"].ToString().Equals("ACTIVO"))
                                    {
                                        this.grcListado.RefreshDataSource();
                                        XtraMessageBox.Show(string.Format("La chapeta nro: {0} no se encuentra activa", varAnmAlternativo), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        return;
                                    }
                                }
                            }
                            //Instanciamos una fila del detalle de la clase detalle de movimientos
                            clsInvMovimientoDet objFilaDetalle = new clsInvMovimientoDet()
                            {
                                DetSecuencia     = drFilaDetalle["Nro"] == null || drFilaDetalle["Nro"].ToString().Equals("") ? 0 : int.Parse(drFilaDetalle["Nro"].ToString()),                    //Secuencia
                                IdMotPerdida     = null,                                                                                                                                           //Motivo de perdida
                                DetPieza         = drFilaDetalle["Piezas"] == null || drFilaDetalle["Piezas"].ToString().Equals("") ? 0 : int.Parse(drFilaDetalle["Piezas"].ToString()),           //Piezas
                                IteCodigo        = drFilaDetalle["Item"] == null ? "" : drFilaDetalle["Item"].ToString(),                                                                          //Item
                                IteNombre        = lisItem.Count().Equals(0) ? "" : lisItem[0].ItemName,                                                                                           //Descripcion
                                IteUndInventario = lisItem.Count().Equals(0) ? "" : lisItem[0].InvntryUom,                                                                                         //Unidad de inventario
                                IteTieLote       = lisItem.Count().Equals(0) ? "" : lisItem[0].ManBtchNum,                                                                                         //Item gestionado por lotes
                                DetTipDestino    = drFilaDetalle["TipoDestino"].ToString().ToUpper().Equals("CHAPETA") ? "A" : "L",                                                                //Verifica si es chapeta o lote
                                DetIdDestino     = lisChapeta.Rows.Count.Equals(0) ? null : drFilaDetalle["ChapetaLote"].ToString(),                                                               //Codigo alterno de la chapeta o lote
                                ItePsoStd        = lisItem.Count().Equals(0) ? 0 : lisItem[0].SWeight1,                                                                                            //Peso standar
                                DetCantidad      = drFilaDetalle["Cantidad"] == null || drFilaDetalle["Cantidad"].ToString().Equals("") ? 0 : decimal.Parse(drFilaDetalle["Cantidad"].ToString()), //Cantidad
                                DetPeso          = 0,
                                DetCosto         = 0,
                                DetValor         = 0
                            };
                            //Validamos que la informacion de la fila sea la correcta
                            string varMensaje = objFilaDetalle.funValidarFila(varRazon, varReqChapetaLote);
                            if (varMensaje != "")
                            {
                                varMensaje = varMensaje.Substring(varMensaje.IndexOf(':', 0) + 2, varMensaje.Length - varMensaje.IndexOf(':', 0) - 2);
                            }
                            if (!varMensaje.Equals(""))
                            {
                                this.grcListado.RefreshDataSource(); XtraMessageBox.Show(varMensaje, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return;
                            }
                            objDetalle.Add(objFilaDetalle);
                        }
                        this.grcListado.RefreshDataSource();
                        XtraMessageBox.Show("Informacion extraida con exito!!!!", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    XtraMessageBox.Show("Debe escoger el archivo para poder extraer la informacion", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }