//********************************************* // Validaciones //********************************************* private void ValidarDatos() { bool centroValido = true; bool entregaValido = true; string mensaje = ""; //Validacion del Centro if (textCentro.Text.Trim().Length == 0) { centroValido = false; } //if(){ //} if (!centroValido) { textCentro.SelectAll(); textCentro.Focus(); mensaje = "El centro no existe"; throw new Exception(mensaje); } //Validacion de la entrega if (textEntrega.Text.Trim().Length == 0) { entregaValido = false; } else { string expresion = "where vstel ='" + textCentro.Text.Trim() + "'"; ClsEntregasCollection entregasCollection = new ClsEntregasBAL().ConsultarEntregasBAL(expresion); IEnumerator lista = entregasCollection.GetEnumerator(); entregaValido = false; while (lista.MoveNext()) { var entregaObtenida = (ClsEntregas)lista.Current; if (textEntrega.Text.Trim() == entregaObtenida.Entrega) { entregaValido = true; break; } } } if (!entregaValido) { textEntrega.SelectAll(); mensaje = "No existe la entrega"; textEntrega.Focus(); throw new Exception(mensaje); } }
public void IniciarForma() { ClsDetalleCollection detalleCollection = new ClsEntregasBAL().ConsultarDetalleBAL(IdEntrega, IdCentro); IEnumerator lista = detalleCollection.GetEnumerator(); double diferencia = 0; double tmpPicking = 0; while (lista.MoveNext()) { var detalleObt = (ClsDetalle)lista.Current; if (!String.IsNullOrEmpty(detalleObt.Picking)) { diferencia = Convert.ToDouble(detalleObt.Cantidad) - Convert.ToDouble(detalleObt.Picking); dgvLista.Rows.Add(detalleObt.Entrega, detalleObt.Fecha, detalleObt.Posicion, detalleObt.NumMaterial, detalleObt.Centro, detalleObt.Almacen, String.Format("{0:0.000}", detalleObt.Cantidad), String.Format("{0:0.000}", detalleObt.Picking), String.Format("{0:0.000}", diferencia), detalleObt.UnidadMed, detalleObt.Descripcion, detalleObt.UniE); } else { dgvLista.Rows.Add(detalleObt.Entrega, detalleObt.Fecha, detalleObt.Posicion, detalleObt.NumMaterial, detalleObt.Centro, detalleObt.Almacen, String.Format("{0:0.000}", detalleObt.Cantidad), "0.000", String.Format("{0:0.000}", diferencia), detalleObt.UnidadMed, detalleObt.Descripcion, detalleObt.UniE); } if (!String.IsNullOrEmpty(detalleObt.Picking)) { tmpPicking = Convert.ToDouble(detalleObt.Picking); } lblPesoTarima.Text = String.Format("{0:0.000}", Convert.ToDouble(lblPesoTarima.Text) + tmpPicking); } lblTotalEntradas.Text += detalleCollection.Count; //Inicializar tabla temporal tablaTemporal = new DataTable(); tablaTemporal.Columns.Add("idTarima", typeof(double)); tablaTemporal.Columns.Add("idEntrega", typeof(string)); tablaTemporal.Columns.Add("pedido", typeof(string)); tablaTemporal.Columns.Add("fecha", typeof(DateTime)); //Ubicar foco textTarima.Focus(); }
private void textTarima_KeyPress(object sender, KeyPressEventArgs e) { MensajeApagar(); bool tarimaProcesada = false; string mensajeTarima = ""; //Validar la tecla "Enter" if (e.KeyChar == (char)13) { //Valida que la tarima no haya sido seleccionada previamente foreach (DataRow row in tablaTemporal.Rows) { if (row["idTarima"].ToString() == textTarima.Text) { tarimaProcesada = true; } } //Si la tarimga ya fue seleccionada salir del proceso if (tarimaProcesada) { MostrarError("La tarima " + textTarima.Text + " ya fue seleccionada"); return; } //Validar que la tarima proporcionada este en la BD string criterio = "where idTarima = '" + textTarima.Text + "'"; ClsCatZMasterCollection zMasterCollection = new ClsCatZMasterBAL().ConsultarZMasterBAL(criterio); IEnumerator listaZMaster = zMasterCollection.GetEnumerator(); bool tarimaValida = true; bool relacionValida = false; if (zMasterCollection.Count > 0) { //Validar si la tarima ya fue asignada o existe inconsistenia en datos while (listaZMaster.MoveNext()) { var zMasterObt = (ClsCatZMaster)listaZMaster.Current; if (!string.IsNullOrEmpty(zMasterObt.AsignadaEntrega)) { tarimaValida = false; mensajeTarima = "La tarima ya fue asignada a una entrega"; break; } if (!string.IsNullOrEmpty(zMasterObt.Desembalada)) { tarimaValida = false; mensajeTarima = "La tarima esta desembalada y no puede ser asignada a entrega"; break; } if (!string.IsNullOrEmpty(zMasterObt.Borrado)) { tarimaValida = false; mensajeTarima = "La tarima no existe"; break; } } if (tarimaValida) { //Validar si los elementos de la tarima son validos ClsDetalleCollection detalleCollection = new ClsEntregasBAL().ConsultarDetalleBAL(IdEntrega, IdCentro); IEnumerator listaDetalle = detalleCollection.GetEnumerator(); listaZMaster.Reset(); while (listaZMaster.MoveNext()) { var zMasterObt = (ClsCatZMaster)listaZMaster.Current; listaDetalle.Reset(); while (listaDetalle.MoveNext()) { var detalleObt = (ClsDetalle)listaDetalle.Current; if ((zMasterObt.Matnr).Equals((detalleObt.NumMaterial).ToUpper())) { relacionValida = true; break; } else { relacionValida = false; } } if (relacionValida == false) { break; } } if (relacionValida) { tarimaAgregada++; lblAcumuladas.Text = tarimaAgregada.ToString(); MostrarMensaje("Tarima " + textTarima.Text + " agregada"); //Grabar registro temporal: idTarima, idEntrega, pedido, fecha tablaTemporal.Rows.Add(textTarima.Text, IdEntrega, IdEntrega, DateTime.Now); //Hacer suma en las celdas correspondientes listaZMaster.Reset(); while (listaZMaster.MoveNext()) { var zMasterObt = (ClsCatZMaster)listaZMaster.Current; foreach (DataGridViewRow r in dgvLista.Rows) { if (r.Cells["Material"].Value.ToString() == zMasterObt.Matnr) { //Sumar en picking r.Cells["Picking"].Value = String.Format("{0:0.000}", Convert.ToDouble( r.Cells["Picking"].Value) + zMasterObt.Cantidad); //Restar en diferencia r.Cells["Diferencia"].Value = String.Format("{0:0.000}", Convert.ToDouble( r.Cells["Cantidad"].Value) - Convert.ToDouble( r.Cells["Picking"].Value) ); r.Cells["UniEmp"].Value = Convert.ToInt16(r.Cells["UniEmp"].Value) + 1; } } //Sumar peso de la tarima lblPesoTarima.Text = String.Format("{0:0.000}", Convert.ToDouble(lblPesoTarima.Text) + zMasterObt.Cantidad); } //Limpiar campo captura textTarima.Text = ""; textTarima.Focus(); } else { MostrarError("La tarima contiene material invalido"); } } else { textTarima.Text = ""; //base.MostrarError("La tarima ya fue asignada"); MostrarError(mensajeTarima); } } else { //La tarima no existe en la BD textTarima.Text = ""; MostrarError("La tarima no es existe"); } } }