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); }
public void getLista() { isRefresh = false; IRepository datos = new ProxyRepository(); var tlista = new ObservableCollection <Persona>(); datos.GetAll().ForEach(item => tlista.Add(item)); Lpersonas = tlista; }
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); }
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); } } }
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(); }