Ejemplo n.º 1
0
        public string GetProxy()
        {
            ProxyRepository <ProxyServer> xmlWriter       = new ProxyRepository <ProxyServer>();
            List <ProxyServer>            proxyCollection = xmlWriter.GetAll();
            List <ProxyServer>            usableProxies   = proxyCollection.Where(x => x.Priority == 0 && xmlWriter.IsAvaliable(x)).ToList();

            if (usableProxies.Count == 0)
            {
                usableProxies = proxyCollection.Where(x => x.Priority == 1 && xmlWriter.IsAvaliable(x)).ToList();
                if (usableProxies.Count == 0)
                {
                    usableProxies = proxyCollection.Where(x => x.Priority == 2 && xmlWriter.IsAvaliable(x)).ToList();
                }
            }
            try
            {
                ProxyServer proxyServer = usableProxies.ElementAt(new Random().Next(0, usableProxies.Count));
                return(proxyServer.Ip);
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.Message);
            }
            return(string.Empty);
        }
Ejemplo n.º 2
0
        public void getLista()
        {
            isRefresh = false;
            IRepository datos  = new ProxyRepository();
            var         tlista = new ObservableCollection <Persona>();

            datos.GetAll().ForEach(item => tlista.Add(item));
            Lpersonas = tlista;
        }
Ejemplo n.º 3
0
        public void SetStatus(string ip, bool connected)
        {
            ProxyRepository <ProxyServer> xmlWriter       = new ProxyRepository <ProxyServer>();
            List <ProxyServer>            proxyCollection = xmlWriter.GetAll();
            ProxyServer proxy = proxyCollection.Where(x => x.Ip == ip).FirstOrDefault();

            try
            {
                if (connected)
                {
                    if (proxy.Priority != 0)
                    {
                        proxy.Priority = 0;
                        proxy.Status   = "Stable";
                    }
                    else
                    {
                        if (proxy.Status == "New")
                        {
                            proxy.Status = "Stable";
                        }
                    }
                }
                else
                {
                    switch (proxy.Priority)
                    {
                    case 0:
                    {
                        proxy.Priority++;
                        proxy.Status = "Unstable";
                        break;
                    }

                    case 1:
                    {
                        proxy.Priority++;
                        proxy.Status = "Bad";
                        break;
                    }

                    case 2:
                    {
                        proxy.Priority++;
                        proxy.Status = "Eliminated";
                        break;
                    }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            proxy.LastUsed = DateTime.Now;
            xmlWriter.Modify(proxy);
        }
Ejemplo n.º 4
0
 public void UpdateElimination()
 {
     lock (connectionLocker)
     {
         try
         {
             ProxyRepository <ProxyServer> xmlWriter            = new ProxyRepository <ProxyServer>();
             List <ProxyServer>            eliminatedCollection = xmlWriter.GetAll().Where(x => x.Status == ProxyStatus.PS_Eliminated).ToList();
             foreach (ProxyServer proxy in eliminatedCollection)
             {
                 proxy.Status = ProxyStatus.PS_Bad;
                 proxy.Priority--;
             }
             xmlWriter.Modify(eliminatedCollection);
         }
         catch (Exception ex)
         {
             Log.Error(ex);
         }
     }
 }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            Persona item1;
            int     id;
            IRepository <Persona> datos = new ProxyRepository();
            bool salir = false;

            do
            {
                GetMenu();
                int num;
                if (int.TryParse(Console.ReadLine(), out num) && num > 0 && num < 7)
                {
                    switch (num)
                    {
                    case 1:
                        List <Persona> ListaPersona = datos.GetAll();
                        Console.WriteLine("================================");
                        Console.WriteLine("===LISTADO DE PERSONAS==========");
                        Console.WriteLine("====================================================================================================");
                        Console.WriteLine(String.Format("   {0,-5} ||   {1,-20} ||   {2,-20} ||   {3,-5} ||   {4}", "Id", "Nombre", "Apellido", "Edad", "Dirección"));
                        Console.WriteLine("===================================================================================================="); foreach (var item in ListaPersona)
                        {
                            Console.WriteLine(String.Format("   {0,-5} ||   {1,-20} ||   {2,-20} ||   {3,-5} ||   {4}", item.ID, item.Nombre, item.Apellido, item.Edad, item.Direccion));
                            Console.WriteLine("====================================================================================================");
                        }
                        break;

                    case 2:
                        Console.Write("\n\nIngrese el id a buscar: ");
                        if (int.TryParse(Console.ReadLine(), out id) && id > 0)
                        {
                            item1 = SingletonRepository.Instancia.Repository.GetByID(id);
                            if (item1 != null)
                            {
                                Console.WriteLine(String.Format("   {0,-5} ||   {1,-20} ||   {2,-20} ||   {3,-5} ||   {4}", "Id", "Nombre", "Apellido", "Edad", "Dirección"));
                                Console.WriteLine(String.Format("   {0,-5} ||   {1,-20} ||   {2,-20} ||   {3,-5} ||   {4}", item1.ID, item1.Nombre, item1.Apellido, item1.Edad, item1.Direccion));
                            }
                            else
                            {
                                Console.WriteLine("No existe ese usuario");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Ingrese un numero valido mayor o igual que 1");
                        }

                        break;

                    case 3:
                        Console.Write("\n\nIngrese el id a eliminar: ");
                        if (int.TryParse(Console.ReadLine(), out id) && id > 0)
                        {
                            item1 = SingletonRepository.Instancia.Repository.GetByID(id);
                            if (item1 != null)
                            {
                                Console.WriteLine(String.Format("   {0,-5} ||   {1,-20} ||   {2,-20} ||   {3,-5} ||   {4}", "Id", "Nombre", "Apellido", "Edad", "Dirección"));
                                Console.WriteLine(String.Format("   {0,-5} ||   {1,-20} ||   {2,-20} ||   {3,-5} ||   {4}", item1.ID, item1.Nombre, item1.Apellido, item1.Edad, item1.Direccion));

                                Console.WriteLine("Esta seguro que desea modificar (1=si,2=no)");
                                int seguro1_2 = 0;
                                seguro1_2 = int.Parse(Console.ReadLine());
                                if (seguro1_2 == 1)
                                {
                                    if (SingletonRepository.Instancia.Repository.ObjectOperation(item1, Facade.Operacion.Delete))
                                    {
                                        Console.WriteLine("Eliminado con exito");
                                    }
                                    else
                                    {
                                        Console.WriteLine("No se pudo eliminar");
                                    }
                                }
                            }
                            else
                            {
                                Console.WriteLine("No existe ese usuario");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Ingrese un numero valido mayor o igual que 1");
                        }
                        break;

                    case 4:
                        Console.Write("\n\nIngrese el id a buscar: ");
                        if (int.TryParse(Console.ReadLine(), out id) && id > 0)
                        {
                            item1 = SingletonRepository.Instancia.Repository.GetByID(id);
                            if (item1 != null)
                            {
                                Console.WriteLine(String.Format("   {0,-5} ||   {1,-20} ||   {2,-20} ||   {3,-5} ||   {4}", "Id", "Nombre", "Apellido", "Edad", "Dirección"));
                                Console.WriteLine(String.Format("   {0,-5} ||   {1,-20} ||   {2,-20} ||   {3,-5} ||   {4}", item1.ID, item1.Nombre, item1.Apellido, item1.Edad, item1.Direccion));

                                Console.WriteLine("Esta seguro que desea modificar (1=si,2=no)");
                                int seguro1_2 = 0;
                                seguro1_2 = int.Parse(Console.ReadLine());
                                if (seguro1_2 == 1)
                                {
                                    Persona newPersona = new Persona()
                                    {
                                        ID = item1.ID
                                    };
                                    Console.WriteLine("Ingrese los siguientes datos:");
                                    Console.Write("Nombre: ");
                                    newPersona.Nombre = Console.ReadLine();
                                    Console.Write("Apellido: ");
                                    newPersona.Apellido = Console.ReadLine();
                                    Console.Write("Edad: ");
                                    newPersona.Edad = int.Parse(Console.ReadLine());
                                    Console.Write("Dirección: ");
                                    newPersona.Direccion = Console.ReadLine();

                                    if (SingletonRepository.Instancia.Repository.ObjectOperation(newPersona, Facade.Operacion.Update))
                                    {
                                        Console.WriteLine("Actualizado");
                                    }
                                    else
                                    {
                                        Console.WriteLine("No se actualizo");
                                    }
                                }
                            }
                            else
                            {
                                Console.WriteLine("No existe ese usuario");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Ingrese un numero valido mayor o igual que 1");
                        }
                        break;

                    case 5:
                        Persona newPersona2 = new Persona();
                        Console.WriteLine("Ingrese los siguientes datos:");
                        Console.Write("Nombre: ");
                        newPersona2.Nombre = Console.ReadLine();
                        Console.Write("Apellido: ");
                        newPersona2.Apellido = Console.ReadLine();
                        Console.Write("Edad: ");
                        newPersona2.Edad = int.Parse(Console.ReadLine());
                        Console.Write("Dirección: ");
                        newPersona2.Direccion = Console.ReadLine();

                        if (SingletonRepository.Instancia.Repository.ObjectOperation(newPersona2, Facade.Operacion.Save))
                        {
                            Console.WriteLine("Guardado");
                        }
                        else
                        {
                            Console.WriteLine("No se guardó");
                        }
                        break;

                    case 6:
                        salir = true;
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("Ingrese un numero valido");
                }
                Console.ReadKey();
            } while (!salir);
            Console.WriteLine("Programa finalizado, hasta luego!");
            Console.ReadKey();
        }