public override void proGrabar() { base.proGrabar(); try { //Eliminamos las filas vacias del detalle de inventario objDetalle.RemoveAll(p => p.IteCodigo.Equals("")); //Verificamos las validaciones de los campos requeridos if (!varBanValidaciones) { return; } //Recuperamos en la variable el valor del campo razon string varRazon = this.lueRazon.EditValue == null ? "" : this.lueRazon.EditValue.ToString(); //Validamos que todos los datos se han llenado correctamente en el detalle string varMensaje = clsInvMovimientoDet.funValidarDetalle(objDetalle, varRazon, varReqChapetaLote); if (!varMensaje.Equals("")) { throw new Exception(varMensaje); } //Asignamos los valores de la propiedades de la clase animal var csRegistro = new clsInvMovimientoCab() { CabCodigo = this.txtCodigo.Text.Equals("") ? 0 : int.Parse(this.txtCodigo.Text), DocCodigo = this.txtCodSerie.Text.Equals("") ? 0 : int.Parse(this.txtCodSerie.Text), CabNumero = this.txtNumero.Text.Equals("") ? 0 : int.Parse(this.txtNumero.Text), IdMotivo = int.Parse(this.lueMotivo.EditValue.ToString()), CabFecha = (DateTime)datFecha.EditValue, CabTipMovimiento = this.txtTipoMovimiento.Text, BodCodigo = this.lueBodega.EditValue.ToString(), CabRazon = this.lueRazon.EditValue.ToString(), CabComentario = this.memObsDocumento.Text, CabComenDiario = this.memObsDiario.Text, CcoCodigo = this.lueCenCosto.EditValue == null ? null : this.lueCenCosto.EditValue.ToString(), PryCodigo = this.lueProyecto.EditValue == null ? null : this.lueProyecto.EditValue.ToString() }; //Enviamos la informacion a la base de datos int varCodigo = csRegistro.funMantenimiento(varOpeCodigo, objDetalle); //Si no hay ningun error procedemos a mostrar el mensaje respectivo switch (varOpeCodigo) { case 1: XtraMessageBox.Show(string.Format("Registro ingresado con la nro: {0}", varCodigo), "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information); break; case 2: XtraMessageBox.Show("Registro ha sido actualizado", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information); break; default: break; } this.Close(); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
//Procedimiento para enviar a SAP la informacion private void proEnviarSAP(int varRegistro) { try{ string varMensaje = ""; //Instanciamos la clase de movimientos de inventario clsInvMovimientoCab objMovimientoCab = new clsInvMovimientoCab(); //Recuperamos la informacion de cabecera de movimientos de inventario objMovimientoCab = clsInvMovimientoCab.funListar(varRegistro)[0]; //Verificamos si el documento ya ha sido ingresado en SAP DataTable objDtVerificarSAP; if (objMovimientoCab.CabTipMovimiento.ToUpper().Equals("ENTRADA")) { objDtVerificarSAP = clsInvMovimientoCab.funVerificarEntInventarioSAP(objMovimientoCab.DocNombre, objMovimientoCab.CabNumero); } else { objDtVerificarSAP = clsInvMovimientoCab.funVerificarSalInventarioSAP(objMovimientoCab.DocNombre, objMovimientoCab.CabNumero); } //Verifico si el documento no haya sido enviado a SAP if (objMovimientoCab.EstCodigo.ToUpper().Equals("SAP") || objDtVerificarSAP.Rows.Count > 0) { //Actualizacion en el formulario de movimientos de inventario objMovimientoCab.CabDocEntrySAP = int.Parse(objDtVerificarSAP.Rows[0]["DocEntry"].ToString()); objMovimientoCab.CabNumeroSAP = int.Parse(objDtVerificarSAP.Rows[0]["DocNum"].ToString()); clsInvMovimientoCab.proActMovInventarioSalida(objMovimientoCab.CabDocEntrySAP, objMovimientoCab.CabNumeroSAP, objMovimientoCab.CabCodigo); clsInvMovimientoCab.proActCstAcumulado(objMovimientoCab.CabDocEntrySAP, objMovimientoCab.CabCodigo); XtraMessageBox.Show(string.Format("El registro nro. {0} ya ha sido enviado a SAP", objMovimientoCab.CabNumero), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (objMovimientoCab.CabTipMovimiento.ToUpper().Equals("ENTRADA")) { } else { varMensaje = objMovimientoCab.funEnviarSalMercanciaSAP(); if (varMensaje.Equals("")) { XtraMessageBox.Show(string.Format("Registro nro {0} enviado a SAP", objMovimientoCab.CabNumero), "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { XtraMessageBox.Show(string.Format("Registro nro {0} presento el siguiente error: {1}", objMovimientoCab.CabNumero, varMensaje), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } catch (Exception e) { throw new Exception(e.Message); } }