internal bool InsertarCobroSIIL(Sesion poSesion, string pdFechaAbono, decimal pdTotal, string psNombreBanco, int piFormaPagoCobro, string psClaveCliente, int piSucursal) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.TextoComando = "declare result number; begin result := PKG_CXC.FNC_CREAR_COBRO(TO_DATE('" + pdFechaAbono + "','DD/MM/YY'),NULL,NULL,NULL,NULL,NULL,NULL,NULL," + pdTotal + ",1,'" + psNombreBanco + "'," + piFormaPagoCobro + ",1,'" + psClaveCliente + "','S',TO_DATE(SYSDATE,'DD/MM/YY')," + piSucursal + "); end;"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(true); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal Entidades.Sesion Obtener(Conexion poConexion) { try { Entidades.Sesion loSesion = new Entidades.Sesion() { Estatus = Seguridad.Comun.Definiciones.EstatusSesion.NoIniciada }; DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorSeguridad"); bool lbConexionValida = loDespachador.Validar(poConexion); loDespachador.ChannelFactory.Close(); loDespachador.Close(); if (lbConexionValida) { Usuario loUsuario = new Usuario(); loSesion.Conexion = poConexion; loSesion.Estatus = Seguridad.Comun.Definiciones.EstatusSesion.Iniciada; loSesion.Usuario = loUsuario.Obtener(poConexion); } return(loSesion); } catch (Exception ex) { throw new Excepcion(ex.Message, ex); } }
internal DataTable Obtener(Sesion poSesion) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); string lsSucursales = string.Empty; loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object } #endregion }; loSentencia.TextoComando = "PKG_DAP_VENTAS_LAYOUT.PROC_TLMK_CLIENTE"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); foreach (Sucursal oSucursal in poSesion.Usuario.Sucursal) { lsSucursales += oSucursal.Clave + ","; } if (lsSucursales != string.Empty) { loSentencia.Parametros.Add(new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVES_SUCURSALES", Tipo = DbType.String, Valor = lsSucursales.TrimEnd(',') }); } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerProveedores(Sesion poSesion) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); //loSentencia.Parametros = new List<Parametro>() { // #region Parametros // new Parametro() { // Direccion = ParameterDirection.Input, // Nombre = "PSI_CVE_CLIENTE", // Tipo = DbType.String, // Valor = psClaveCliente // }, // new Parametro() { // Direccion = ParameterDirection.Input, // Nombre = "PNI_ANIO", // Tipo = DbType.Int32, // Valor = pnAnio // }, // new Parametro() { // Direccion = ParameterDirection.Input, // Nombre = "PNI_CVE_SUCURSAL", // Tipo = DbType.Int32, // Valor = poSesion.Usuario.Sucursal[0].Clave // }, // new Parametro() { // Direccion = ParameterDirection.Output, // Nombre = "PCO_CURSOR", // Tipo = DbType.Object // } // #endregion // }; loSentencia.TextoComando = "select CLAVE,RAZON_SOCIAL from proveedores where clave=254 and STATUS='A'"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerClientesTemporal(Sesion poSesion, int pnAuxiliar, int pnCveGestor) { try { string lsSucursales = string.Empty; List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_AUXILIAR", Tipo = DbType.Int32, Valor = pnAuxiliar }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_GESTOR", Tipo = DbType.Int32, Valor = pnCveGestor } #endregion }; loSentencia.TextoComando = "PKG_DAP_CXC_LAYOUT.PROC_AUXILIAR_CXC_CLIENTES_TMP"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Clientes.Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerSucursal(Sesion poSesion) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_SUCURSAL", Tipo = DbType.Int32, Valor = poSesion.Usuario.Sucursal[0].Clave }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_RAZON_SOCIAL", Tipo = DbType.String, Valor = ConfigurationManager.AppSettings["RazonSocial"] }, new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object } #endregion }; loSentencia.TextoComando = "PKG_DAP_ALMACEN_PEDIDO_TRAZA.PROC_DOC_REMITENTE"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerFacturas(Sesion poSesion, string pnNumeroFactura) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_PERSONAL", Tipo = DbType.Int32, Valor = poSesion.Usuario.Id }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_NUMERO_FACTURA", Tipo = DbType.Int32, Valor = ((!string.IsNullOrEmpty(pnNumeroFactura)) ? pnNumeroFactura : null) } #endregion }; loSentencia.TextoComando = "PKG_DAP_FACTURACION.PROC_CONSULTA_FACTURAS"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerVendedores(Sesion poSesion, string psClaveTelemarketing, bool pbAsignacionTemporal) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object } #endregion }; loSentencia.TextoComando = "PKG_DAP_VENTAS_LAYOUT.PROC_TLMK_VENDEDORES" + ((pbAsignacionTemporal) ? "_TMP" : string.Empty); loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); if (!string.IsNullOrEmpty(psClaveTelemarketing)) { loSentencia.Parametros.Add(new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_USUARIO", Tipo = DbType.Int64, Valor = long.Parse(psClaveTelemarketing) }); } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable BuscarGrupo(Sesion poSesion, string psDescripcion) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_CVE_PERSONAL", Tipo = DbType.String, Valor = psDescripcion } #endregion }; loSentencia.TextoComando = "PKG_DAP_MONITOREO.PROC_MONITOREO_BUSCAR_GRUPO"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Seguridad.Comun.Excepcion(ex.Message, ex); } }
internal DataTable ValidaCobro(Sesion poSesion, string psNumTransaccion, DateTime pdtFecha) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "SELECT DTC.NUM_TRANSACCION, DTC.REF_NUMERICA, DTC.REF_ALFANUMERICA, DTC.ABONO, " + "DTC.FECHA_ABONO, DTC.SUC_BANCO,(SELECT DESCRIPCION FROM FORMAS_PAGO WHERE CLAVE = " + "DTC.CLAVE_FORMAPAGO) CLAVE_FORMAPAGO, DTC.STATUS_TRANS FROM DAP_TESORERIA_COBROS_PROC DTC WHERE NUM_TRANSACCION = " + "'" + psNumTransaccion + "' AND STATUS_TRANS IN ('C','M')"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerSucursalBanamex(Sesion poSesion, string psReferenciaBancaria) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros #endregion }; loSentencia.TextoComando = "SELECT CLAVE CLI_CLAVE, RAZON_SOCIAL, SUC_CLAVE, (SELECT DESCRIPCION FROM SUCURSALES WHERE CLAVE = SC.SUC_CLAVE ) SUCURSAL FROM CLIENTES C, SUC_CLIENTES SC " + "WHERE C.TEXTO1 = (CASE WHEN LENGTH('" + psReferenciaBancaria + "') <= 7 THEN SUBSTR('0000000',1,7-LENGTH('" + psReferenciaBancaria + "')) || '" + psReferenciaBancaria + "' " + "ELSE SUBSTR('" + psReferenciaBancaria + "',1,7) END) " + "AND C.CLAVE = SC.CLI_CLAVE AND SC.VER='S' AND SC.UTILIZAR='S' AND SC.SUC_CLAVE <> 4 " + "AND INSTR(','||COALESCE('1,2,3,4,5',TO_CHAR(SC.SUC_CLAVE))||',',','||SC.SUC_CLAVE||',')!=0 " + "AND CLAVE = SUBSTR('" + psReferenciaBancaria + "',1,LENGTH('" + psReferenciaBancaria + "')-2)"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerFormaDePagoBanamex(Sesion poSesion, string psFormaDePago) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros #endregion }; loSentencia.TextoComando = "SELECT (SELECT CLAVE FROM FORMAS_PAGO WHERE CLAVE = DAP_TESORERIA_TIPO_PAGO.CLAVE_FORMAPAGO) CLAVE," + "(SELECT DESCRIPCION FROM FORMAS_PAGO WHERE CLAVE = DAP_TESORERIA_TIPO_PAGO.CLAVE_FORMAPAGO) FORMA_PAGO " + "FROM DAP_TESORERIA_TIPO_PAGO " + "WHERE CLAVE_FORMAPAGO IN (SELECT CLAVE FROM FORMAS_PAGO) " + "AND CLAVE_CUENTAS IN (SELECT CLAVE FROM CUENTAS) AND TIPO_PAGO = '" + psFormaDePago + "'"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerAuxiliarCXCTemporal(Sesion poSesion, int pnClaveSucursal) { try { string lsSucursales = string.Empty; List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_CVES_SUCURSALES", Tipo = DbType.Int32, Valor = pnClaveSucursal } #endregion }; loSentencia.TextoComando = "PKG_DAP_CXC_LAYOUT.PROC_AUXILIAR_CXC_LISTADO_TMP"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); //foreach (Sucursal oSucursal in poSesion.Usuario.Sucursal) // lsSucursales += oSucursal.Clave + ","; //if (lsSucursales != string.Empty) // loSentencia.Parametros.Add(new Parametro() // { // Direccion = ParameterDirection.Input, // Nombre = "PSI_CVES_SUCURSALES", // Tipo = DbType.String, // Valor = lsSucursales.TrimEnd(',') // }); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Clientes.Comun.Excepcion(ex.Message, ex); } }
internal bool Guardar(Sesion poSesion, List <Asignacion> poAsignaciones, bool pbAsignacionTemporal) { try { List <Sentencia> loSentencias = new List <Sentencia>(); foreach (Asignacion loAsignacion in poAsignaciones) { Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CVE_CLIENTE", Tipo = DbType.String, Valor = loAsignacion.ClaveCliente }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "USR_CLAVE", Tipo = DbType.String, Valor = loAsignacion.ClaveUsuario }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "STATUS_CAN", Tipo = DbType.String, Valor = loAsignacion.Estatus } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "MERGE INTO DAP_VENTAS_TLMK_CTE" + ((pbAsignacionTemporal) ? "_TMP" : string.Empty) + " TC \r\n" + " USING (SELECT :1 AS CVE_CLIENTE,(SELECT P.CLAVE FROM PERSONAL P WHERE P."+ ((pbAsignacionTemporal) ? string.Empty : "USR_") + "CLAVE=:2) AS CVE_PERSONAL,:3 AS STATUS_CAN FROM DUAL) D \r\n" + " ON (TC.CVE_CLIENTE=D.CVE_CLIENTE) \r\n"+ " WHEN MATCHED THEN \r\n"+ " UPDATE SET TC.CVE_PERSONAL=D.CVE_PERSONAL,TC.USUARIO_ULT_ACT='"+ poSesion.Usuario.Clave + "',TC.FECHA_ULT_TRANSAC=SYSDATE,TC.STATUS_CAN=D.STATUS_CAN \r\n" + " WHEN NOT MATCHED THEN \r\n"+ " INSERT (TC.CVE_PERSONAL,TC.CVE_CLIENTE,TC.USUARIO_ULT_ACT,TC.FECHA_ULT_TRANSAC) \r\n"+ " VALUES (D.CVE_PERSONAL,D.CVE_CLIENTE,'"+ poSesion.Usuario.Clave + "',SYSDATE)"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); } #region Preparar/ejecutar transaccion if (loSentencias.Count > 0) { if (loSentencias.Count > 1) { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion; loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion; } else { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); } #endregion return(true); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal bool Eliminar(Sesion poSesion, List <Asignacion> poAsignaciones) { try { List <Sentencia> loSentencias = new List <Sentencia>(); foreach (Asignacion loAsignacion in poAsignaciones) { Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CVE_CLIENTE", Tipo = DbType.String, Valor = loAsignacion.ClaveCliente }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "USR_CLAVE", Tipo = DbType.String, Valor = loAsignacion.ClaveUsuario } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "DELETE FROM DAP_VENTAS_TLMK_CTE_TMP WHERE CVE_CLIENTE=:1 AND CVE_PERSONAL=:2"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); } #region Preparar/ejecutar transaccion if (loSentencias.Count > 0) { if (loSentencias.Count > 1) { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion; loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion; } else { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); } #endregion return(true); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerTotalSemanal(Sesion poSesion, DateTime poFechaSemanaActual, DateTime poFechaSemanaAnterior) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_USR_PERSONAL", Tipo = DbType.String, Valor = poSesion.Usuario.Clave }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PDI_FECHA_SEMANA_ACTUAL", Tipo = DbType.Date, Valor = poFechaSemanaActual }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PDI_FECHA_SEMANA_ANTERIOR", Tipo = DbType.Date, Valor = poFechaSemanaAnterior }, new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object } #endregion }; loSentencia.TextoComando = "PKG_DAP_VENTAS.PROC_TLMK_TOTALxSEMANA"; //loSentencia.TextoComando = "PKG_DAP_MONITOREO.PROC_TLMK_TOTALxSEMANA"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal bool Guardar(Sesion poSesion, Dictionary <string, Bitacora> poBitacoras, int pnAnio, int pnSemana) { try { List <Sentencia> loSentencias = new List <Sentencia>(); foreach (string loKey in poBitacoras.Keys) { Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CVE_CLIENTE", Tipo = DbType.String, Valor = loKey }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "LUNES", Tipo = DbType.String, Valor = poBitacoras[loKey].Lunes }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "MARTES", Tipo = DbType.String, Valor = poBitacoras[loKey].Martes }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "MIERCOLES", Tipo = DbType.String, Valor = poBitacoras[loKey].Miercoles }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "JUEVES", Tipo = DbType.String, Valor = poBitacoras[loKey].Jueves }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "VIERNES", Tipo = DbType.String, Valor = poBitacoras[loKey].Viernes }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "SABADO", Tipo = DbType.String, Valor = poBitacoras[loKey].Sabado } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "MERGE INTO DAP_VENTAS_TLMK_ITINERARIO I " + " USING (SELECT "+ poSesion.Usuario.Id + " AS CVE_PERSONAL,:1 AS CVE_CLIENTE," + pnAnio + " AS ANIO," + pnSemana + " AS SEMANA,:2 AS LUNES,:3 AS MARTES,:4 AS MIERCOLES,:5 AS JUEVES,:6 AS VIERNES,:7 AS SABADO FROM DUAL) D " + " ON (I.CVE_PERSONAL=D.CVE_PERSONAL AND I.CVE_CLIENTE=D.CVE_CLIENTE AND I.ANIO=D.ANIO AND I.SEMANA=D.SEMANA) "+ " WHEN MATCHED THEN "+ " UPDATE SET I.LUNES=D.LUNES,I.MARTES=D.MARTES,I.MIERCOLES=D.MIERCOLES,I.JUEVES=D.JUEVES,I.VIERNES=D.VIERNES,I.SABADO=D.SABADO "+ " WHEN NOT MATCHED THEN "+ " INSERT (I.CVE_PERSONAL,I.CVE_CLIENTE,I.ANIO,I.SEMANA,I.LUNES,I.MARTES,I.MIERCOLES,I.JUEVES,I.VIERNES,I.SABADO) "+ " VALUES (D.CVE_PERSONAL,D.CVE_CLIENTE,D.ANIO,D.SEMANA,D.LUNES,D.MARTES,D.MIERCOLES,D.JUEVES,D.VIERNES,D.SABADO)"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); if (poBitacoras[loKey].Contacto != null) { loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "TIPO_PODER", Tipo = DbType.String, Valor = poBitacoras[loKey].Contacto.Observaciones }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CLAVE", Tipo = DbType.Int64, Valor = poBitacoras[loKey].Contacto.Clave }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CLI_CLAVE", Tipo = DbType.String, Valor = loKey } #endregion }; loSentencia.TextoComando = "UPDATE CONTACTOS_CLIENTE SET TIPO_PODER=:1 WHERE CLAVE=:2 AND CLI_CLAVE=:3"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); } } #region Preparar/ejecutar transaccion if (loSentencias.Count > 0) { if (loSentencias.Count > 1) { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion; loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion; } else { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); } #endregion return(true); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerDocumentoCancelado(Sesion poSesion, Definiciones.TipoDocumento poTipoDocumento, string lsFolioDocumento, int lnNumeroDocumento) { Sentencia loSentencia = new Sentencia() { #region Inicializar Parametros = new List <Parametro>(), Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query, TipoComando = CommandType.Text, TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion, TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto #endregion }; #region Establecer comando switch (poTipoDocumento) { case Definiciones.TipoDocumento.Factura: loSentencia.TextoComando = "SELECT F.FOLFAC_FOLIO || '-' || F.NUMERO AS DOCTO, C.CLAVE, C.RAZON_SOCIAL, C.EMAIL_CFD1, F.STATUS_CAN " + "FROM CLIENTES C, FACTURAS_EMITIDAS F, SUC_CLIENTES SC " + "WHERE C.CLAVE = F.CLI_CLAVE AND SC.CLI_CLAVE=C.CLAVE AND F.FOLFAC_FOLIO = '" + lsFolioDocumento + "' AND F.NUMERO=" + lnNumeroDocumento + " " + "AND SC.SUC_CLAVE IN (SELECT SUC_CLAVE FROM PERSONAL_SUCURSALES WHERE PERS_CLAVE IN (SELECT CLAVE FROM PERSONAL WHERE USR_CLAVE= '" + poSesion.Usuario.Clave.ToString() + "'))"; break; case Definiciones.TipoDocumento.NotaCargo: loSentencia.TextoComando = "SELECT N.FOL_NC_EM_FOLIO || '-' || N.NUMERO AS DOCTO, C.CLAVE, C.RAZON_SOCIAL, C.EMAIL_CFD1, N.STATUS_CAN " + "FROM CLIENTES C, NOTAS_CARGO_EMITIDAS N, SUC_CLIENTES SC " + "WHERE C.CLAVE = N.CLI_CLAVE AND SC.CLI_CLAVE=C.CLAVE AND N.FOL_NC_EM_FOLIO = '" + lsFolioDocumento + "' AND N.NUMERO=" + lnNumeroDocumento + " " + "AND SC.SUC_CLAVE IN (SELECT SUC_CLAVE FROM PERSONAL_SUCURSALES WHERE PERS_CLAVE IN (SELECT CLAVE FROM PERSONAL WHERE USR_CLAVE= '" + poSesion.Usuario.Clave.ToString() + "'))"; break; case Definiciones.TipoDocumento.NotaCredito: loSentencia.TextoComando = "SELECT N.FOL_NCR_CT_FOLIO || '-' || N.NUMERO AS DOCTO, C.CLAVE, C.RAZON_SOCIAL, C.EMAIL_CFD1, N.STATUS_CAN " + "FROM CLIENTES C, NOTAS_CREDITO_AL_CTE N, SUC_CLIENTES SC " + "WHERE C.CLAVE = N.CLI_CLAVE AND SC.CLI_CLAVE=C.CLAVE AND N.FOL_NCR_CT_FOLIO= '" + lsFolioDocumento + "' AND N.NUMERO =" + lnNumeroDocumento + " " + "AND SC.SUC_CLAVE IN (SELECT SUC_CLAVE FROM PERSONAL_SUCURSALES WHERE PERS_CLAVE IN (SELECT CLAVE FROM PERSONAL WHERE USR_CLAVE= '" + poSesion.Usuario.Clave.ToString() + "'))"; break; default: break; } #endregion DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, new List <Sentencia>() { loSentencia } ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); }
internal bool Guardar(Sesion poSesion, List <ContactoCliente> poContactos) { try { List <Sentencia> loSentencias = new List <Sentencia>(); foreach (ContactoCliente loContacto in poContactos) { Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CLI_CLAVE", Tipo = DbType.String, Valor = loContacto.ClaveCliente }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "NOMBRE", Tipo = DbType.String, Valor = loContacto.Nombre }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "APELLIDO_PATERNO", Tipo = DbType.String, Valor = loContacto.ApellidoPaterno }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "NOMBRE_APODO", Tipo = DbType.String, Valor = loContacto.Apodo }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "TIPO", Tipo = DbType.String, Valor = loContacto.Puesto }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "TEL_EXT", Tipo = DbType.String, Valor = loContacto.Telefono }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CELULAR", Tipo = DbType.String, Valor = loContacto.Celular }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "RADIO_LOC", Tipo = DbType.String, Valor = loContacto.Nextel }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "EMAIL", Tipo = DbType.String, Valor = loContacto.Correo }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "TIPO_PODER", Tipo = DbType.String, Valor = loContacto.Observaciones } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "MERGE INTO CONTACTOS_CLIENTE C \r\n" + " USING (SELECT :1 AS CLI_CLAVE,:2 AS NOMBRE,:3 AS APELLIDO_PATERNO,:4 AS NOMBRE_APODO,:5 AS TIPO,:6 AS TEL_EXT,:7 AS CELULAR,:8 AS RADIO_LOC,:9 AS EMAIL,:10 AS TIPO_PODER FROM DUAL) D \r\n"+ " ON (C.CLI_CLAVE=D.CLI_CLAVE) \r\n"+ " WHEN MATCHED THEN \r\n"+ " UPDATE SET C.NOMBRE=D.NOMBRE,C.APELLIDO_PATERNO=D.APELLIDO_PATERNO,C.NOMBRE_APODO=D.NOMBRE_APODO,C.TIPO=D.TIPO,C.TEL_EXT=D.TEL_EXT,C.CELULAR=D.CELULAR,C.RADIO_LOC=D.RADIO_LOC,C.EMAIL=D.EMAIL,C.TIPO_PODER=D.TIPO_PODER,C.TEXTO1='"+ poSesion.Usuario.Clave + "',C.FECHA1=SYSDATE \r\n" + " WHEN NOT MATCHED THEN \r\n"+ " INSERT (C.CLAVE,C.CLI_CLAVE,C.NOMBRE,C.APELLIDO_PATERNO,C.NOMBRE_APODO,C.TIPO,C.TEL_EXT,C.CELULAR,C.RADIO_LOC,C.EMAIL,C.TIPO_PODER,C.TI_CON_CLAVE,C.TEXTO1,C.FECHA1) \r\n"+ " VALUES (S_CONTACTOS_CLIENTE.NEXTVAL,D.CLI_CLAVE,D.NOMBRE,D.APELLIDO_PATERNO,D.NOMBRE_APODO,D.TIPO,D.TEL_EXT,D.CELULAR,D.RADIO_LOC,D.EMAIL,D.TIPO_PODER,4,'"+ poSesion.Usuario.Clave + "',SYSDATE)"; #endregion loSentencia.Tipo = Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); } #region Preparar/ejecutar transaccion if (loSentencias.Count > 0) { if (loSentencias.Count > 1) { loSentencias[0].TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.IniciarTransaccion; loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.FinalizarTransaccion; } else { loSentencias[0].TipoManejadorTransaccion = Definiciones.TipoManejadorTransaccion.NoTransaccion; } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); } #endregion return(true); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal bool Eliminar(Sesion poSesion, int pnValor) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CVE_NUMERICA", Tipo = DbType.Int32, Valor = pnValor } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "DELETE FROM DAP_PRUEBAS2___ WHERE CVE_NUMERICA=:1"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); #region Preparar/ejecutar transaccion if (loSentencias.Count > 0) { if (loSentencias.Count > 1) { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion; loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion; } else { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); } #endregion return(true); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable Obtener(Sesion poSesion, string psFolioOrdenCompra, int pnSucursal) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); //loSentencia.Parametros = new List<Parametro>() { // #region Parametros // new Parametro() { // Direccion = ParameterDirection.Input, // Nombre = "PSI_CVE_CLIENTE", // Tipo = DbType.String, // Valor = psClaveCliente // }, // new Parametro() { // Direccion = ParameterDirection.Input, // Nombre = "PNI_ANIO", // Tipo = DbType.Int32, // Valor = pnAnio // }, // new Parametro() { // Direccion = ParameterDirection.Input, // Nombre = "PNI_CVE_SUCURSAL", // Tipo = DbType.Int32, // Valor = poSesion.Usuario.Sucursal[0].Clave // }, // new Parametro() { // Direccion = ParameterDirection.Output, // Nombre = "PCO_CURSOR", // Tipo = DbType.Object // } // #endregion // }; loSentencia.TextoComando = "SELECT OC.FOLOC_FOLIO,OC.NUMERO,OC.FECHA,SUC.SUCURSAL,P.RAZON_SOCIAL,(SELECT M.DESC_CORTA FROM MONEDAS M WHERE CLAVE = OC.MON_CLAVE)MONEDA,OC.USUARIO_AUT,( SELECT PER.NOMBRE||' ' || PER.NOMBRE2 ||' ' || PER.APELLIDO_PATERNO ||' ' || PER.APELLIDO_MATERNO FROM PERSONAL PER WHERE PER.USR_CLAVE = OC.USUARIO) PERSONAL " + " FROM (SELECT SFOC.FOLOC_FOLIO,SFOC.SUC_CLAVE,S.DESCRIPCION AS SUCURSAL FROM SUC_FOLIOS_ORDENES_COMPRAS SFOC, SUCURSALES S WHERE SFOC.SUC_CLAVE=S.CLAVE AND SFOC.VER='S' AND SFOC.UTILIZAR='S')SUC, ORDENES_COMPRAS OC, PROVEEDORES P, SUC_ALMACENES SA" + " WHERE OC.FOLOC_FOLIO=SUC.FOLOC_FOLIO AND OC.PROV_CLAVE = P.CLAVE AND SA.ALM_CLAVE=OC.ALM_CLAVE AND SA.SUC_CLAVE=SUC.SUC_CLAVE AND SUC.SUC_CLAVE=" + pnSucursal + " AND P.CLAVE = 254 " + " AND OC.FOLOC_FOLIO||OC.NUMERO ='" + psFolioOrdenCompra + "' AND OC.STATUS_CAN='N' "; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal bool InsertaCobroTablaDAP(Sesion poSesion, List <RegistroCobro> loCobro) { try { List <Sentencia> loSentencias = new List <Sentencia>(); foreach (RegistroCobro loAsignacion in loCobro) { Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros //1 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "NUM_TRASACCION", Tipo = DbType.String, Valor = loAsignacion.NumTransaccion }, //2 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "REF_NUMERICA", Tipo = DbType.String, Valor = loAsignacion.RefNumerica }, //3 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "REF_ALFANUMERICA", Tipo = DbType.String, Valor = loAsignacion.RefAlfanumerica }, //4 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "ABONO", Tipo = DbType.Decimal, Valor = loAsignacion.Abono }, //5 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "FECHA_ABONO", Tipo = DbType.String, Valor = loAsignacion.FechaAbono }, //6 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "BANCO", Tipo = DbType.Int32, Valor = loAsignacion.Banco }, //7 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "FORMA_PAGO", Tipo = DbType.Int32, Valor = loAsignacion.FormaPago }, //8 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "ARCHIVO", Tipo = DbType.String, Valor = loAsignacion.Archivo }, //9 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "SUC_BANCO", Tipo = DbType.String, Valor = loAsignacion.SucBanco }, //10 new Parametro() { Direccion = ParameterDirection.Input, Nombre = "STATUS_TRANSACCION", Tipo = DbType.String, Valor = loAsignacion.StatusTransaccion } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion " MERGE INTO DAP_TESORERIA_COBROS_PROC DTP \r\n" + " USING (SELECT :1 AS NumTransaccion, :2 AS RefNumerica, :3 AS RefAlfanumerica, :4 AS Abono,:5 AS FechaAbono, :6 AS Banco,:7 AS FormaPago ,:8 AS Archivo, :9 AS SucBanco, :10 StatusTransaccion FROM DUAL) T \r\n"+ " ON (DTP.NUM_TRANSACCION = T.NumTransaccion) \r\n"+ " WHEN MATCHED THEN \r\n" + " UPDATE SET DTP.USR_ACTUALIZA = USER, DTP.FECHA_ACTUALIZA = SYSDATE, DTP.STATUS_TRANS = T.StatusTransaccion \r\n" + " WHEN NOT MATCHED THEN \r\n"+ " INSERT (DTP.NUM_TRANSACCION, DTP.REF_NUMERICA, DTP.REF_ALFANUMERICA, DTP.ABONO, DTP.FECHA_ABONO, DTP.SUC_BANCO, \r\n"+ " DTP.CLAVE_FORMAPAGO,DTP.CLAVE_CUENTAS,DTP.NOMBRE_ARCHIVO,DTP.USUARIO_SIIL,DTP.FECHA_ALTA,DTP.STATUS_TRANS) \r\n" + " VALUES (T.NumTransaccion,T.RefNumerica,T.RefAlfanumerica,T.Abono,TO_DATE(T.FechaAbono,'DD/MM/YY'),T.SucBanco,T.FormaPago,T.Banco,T.Archivo,USER,SYSDATE,T.StatusTransaccion)"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); } #region Preparar/ejecutar transaccion if (loSentencias.Count > 0) { if (loSentencias.Count > 1) { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion; loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion; } else { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); } #endregion return(true); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal bool PerteneceA(Sesion poSesion, string psClaveCliente, string psClaveUsuario) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); string lsSucursales = string.Empty; loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.InputOutput, Nombre = "PNO_RESULTADO", Tipo = DbType.Int32, Valor = 0 }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_CVE_CLIENTE", Tipo = DbType.String, Valor = psClaveCliente }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_CVE_USUARIO", Tipo = DbType.String, Valor = psClaveUsuario } #endregion }; loSentencia.TextoComando = "PKG_DAP_VENTAS_LAYOUT.PROC_TLMK_PERTENECE_SUC"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); foreach (Sucursal oSucursal in poSesion.Usuario.Sucursal) { lsSucursales += oSucursal.Clave + ","; } loSentencia.Parametros.Add(new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVES_SUCURSALES", Tipo = DbType.String, Valor = lsSucursales.TrimEnd(',') }); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); Parametro[] loParametrosSalida = new Parametro[] {}; int loResultado = (int)loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return((loResultado == 1) ? true : false); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable Obtener(Sesion poSesion, int pnAnio, int pnSemana) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_PERSONAL", Tipo = DbType.Int32, Valor = poSesion.Usuario.Id }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_USR_PERSONAL", Tipo = DbType.String, Valor = poSesion.Usuario.Clave }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_SUCURSAL", Tipo = DbType.Int32, Valor = poSesion.Usuario.Sucursal[0].Clave }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_ANIO", Tipo = DbType.Int32, Valor = pnAnio }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_SEMANA", Tipo = DbType.Int32, Valor = pnSemana }, new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object } #endregion }; loSentencia.TextoComando = "PKG_DAP_VENTAS.PROC_TLMK_ITINERARIO"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerDatosOrdenCompra(Sesion poSesion, string psFolioOrdenCompra, int pnNumeroOrdenCompra, int pnSucursal) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_OC_FOLIO", Tipo = DbType.String, Valor = psFolioOrdenCompra }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_OC_NUMERO", Tipo = DbType.Int32, Valor = pnNumeroOrdenCompra }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_SUCURSAL", Tipo = DbType.Int32, Valor = pnSucursal } #endregion }; loSentencia.TextoComando = "PKG_DAP_MONITOREO.PROC_COMPRAS_OC"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal DataTable ObtenerPedidos(Sesion poSesion, DateTime poFechaInicio, DateTime poFechaFin, int pnSucursal) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PDI_FECHA_INICIO", Tipo = DbType.Date, Valor = poFechaInicio }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PDI_FECHA_FIN", Tipo = DbType.Date, Valor = poFechaFin }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVE_SUCURSAL", Tipo = DbType.Int32, Valor = pnSucursal }, new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object } #endregion }; loSentencia.TextoComando = "PKG_DAP_ALMACEN_PEDIDO.PROC_CXC_MENSAJERO"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); DataTable lodtAuxiliar = loResultado.Clone(); //DataRow[] query = loResultado.Select("ORDEN = 3 AND EXISTENCIA > 0"); DataRow[] query = loResultado.Select("ORDEN = 3 "); foreach (DataRow fila in query) { //lodtAuxiliar.Rows.Add(fila[0], fila[1], fila[2], fila[3], fila[4], fila[5], fila[6], fila[7], fila[8], fila[9], fila[10], fila[11], fila[12], fila[13], fila[14], fila[15], fila[16]); lodtAuxiliar.Rows.Add(fila[0], fila[1], fila[2], fila[3], fila[4], fila[5], fila[6], fila[7], fila[8], fila[9], fila[10], fila[11], fila[12], fila[13], fila[14], fila[15], fila[16], fila[17], fila[18]); } loResultado.Rows.Clear(); loResultado.Merge(lodtAuxiliar); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); } catch (Exception ex) { throw new Pedidos.Comun.Excepcion(ex.Message, ex); } }
internal bool Guardar(Sesion poSesion) { try { List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CVE_NUMERICA", Tipo = DbType.Int32, Valor = 1 }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CVE_VALOR", Tipo = DbType.String, Valor = "Prueba2" }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "FECHA_ULT_TRANSAC", Tipo = DbType.Date, Valor = DateTime.Now } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "MERGE INTO DAP_PRUEBAS2___ TC\r\n" + " USING (SELECT :1 AS CVE_NUMERICA,:2 AS CVE_VALOR, :3 AS FECHA_ULT_TRANSAC FROM DUAL) D \r\n"+ " ON (TC.CVE_NUMERICA=D.CVE_NUMERICA) \r\n"+ " WHEN MATCHED THEN \r\n"+ " UPDATE SET TC.CVE_VALOR=D.CVE_VALOR,TC.FECHA_ULT_TRANSAC=SYSDATE \r\n"+ " WHEN NOT MATCHED THEN \r\n"+ " INSERT (TC.CVE_NUMERICA,TC.CVE_VALOR,TC.FECHA_ULT_TRANSAC) \r\n"+ " VALUES (D.CVE_NUMERICA,D.CVE_VALOR,SYSDATE)"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); #region Preparar/ejecutar transaccion if (loSentencias.Count > 0) { if (loSentencias.Count > 1) { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion; loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion; } else { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); } #endregion return(true); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }
internal bool InactivarClientes(Sesion poSesion, DataTable poClientes, EventLog poLog) { try { int lnMotivo = 0; List <Sentencia> loSentencias = new List <Sentencia>(); #region Actualizar solo clientes padre e hijos con saldo vencido. foreach (DataRow loCliente in poClientes.Rows) { if (decimal.Parse(loCliente["SALDO_PADRE"].ToString()) > 0 || decimal.Parse(loCliente["SALDO_HIJO"].ToString()) > 0) { #region Obtener Motivo de inactivación. if (decimal.Parse(loCliente["SALDO_PADRE"].ToString()) > 0 && decimal.Parse(loCliente["SALDO_HIJO"].ToString()) > 0) { lnMotivo = int.Parse(ConfigurationManager.AppSettings["ConceptoInactivacionPadreHijo"]); } else { if (decimal.Parse(loCliente["SALDO_PADRE"].ToString()) > 0) { lnMotivo = int.Parse(ConfigurationManager.AppSettings["ConceptoInactivacionPadre"]); } else { lnMotivo = int.Parse(ConfigurationManager.AppSettings["ConceptoInactivacionHijo"]); } } #endregion Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CVE_CLIENTE", Tipo = DbType.String, Valor = loCliente["CLAVE"] }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "MINAC_CLAVE", Tipo = DbType.Int32, Valor = lnMotivo } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "UPDATE CLIENTES SET FECHA_INAC = SYSDATE, FECHA_ULT_ACT=SYSDATE, USUARIO_ULT_ACT='SIIL_OWNER', STATUS='I', MINAC_CLAVE = " + lnMotivo.ToString() + " WHERE STATUS='A' AND CLAVE IN('" + loCliente["CLAVE"] + "','" + loCliente["CLAVE"] + "M')"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); } } #endregion #region Actualizar el limite de crédito a cero solo de cuentas hijo foreach (DataRow loCliente in poClientes.Rows) { if (decimal.Parse(loCliente["LIMITE_CREDITO_HIJO"].ToString()) > 0) { Sentencia loSentencia = new Sentencia(); loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Input, Nombre = "CVE_CLIENTE", Tipo = DbType.String, Valor = loCliente["CLAVE"] } #endregion }; loSentencia.TextoComando = #region Definir sentencia de insercion/actualizacion "UPDATE CLIENTES SET FECHA_ULT_ACT=SYSDATE, USUARIO_ULT_ACT='SIIL_OWNER', LIMITE_CREDITO = 0 WHERE ZON_CLAVE = 2 AND LIMITE_CREDITO > 0 AND CLAVE ='" + loCliente["CLAVE"] + "M'"; #endregion loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.NoQuery; loSentencia.TipoComando = CommandType.Text; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.ContinuarTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Entero; loSentencias.Add(loSentencia); } } #endregion #region Preparar/ejecutar transaccion if (loSentencias.Count > 0) { if (loSentencias.Count > 1) { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.IniciarTransaccion; loSentencias[loSentencias.Count - 1].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.FinalizarTransaccion; } else { loSentencias[0].TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); loDespachador.Despachar(poSesion.Conexion, loSentencias); loDespachador.ChannelFactory.Close(); loDespachador.Close(); } #endregion return(true); } catch (Exception ex) { poLog.WriteEntry("ERROR AL INACTIVAR CLIENTES." + ex, EventLogEntryType.Information); return(false); } }
internal DataTable ObtenerDocumentos(Sesion poSesion, Definiciones.TipoDocumento poTipoDocumento, string psClaveCliente, DateTime poFechaInicio, DateTime poFechaFin) { Sentencia loSentencia = new Sentencia() { #region Inicializar Parametros = new List <Parametro>(), Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query, TipoComando = CommandType.Text, TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion, TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto #endregion }; string lsSucursales = string.Empty; foreach (Sucursal lsSucursal in poSesion.Usuario.Sucursal) { lsSucursales += lsSucursal.Clave + ","; } #region Establecer comando switch (poTipoDocumento) { case Definiciones.TipoDocumento.Factura: loSentencia.TextoComando = "SELECT 'DAP941221SYA_'||fe.folfac_folio||'_'||fe.numero as docto, fe.fecha " + "FROM clientes, facturas_emitidas fe " + "WHERE clientes.clave=fe.cli_clave AND TRUNC(fe.fecha) BETWEEN TO_DATE('" + poFechaInicio.ToShortDateString() + "','dd/MM/yyyy') AND TO_DATE('" + poFechaFin.ToShortDateString() + "','dd/MM/yyyy') " + "AND fe.folfac_folio IN (SELECT DISTINCT folfac_folio FROM suc_folios_facturas WHERE suc_clave IN (" + lsSucursales.TrimEnd(',') + ") AND folfac_folio LIKE 'F%') AND fe.status_can='N' " + "AND fe.cli_clave=COALESCE(" + ((string.IsNullOrEmpty(psClaveCliente)) ? "NULL" : "'" + psClaveCliente + "'") + ",fe.cli_clave) " + "ORDER BY fe.fecha"; break; case Definiciones.TipoDocumento.NotaCargo: loSentencia.TextoComando = "SELECT 'DAP941221SYA_'||nc.fol_nc_em_folio||'_'||nc.numero as docto, nc.fecha " + "FROM clientes, notas_cargo_emitidas nc " + "WHERE clientes.clave=nc.cli_clave AND TRUNC(nc.fecha) BETWEEN TO_DATE('" + poFechaInicio.ToShortDateString() + "','dd/MM/yyyy') AND TO_DATE('" + poFechaFin.ToShortDateString() + "','dd/MM/yyyy') " + "AND nc.fol_nc_em_folio IN (SELECT DISTINCT fol_nc_em_folio FROM suc_folios_notas_cargo_emi WHERE suc_clave IN (" + lsSucursales.TrimEnd(',') + ") AND fol_nc_em_folio LIKE 'CA%') AND nc.status_can='N' " + "AND nc.cli_clave=COALESCE(" + ((string.IsNullOrEmpty(psClaveCliente)) ? "NULL" : "'" + psClaveCliente + "'") + ",nc.cli_clave) " + "ORDER BY nc.fecha"; break; case Definiciones.TipoDocumento.NotaCredito: loSentencia.TextoComando = "SELECT 'DAP941221SYA_'||nc.fol_ncr_ct_folio||'_'||nc.numero as docto, nc.fecha " + "FROM clientes, notas_credito_al_cte nc " + "WHERE clientes.clave=nc.cli_clave AND TRUNC(nc.fecha) BETWEEN TO_DATE('" + poFechaInicio.ToShortDateString() + "','dd/MM/yyyy') AND TO_DATE('" + poFechaFin.ToShortDateString() + "','dd/MM/yyyy') " + "AND nc.fol_ncr_ct_folio IN (SELECT DISTINCT fol_ncr_ct_folio FROM suc_folios_ncred_cte WHERE suc_clave IN (" + lsSucursales.TrimEnd(',') + ") AND fol_ncr_ct_folio LIKE 'CR%') AND nc.status_can='N' " + "AND nc.cli_clave=COALESCE(" + ((string.IsNullOrEmpty(psClaveCliente)) ? "NULL" : "'" + psClaveCliente + "'") + ",nc.cli_clave) " + "ORDER BY nc.fecha"; break; default: break; } #endregion DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorGestorCxC"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, new List <Sentencia>() { loSentencia } ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); return(loResultado); }
internal ContactoCliente ObtenerContacto(Sesion poSesion, string psClaveCliente) { try { ContactoCliente loContacto = new ContactoCliente() { Puesto = Telemarketing.Comun.Definiciones.TipoContactoCliente.Compras.Descripcion() }; List <Sentencia> loSentencias = new List <Sentencia>(); Sentencia loSentencia = new Sentencia(); string lsSucursales = string.Empty; loSentencia.Parametros = new List <Parametro>() { #region Parametros new Parametro() { Direccion = ParameterDirection.Output, Nombre = "PCO_CURSOR", Tipo = DbType.Object }, new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PSI_CVE_CLIENTE", Tipo = DbType.String, Valor = psClaveCliente } #endregion }; loSentencia.TextoComando = "PKG_DAP_VENTAS_LAYOUT.PROC_TLMK_CONTACTO"; loSentencia.Tipo = AccesoDatos.Comun.Definiciones.TipoSentencia.Query; loSentencia.TipoComando = CommandType.StoredProcedure; loSentencia.TipoManejadorTransaccion = AccesoDatos.Comun.Definiciones.TipoManejadorTransaccion.NoTransaccion; loSentencia.TipoResultado = AccesoDatos.Comun.Definiciones.TipoResultado.Conjunto; loSentencias.Add(loSentencia); foreach (Sucursal oSucursal in poSesion.Usuario.Sucursal) { lsSucursales += oSucursal.Clave + ","; } if (lsSucursales != string.Empty) { loSentencia.Parametros.Add(new Parametro() { Direccion = ParameterDirection.Input, Nombre = "PNI_CVES_SUCURSALES", Tipo = DbType.String, Valor = lsSucursales.TrimEnd(',') }); } DespachadorClient loDespachador = new DespachadorClient("netTcpBinding_IDespachadorItinerario"); Serializacion loDeserializador = new Serializacion(); DataTable loResultado = loDeserializador.DeserializarTabla( poSesion.Conexion.Credenciales.Cifrado.Descifrar( (byte[])loDespachador.Despachar(poSesion.Conexion, loSentencias ))); loDespachador.ChannelFactory.Close(); loDespachador.Close(); foreach (DataRow oContacto in loResultado.Rows) { loContacto.ApellidoPaterno = oContacto["APELLIDO_PATERNO"].ToString().Trim(); loContacto.Apodo = oContacto["NOMBRE_APODO"].ToString().Trim(); loContacto.Celular = oContacto["CELULAR"].ToString().Trim(); loContacto.Clave = int.Parse(oContacto["CLAVE"].ToString()); loContacto.ClaveCliente = psClaveCliente; loContacto.Correo = oContacto["EMAIL"].ToString().Trim(); loContacto.Nextel = oContacto["RADIO_LOC"].ToString().Trim(); loContacto.Nombre = oContacto["NOMBRE"].ToString().Trim(); loContacto.Puesto = oContacto["TIPO"].ToString().Trim(); loContacto.Telefono = oContacto["TEL_EXT"].ToString().Trim(); } return(loContacto); } catch (Exception ex) { throw new Comun.Excepcion(ex.Message, ex); } }