Advertisement
Guest User

Untitled

a guest
Nov 7th, 2017
628
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.01 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using System.Data;
  3. using System.Linq;
  4. using PortalProveedoress_01.ServiceReference1;
  5. namespace PortalProveedores_01.data
  6. {
  7.     public class WebServiceConnect
  8.     {
  9.         #region Global Variables
  10.         //Tipo de fechas
  11.         public static string tipo_fecha = System.Configuration.ConfigurationManager.AppSettings["dateFormat"];
  12.         #endregion
  13.         #region Class Fields
  14.         #endregion
  15.         #region Constructors
  16.         static PortalProveedoress_01.ServiceReference1.WebServiceSupplierPortalSoapClient ws_client;
  17.         #endregion
  18.         #region Constants
  19.         const int CREAR = 1;
  20.         const int ACTUALIZAR = 2;
  21.         const int CONSULTA_UNITARIA = 3;
  22.         const int BORRAR = 4;
  23.         const int CANCELAR = 5;
  24.         const int CONSULTA_MASIVA = 6;
  25.         const char SEPARADOR = '|';
  26.        
  27.  
  28.         //Columnas genéricas
  29.         public const string _type = "@type";
  30.         public const string _val = "@val";
  31.         public const string _val2 = "@val2";
  32.         public const string _status = "@status";
  33.         public const string _cus1 = "@CustomizedField1";
  34.         public const string _cus2 = "@CustomizedField2";
  35.         public const string _cus3 = "@CustomizedField3";
  36.         public const string _idUser = "@ID_User";
  37.         //Columnas usuario
  38.         public const string _usuario = "@Usuario";
  39.         public const string _password = "@UPassword";      
  40.         public const string _idUsuario = "@IDUsuario";        
  41.         public const string _tos = "@TerminosAceptados";
  42.         public const string _respass = "@ResetPassword";
  43.         public const string _loginstatus ="@LoginStatus";
  44.         public const string _passdate = "@Password_Date";
  45.         public const string _userUp = "@UserUP";
  46.         //columnas proveedor
  47.         public const string _idProveedor = "@IDProveedor";
  48.         public const string _acreedor = "@Numero_AcredorSAP";
  49.         public const string _rfc = "@RFC";
  50.         public const string _razonsoc = "@Razon_Social";
  51.         public const string _nomcom = "@Nombre_Comercial";
  52.         public const string _dirfis = "@Direccion_Fiscal";
  53.         //Columna contacto
  54.         public const string _idContacto = "@IDContacto";
  55.         public const string _CNom = "@Contacto_Nombre";
  56.         public const string _CApe1 = "@Apellido_Paterno";
  57.         public const string _CApe2 = "@Apellido_Materno";
  58.         public const string _CFecha = "@Fecha_Nacimiento";
  59.         public const string _CArea = "@Area";
  60.         public const string _CEmail = "@Correo_Electronico";
  61.         public const string _CTel = "@Telefono";
  62.         public const string _CSuc = "@Suscursal_Oficina";
  63.         //Columna proveedor documento
  64.         public const string _IDProv_TipoDoc = "@IDProv_TipoDoc";
  65.         //Columna registro proveedor
  66.         public const string _IDRegistro_Proveedor = "@IDRegistro_Proveedor";
  67.         public const string _RPAddenda = "@Addenda";
  68.         public const string _RPAvPr = "@AceptoAviso_Privacidad";
  69.         //Columna Tipo Documento
  70.         public const string _ID_Tipo_Documento = "@ID_Tipo_Documento";
  71.         //columnas pac
  72.         public const string _idPac = "@IDPAC";
  73.         //columnas addenda
  74.         public const string _idAddenda = "@IDAddenda";
  75.         public const string _IDProAdd = "@IDProv_Adde";
  76.         #endregion
  77.         static WebServiceConnect()
  78.         {
  79.             ws_client = new WebServiceSupplierPortalSoapClient();
  80.         }
  81.         /// <summary>
  82.         /// Ejecuta un DELETE en el WS
  83.         /// </summary>
  84.         /// <param name="v_name">string NOMBRE DE FUNCION</param>
  85.         /// <param name="v_params">string[] PARAMETROS</param>
  86.         /// <param name="v_args">string[] ARGUMENTOS VALORES</param>
  87.         /// <returns>string RESULTADO EJECUCIÓN</returns>
  88.         public static string WSDelete(string v_name, string[] v_params, string[] v_args)
  89.         {
  90.             string res = ws_client.InvokeObjectDataBase(v_name, v_params.Count(),
  91.                  v_params.Aggregate((x, next) => x + SEPARADOR + next),
  92.                  v_args.Aggregate((x, next) => x + SEPARADOR + next), BORRAR);
  93.             return res;
  94.         }
  95.         /// <summary>
  96.         /// Envia un correo electrónico
  97.         /// </summary>
  98.         /// <param name="subject">Asunto</param>
  99.         /// <param name="message">Mensaje</param>
  100.         /// <param name="to">Destinatario</param>
  101.         /// <returns>BOOL: si se envió o no el correo</returns>
  102.         public static bool WSEmail(string subject, string message, string to) {
  103.             return ws_client.InvokeSendMailRoutine(message, 5, to, subject) == 1;        
  104.         }
  105.         /// <summary>
  106.         /// Ejecuta un UPDATE en el WS
  107.         /// </summary>
  108.         /// <param name="v_name">string NOMBRE DE FUNCION</param>
  109.         /// <param name="v_params">string[] PARAMETROS</param>
  110.         /// <param name="v_args">string[] ARGUMENTOS (VALORES)</param>
  111.         /// <returns>string RESULTADO EJECUCIÓN</returns>
  112.         public static string WSUpdate(string v_name, string[] v_params, string[] v_args)
  113.         {
  114.             string res = ws_client.InvokeObjectDataBase(v_name, v_params.Count(),
  115.                  v_params.Aggregate((x, next) => x + SEPARADOR + next),
  116.                  v_args.Aggregate((x, next) => x + SEPARADOR + next), ACTUALIZAR);
  117.             return res;
  118.         }
  119.         public static bool SendEmail(string sub, string message, string to) {
  120.             return WSEmail(sub, message, to);        
  121.         }
  122.         /// <summary>
  123.         /// Ejecuta una inserción en el WS
  124.         /// </summary>
  125.         /// <param name="v_name">string NOMBRE DE FUNCION</param>
  126.         /// <param name="v_params">string[] PARAMETROS</param>
  127.         /// <param name="v_args">string[] ARGUMENTOS (VALORES)</param>
  128.         /// <returns>string RESULTADO EJECUCIÓN</returns>
  129.         public static string WSNew(string v_name, string[] v_params, string[] v_args)
  130.         {
  131.             string parametros = v_params.Aggregate((x, next) => x + SEPARADOR + next);
  132.             string argumentos = v_args.Aggregate((x, next) => x + SEPARADOR + next);
  133.             int total_elementos = v_params.Count();
  134.             string res = ws_client.InvokeObjectDataBase
  135.                 (v_name, total_elementos, parametros, argumentos, CREAR);
  136.             return res;
  137.         }
  138.         /// <summary>
  139.         /// Transforma un DataTable a un objeto JSON.
  140.         /// </summary>
  141.         /// <param name="dt">DataTable origen</param>
  142.         /// <returns>JSON Object</returns>
  143.         public static string  dt2JSON(DataTable dt) {                        
  144.             //Convertir a lista
  145.             var lst = dt.AsEnumerable()
  146.                 .Select(r => r.Table.Columns.Cast<DataColumn>()
  147.                         .Select(c => new KeyValuePair<string, object>(c.ColumnName, r[c.Ordinal])
  148.                        ).ToDictionary(z => z.Key, z => z.Value)
  149.                 ).ToList();
  150.             //Serializar
  151.             var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
  152.             return serializer.Serialize(lst);            
  153.         }
  154.         /// <summary>
  155.         /// OBTIENE UN DATATABLE DEL WEBSERVICE
  156.         /// </summary>
  157.         /// <param name="v_name">string NOMBRE DE FUNCION</param>
  158.         /// <param name="v_params">string[] PARAMETROS</param>
  159.         /// <param name="v_args">string[] ARGUMENTOS VALORES</param>
  160.         /// <returns>DataTable RESULTADO EJECUCIÓN</returns>
  161.         public static DataTable WSDataTable(string v_name, string[] v_params, string[] v_args)
  162.         {
  163.             string parametros = v_params.Aggregate((x, next) => x + SEPARADOR + next);
  164.             string argumentos = v_args.Aggregate((x, next) => x + SEPARADOR + next);
  165.             int total_elementos = v_params.Count();
  166.             DataSet res = ws_client.InvokeObjectDataBaseMasive(
  167.                 v_name, total_elementos, parametros,argumentos,CONSULTA_MASIVA);
  168.             if (res == null) return null;
  169.             return res.Tables[0];
  170.         }
  171.     }
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement