public string Remitir(EEncabezado credencial, string datos, EDestino rumbo, EProvider proveedor, Operacion tipoOperacion, short evento) { string sres = string.Empty; DDespachar despachar = new DDespachar(); ETransaccion transaccion = new ETransaccion(); if (credencial != null && rumbo != null) { transaccion.Conexion = rumbo.Conexion; transaccion.Datos = datos; transaccion.Persiste = rumbo.Persiste; transaccion.Terminal = credencial.Terminal; transaccion.TipoDestino = rumbo.TipoDestino; transaccion.Transaccion = (Transacciones)credencial.Transaccion; transaccion.Usuario = credencial.Usuario; transaccion.Modo = 0; transaccion.Version = credencial.Version; transaccion.TipoOperacion = tipoOperacion; transaccion.Evento = evento; sres = despachar.Remitir(transaccion, proveedor); } else { sres = "999"; Logger.ErrorLog.RegErrorDB(Logger.NivelDeError.Tres, sres, this.ToString(), "Remitir()", "No se pudo procesar transacción."); } return(sres); }
private string GetRequestUrl(string sProviderId, string sCityId) { string sUrl = ""; EProvider oProvider = db.GetProvider(sProviderId); ECity oCity = db.GetCity(sCityId); if (oProvider != null && oCity != null) { sUrl = ForecastProviderFactory.BuildRequestUrl(oProvider, oCity); } return(sUrl); }
static public string BuildRequestUrl(EProvider oProvider, ECity oCity) { IForecastExtension oExtension = null; switch (oProvider.Id) { case "1": oExtension = new ForecastIOExtension(); break; case "2": oExtension = new WeatherUndergroundExtension(); break; default: oExtension = new ForecastIOExtension(); break; } return(oExtension.GetForecastRequest(oProvider, oCity)); }
public string GetForecastRequest(EProvider oProvider, ECity oCity) { return(String.Format(oProvider.Url, oProvider.Key, oCity.Latitude, oCity.Longitude)); }
/// <summary> /// Carga en memoria el listado de tipos de transacción. /// </summary> public void CargarListaTransacciones() { Assembly asm = Assembly.GetExecutingAssembly(); DataSet ds = new DataSet(); int ntra = 0; try { //ds.ReadXml(asm.GetManifestResourceStream("Data.MapaTransaciones.xml")); string spath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath; if (string.IsNullOrEmpty(spath)) { spath = System.AppDomain.CurrentDomain.BaseDirectory; } if (spath.EndsWith("\\")) { spath = spath.Substring(0, spath.Length - 1); } ds.ReadXml(spath + "\\MapaTransaciones.xml"); } catch (Exception ex) { Logger.ErrorLog.RegErrorDB(Logger.NivelDeError.Seis, "999", this.ToString(), "MapaTransaciones.xml", ex.StackTrace); } DataTable dt = ds.Tables["proveedor"]; if (dt != null) { if (dt.Rows.Count > 0) { if (Proveedores.Count > 0) { Proveedores.Clear(); } foreach (DataRow row in dt.Rows) { EProvider proveedor = new EProvider(); proveedor.IdProvider = row.Field <string>("id"); proveedor.DataProvider = row.Field <string>("tipoproveedor"); proveedor.ConnectionString = row.Field <string>("cadenaconexion"); proveedor.TipoDestino = (Destinos)System.Enum.Parse( typeof(Destinos), row.Field <string>("tipodestino"), true); proveedores.Add(proveedor); } dt.Dispose(); } } dt = ds.Tables["transaccion"]; if (dt != null) { if (dt.Rows.Count > 0) { if (transacciones.Count > 0) { transacciones.Clear(); } Operacion operacion = Operacion.NoDefinido; short evento = 0; foreach (DataRow row in dt.Rows) { if (int.TryParse(row["codigo"].ToString(), out ntra)) { operacion = Operacion.NoDefinido; evento = 0; try { operacion = (Operacion)System.Enum.Parse( typeof(Operacion), row["operacion"].ToString(), true); short.TryParse(row.Field <string>("evento"), out evento); } catch (Exception) { } Entity.Enrutador.EEnrutar enrutar = new Entity.Enrutador.EEnrutar { Transaccion = ntra, TipoOperacion = operacion, Evento = evento }; DataRow[] rows = ds.Tables["destino"].Select("transaccion_id=" + row["transaccion_id"].ToString()); foreach (DataRow rowdestino in rows) { Entity.Enrutador.EDestino destino = new Entity.Enrutador.EDestino(); Entity.Enrutador.EProvider proveedor = Proveedores.Find(delegate(EProvider e) { return(e.IdProvider == rowdestino.Field <string>("conexion")); }); destino.TipoDestino = proveedor.TipoDestino; if (rowdestino.Table.Columns.Contains("conexion")) { destino.Conexion = rowdestino["conexion"].ToString(); } if (rowdestino.Table.Columns.Contains("tiempoespera")) { destino.TiempoEspera = int.Parse(rowdestino["tiempoespera"].ToString()); } if (rowdestino.Table.Columns.Contains("reintentos")) { destino.Reintentos = int.Parse(rowdestino["reintentos"].ToString()); } if (rowdestino.Table.Columns.Contains("tiemporeintento")) { destino.TiempoReintento = int.Parse(rowdestino["tiemporeintento"].ToString()); } if (rowdestino.Table.Columns.Contains("esobjeto")) { destino.EsObjeto = Convert.ToBoolean(rowdestino["esobjeto"].ToString()); } if (rowdestino.Table.Columns.Contains("persiste")) { destino.Persiste = Convert.ToBoolean(rowdestino["persiste"].ToString()); } // Acceso a carpetas de red. if (rowdestino.Table.Columns.Contains("usuario")) { destino.Usuario = rowdestino["usuario"].ToString(); } if (rowdestino.Table.Columns.Contains("clave")) { destino.Clave = rowdestino["clave"].ToString(); } if (rowdestino.Table.Columns.Contains("dominio")) { destino.Dominio = rowdestino["dominio"].ToString(); } enrutar.Destinos.Add(destino); } transacciones.Add(enrutar); } } transacciones.Add(CargarLista(998, Operacion.Registrar)); transacciones.Add(CargarLista(999, Operacion.Obtener)); } } }
/// <summary> /// Remite un despachar de acuerdo a lo indicado en el mapa de transacciones /// </summary> /// <param name="transaccion">Representación lógica de un Transaccion</param> /// <returns> /// Retorna cero si se ha guardado correctamente, valor distinto a cero /// si se presenta algún error. /// </returns> public string Remitir(ETransaccion transaccion, EProvider provider) { string sres = string.Empty; IConector conector; if (transaccion != null) { switch (transaccion.TipoDestino) { case Destinos.ConectorWSJSon: //Enviar transacción al WS conector = null; break; case Destinos.ConectorDB: //Enviar transacción al DB conector = new ConectorDB(); break; case Destinos.ConectorFS: //Enviar transacción al FS conector = null; break; case Destinos.ConectorWSObjeto: //Enviar transacción al WS conector = new ConectorWSObjeto(); break; default: conector = null; break; } if (conector != null) { EProveedor proveedor = new EProveedor() { Proveedor = provider.DataProvider, CadenaConexion = provider.ConnectionString }; sres = conector.Enviar(transaccion, proveedor); if (sres != "104") { if (transaccion.Persiste && transaccion.Modo == 0) { Persistir(transaccion, sres); } } } else { sres = "999"; Logger.ErrorLog.RegErrorDB(Logger.NivelDeError.Seis, sres, this.ToString(), "Remitir()", "Error ocurrido por falta de asignación de variables u objetos."); } } else { sres = "999"; Logger.ErrorLog.RegErrorDB(Logger.NivelDeError.Seis, sres, this.ToString(), "Remitir()", "Error ocurrido por falta de asignación de variables u objetos."); } return(sres); }
public ResultSet(IEnumerable<ResultItem> items, EProvider provider) { this.Items = items; this.Provider = provider; }
public string GetForecastRequest(EProvider oProvider, ECity oCity) { return(String.Format(oProvider.Url, oProvider.Key, oCity.Country, oCity.Name)); }
public ResultSet(IEnumerable <ResultItem> items, EProvider provider) { this.Items = items; this.Provider = provider; }