Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }
Exemple #4
0
 public string GetForecastRequest(EProvider oProvider, ECity oCity)
 {
     return(String.Format(oProvider.Url, oProvider.Key, oCity.Latitude, oCity.Longitude));
 }
Exemple #5
0
        /// <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));
                }
            }
        }
Exemple #6
0
        /// <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;
 }