private bool RegistrarEntradaBD(ref BD.Sap bdSap, BE.Empresa beEmpresa) { bool rpta = false; try { var beTipoEntrada = new BD.TipoDocumento().Obtener(ENTRADA); var bdEntrada = new BD.EntradaAlmacen(); foreach (var entradaJson in this.lstWsEntradas) { SE.EntradaAlmacen seEntrada = TD.JsonToSe.EntradaAlmacen(entradaJson); seEntrada.Serie = bdSap.ObtenerSerieSalidaAlmacen(this.serie); for (int i = 0; i < seEntrada.Detalle.Count; i++) { seEntrada.Detalle[i].CodAlmacen = bdSap.ObtenerCodigoAlmacen(seEntrada.Detalle[i].Codigo); } var beEntrada = TD.SeToBe.EntradaAlmacen(seEntrada); beEntrada.Empresa = beEmpresa; beEntrada.TipoDocumento = beTipoEntrada; var flag = bdEntrada.Insertar(ref beEntrada); } return(rpta); } catch (Exception ex) { throw ex; } }
private void EnviarEntradasSap(ref DI.DiConexion diConexion, BE.Empresa beEmpresa) { int errCode = 0; string errMessage = ""; try { var beTipoEntrada = new BD.TipoDocumento().Obtener(ENTRADA); var bdSap = new BD.Sap(diConexion.Server, diConexion.CompanyDB, diConexion.DbUserName, diConexion.DbPassword); var bdError = new BD.Error(); var diEntrada = new DI.DiEntradaAlmacenPorCompra(diConexion.oCompany); var bdEntrada = new BD.EntradaAlmacen(); foreach (var EntradaJson in this.lstWsEntradas) { var EntradaSe = TD.JsonToSe.EntradaAlmacen(EntradaJson); EntradaSe.Serie = bdSap.ObtenerSerieEntradaAlmacenPorCompra(this.serie); for (int i = 0; i < EntradaSe.Detalle.Count; i++) { EntradaSe.Detalle[i].CodAlmacen = bdSap.ObtenerCodigoAlmacen(EntradaSe.Detalle[i].Codigo); } string docEntry = diEntrada.Enviar(EntradaSe, out errCode, out errMessage); if (docEntry.Length > 0) { EntradaSe.DocEntry = int.Parse(docEntry); } var beEntrada = TD.SeToBe.EntradaAlmacen(EntradaSe); beEntrada.Empresa = beEmpresa; beEntrada.TipoDocumento = beTipoEntrada; var rpta = bdEntrada.Insertar(ref beEntrada); if (rpta == true && docEntry.Length == 0) { this.RegistrarErrorSap(ENTRADA, beEntrada.IdEntradaAlmacen, errMessage); } } } catch (Exception ex) { throw ex; } }
private void btnEnviar_Click(object sender, EventArgs e) { try { this.btnEnviar.Enabled = false; this.stlMensaje.Text = string.Empty; if (this.dgvDocumentosError.CurrentRow == null) { return; } var uiDocumento = (Documento)this.dgvDocumentosError.CurrentRow.DataBoundItem; if (uiDocumento.Estado != ERROR) { return; } int errCode = 0; string errMessage = ""; var beEmpresa = new BD.Empresa().Obtener(uiDocumento.EmpresaId); var beConfiguracion = new BD.Configuracion().Obtener(beEmpresa); string server = beConfiguracion.Servidor; string licenseServer = beConfiguracion.LicenciaSAP; string companyDB = beConfiguracion.BaseDatos; string dbUserName = beConfiguracion.UsuarioBD; string dbPassword = beConfiguracion.ClaveBD; string userName = beConfiguracion.UsuarioSAP; string password = beConfiguracion.ClaveSAP; this.stlMensaje.Text = $"Conectando al SBO de la compañia { beConfiguracion.Empresa.Nombre }"; using (var sbo = new DI.DiConexion(server, licenseServer, companyDB, dbUserName, dbPassword, userName, password)) { var sapBd = new BD.Sap(server, companyDB, dbUserName, dbPassword); var errorBd = new BD.Error(); switch (uiDocumento.TipoId) { case SALIDA: // "Salida de Almacen": var bdSalida = new BD.SalidaAlmacen(); var beSalida = bdSalida.Obtener(uiDocumento.Id); if (beSalida != null) { var seSalida = TD.BeToSe.SalidaAlmacen(beSalida); this.stlMensaje.Text = $"Enviando Salida de Almacen"; string docEntry = new DI.DiSalidaAlmacen(sbo.oCompany).Enviar(seSalida, out errCode, out errMessage); if (docEntry.Length > 0) { beSalida.CodSap = int.Parse(docEntry); } var rpta = bdSalida.Actualizar(beSalida); if (rpta == true && errCode != 0) { this.RegistrarErrorSap(SALIDA, beSalida.IdSalidaAlmacen, errMessage); } } break; case ENTRADA: // "Entrada de Almacen": var bdEntrada = new BD.EntradaAlmacen(); var beEntrada = bdEntrada.Obtener(uiDocumento.Id); if (beEntrada != null) { var seEntrada = TD.BeToSe.EntradaAlmacen(beEntrada); this.stlMensaje.Text = $"Enviando Entrada de Almacen"; string docEntry = new DI.DiEntradaAlmacenPorCompra(sbo.oCompany).Enviar(seEntrada, out errCode, out errMessage); if (docEntry.Length > 0) { beEntrada.CodSap = int.Parse(docEntry); } var rpta = bdEntrada.Actualizar(beEntrada); if (rpta == true && errCode != 0) { this.RegistrarErrorSap(SALIDA, beEntrada.IdEntradaAlmacen, errMessage); } } break; case SOLICITUD: // "Solicitud de Compra": var bdSolicitud = new BD.SolicitudCompra(); var beSolicitud = bdSolicitud.Obtener(uiDocumento.Id); if (beSolicitud != null) { var seSolicitud = TD.BeToSe.SolicitudCompra(beSolicitud); this.stlMensaje.Text = $"Enviando Solicitud de Compra"; string docEntry = new DI.DiSolicitudCompra(sbo.oCompany).Enviar(seSolicitud, out errCode, out errMessage); if (docEntry.Length > 0) { beSolicitud.CodSap = int.Parse(docEntry); } var rpta = bdSolicitud.Actualizar(beSolicitud); if (rpta == true && errCode != 0) { this.RegistrarErrorSap(SOLICITUD, beSolicitud.IdSolicitudCompra, errMessage); } } break; default: break; } } this.stlMensaje.Text = "Sincronización Completada"; this.CargarDocumentosError(); } catch (Exception ex) { General.ErrorMessage(ex.Message); } finally { this.btnEnviar.Enabled = true; } }