Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using PortalProveedoress_01.ServiceReference1;
- namespace PortalProveedores_01.data
- {
- public class WebServiceConnect
- {
- #region Global Variables
- //Tipo de fechas
- public static string tipo_fecha = System.Configuration.ConfigurationManager.AppSettings["dateFormat"];
- #endregion
- #region Class Fields
- #endregion
- #region Constructors
- static PortalProveedoress_01.ServiceReference1.WebServiceSupplierPortalSoapClient ws_client;
- #endregion
- #region Constants
- const int CREAR = 1;
- const int ACTUALIZAR = 2;
- const int CONSULTA_UNITARIA = 3;
- const int BORRAR = 4;
- const int CANCELAR = 5;
- const int CONSULTA_MASIVA = 6;
- const char SEPARADOR = '|';
- //Columnas genéricas
- public const string _type = "@type";
- public const string _val = "@val";
- public const string _val2 = "@val2";
- public const string _status = "@status";
- public const string _cus1 = "@CustomizedField1";
- public const string _cus2 = "@CustomizedField2";
- public const string _cus3 = "@CustomizedField3";
- public const string _idUser = "@ID_User";
- //Columnas usuario
- public const string _usuario = "@Usuario";
- public const string _password = "@UPassword";
- public const string _idUsuario = "@IDUsuario";
- public const string _tos = "@TerminosAceptados";
- public const string _respass = "@ResetPassword";
- public const string _loginstatus ="@LoginStatus";
- public const string _passdate = "@Password_Date";
- public const string _userUp = "@UserUP";
- //columnas proveedor
- public const string _idProveedor = "@IDProveedor";
- public const string _acreedor = "@Numero_AcredorSAP";
- public const string _rfc = "@RFC";
- public const string _razonsoc = "@Razon_Social";
- public const string _nomcom = "@Nombre_Comercial";
- public const string _dirfis = "@Direccion_Fiscal";
- //Columna contacto
- public const string _idContacto = "@IDContacto";
- public const string _CNom = "@Contacto_Nombre";
- public const string _CApe1 = "@Apellido_Paterno";
- public const string _CApe2 = "@Apellido_Materno";
- public const string _CFecha = "@Fecha_Nacimiento";
- public const string _CArea = "@Area";
- public const string _CEmail = "@Correo_Electronico";
- public const string _CTel = "@Telefono";
- public const string _CSuc = "@Suscursal_Oficina";
- //Columna proveedor documento
- public const string _IDProv_TipoDoc = "@IDProv_TipoDoc";
- //Columna registro proveedor
- public const string _IDRegistro_Proveedor = "@IDRegistro_Proveedor";
- public const string _RPAddenda = "@Addenda";
- public const string _RPAvPr = "@AceptoAviso_Privacidad";
- //Columna Tipo Documento
- public const string _ID_Tipo_Documento = "@ID_Tipo_Documento";
- //columnas pac
- public const string _idPac = "@IDPAC";
- //columnas addenda
- public const string _idAddenda = "@IDAddenda";
- public const string _IDProAdd = "@IDProv_Adde";
- #endregion
- static WebServiceConnect()
- {
- ws_client = new WebServiceSupplierPortalSoapClient();
- }
- /// <summary>
- /// Ejecuta un DELETE en el WS
- /// </summary>
- /// <param name="v_name">string NOMBRE DE FUNCION</param>
- /// <param name="v_params">string[] PARAMETROS</param>
- /// <param name="v_args">string[] ARGUMENTOS VALORES</param>
- /// <returns>string RESULTADO EJECUCIÓN</returns>
- public static string WSDelete(string v_name, string[] v_params, string[] v_args)
- {
- string res = ws_client.InvokeObjectDataBase(v_name, v_params.Count(),
- v_params.Aggregate((x, next) => x + SEPARADOR + next),
- v_args.Aggregate((x, next) => x + SEPARADOR + next), BORRAR);
- return res;
- }
- /// <summary>
- /// Envia un correo electrónico
- /// </summary>
- /// <param name="subject">Asunto</param>
- /// <param name="message">Mensaje</param>
- /// <param name="to">Destinatario</param>
- /// <returns>BOOL: si se envió o no el correo</returns>
- public static bool WSEmail(string subject, string message, string to) {
- return ws_client.InvokeSendMailRoutine(message, 5, to, subject) == 1;
- }
- /// <summary>
- /// Ejecuta un UPDATE en el WS
- /// </summary>
- /// <param name="v_name">string NOMBRE DE FUNCION</param>
- /// <param name="v_params">string[] PARAMETROS</param>
- /// <param name="v_args">string[] ARGUMENTOS (VALORES)</param>
- /// <returns>string RESULTADO EJECUCIÓN</returns>
- public static string WSUpdate(string v_name, string[] v_params, string[] v_args)
- {
- string res = ws_client.InvokeObjectDataBase(v_name, v_params.Count(),
- v_params.Aggregate((x, next) => x + SEPARADOR + next),
- v_args.Aggregate((x, next) => x + SEPARADOR + next), ACTUALIZAR);
- return res;
- }
- public static bool SendEmail(string sub, string message, string to) {
- return WSEmail(sub, message, to);
- }
- /// <summary>
- /// Ejecuta una inserción en el WS
- /// </summary>
- /// <param name="v_name">string NOMBRE DE FUNCION</param>
- /// <param name="v_params">string[] PARAMETROS</param>
- /// <param name="v_args">string[] ARGUMENTOS (VALORES)</param>
- /// <returns>string RESULTADO EJECUCIÓN</returns>
- public static string WSNew(string v_name, string[] v_params, string[] v_args)
- {
- string parametros = v_params.Aggregate((x, next) => x + SEPARADOR + next);
- string argumentos = v_args.Aggregate((x, next) => x + SEPARADOR + next);
- int total_elementos = v_params.Count();
- string res = ws_client.InvokeObjectDataBase
- (v_name, total_elementos, parametros, argumentos, CREAR);
- return res;
- }
- /// <summary>
- /// Transforma un DataTable a un objeto JSON.
- /// </summary>
- /// <param name="dt">DataTable origen</param>
- /// <returns>JSON Object</returns>
- public static string dt2JSON(DataTable dt) {
- //Convertir a lista
- var lst = dt.AsEnumerable()
- .Select(r => r.Table.Columns.Cast<DataColumn>()
- .Select(c => new KeyValuePair<string, object>(c.ColumnName, r[c.Ordinal])
- ).ToDictionary(z => z.Key, z => z.Value)
- ).ToList();
- //Serializar
- var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
- return serializer.Serialize(lst);
- }
- /// <summary>
- /// OBTIENE UN DATATABLE DEL WEBSERVICE
- /// </summary>
- /// <param name="v_name">string NOMBRE DE FUNCION</param>
- /// <param name="v_params">string[] PARAMETROS</param>
- /// <param name="v_args">string[] ARGUMENTOS VALORES</param>
- /// <returns>DataTable RESULTADO EJECUCIÓN</returns>
- public static DataTable WSDataTable(string v_name, string[] v_params, string[] v_args)
- {
- string parametros = v_params.Aggregate((x, next) => x + SEPARADOR + next);
- string argumentos = v_args.Aggregate((x, next) => x + SEPARADOR + next);
- int total_elementos = v_params.Count();
- DataSet res = ws_client.InvokeObjectDataBaseMasive(
- v_name, total_elementos, parametros,argumentos,CONSULTA_MASIVA);
- if (res == null) return null;
- return res.Tables[0];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement