public static Whitelist?Find(int id) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); whitelist match = contraDB.whitelist.SingleOrDefault(v => v.id == id); return(match != null ? new Whitelist(match) : null); }
public static void Remove(Blacklist row) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); var match = contraDB.blacklist.SingleOrDefault(v => v.id == row.ID); contraDB.blacklist.Remove(match); contraDB.SaveChanges(); }
public static List <Whitelist> List() { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); return(contraDB.whitelist .OrderByDescending(v => v.id) .Select(v => new Whitelist(v)) .ToList()); }
public static List <Lease> FindByIP(IPAddress ip) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); return(contraDB.lease_details_by_ip .Where(v => Equals(v.ip, ip)) .Select(v => new Lease(v)) .ToList()); }
public static List <Lease> LeaseDetailsByMAC(TimeSpan since) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); // TODO: Don't use client evaluation return(contraDB.lease_details_by_mac .ToList() .Where(v => v.time !.Value > DateTime.Now.Subtract(since)) .Select(v => new Lease(v)) .ToList()); }
public static dynamic LeaseVendorCounts(int min) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); return(contraDB.lease_vendor_counts .Where(v => v.c >= min) .Select(v => new { vendor = v.vendor, c = v.c !.Value, percent = v.ratio !.Value })
public static void Submit(Blacklist newRule) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); contraDB.blacklist.Add(new blacklist { pattern = newRule.Pattern, expires = newRule.Expires, _class = 0, }); contraDB.SaveChanges(); }
public static IEnumerable <Whitelist> List(string clientIP) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); return(contraDB.whitelist .Where(v => v.ips != null) .Where(v => v.ips.Length == 1) .OrderByDescending(v => v.id) .ToList() .Where(v => v.ips[0].ToString() == clientIP) .Select(v => new Whitelist(v)) .ToList()); }
public static IEnumerable <IOption <string> > Options() { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); if (_cache == null) { _cache = contraDB.oui_vendors // .Take(100) .Select(v => new Option <string> { ID = v.vendor, OptionText = v.vendor, SelectedText = v.vendor }).ToList(); } return(_cache); }
public static bool Update(Config config) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); Config?current = Read(); if (current != null) { if (current.ToString() == config.ToString()) { Common.Logger.Info( "The latest config in the database matches the new config passed to ConfigController.Update(); not storing new config.", new Fields { { "Config", config.ToString() } } ); return(true); } } Common.Logger.Info( "Storing new config in database.", new Fields { { "Config", config.ToString() } } ); contraDB.config.Add(new config { id = 0, sources = config.Sources.ToArray(), search_domains = config.SearchDomains.ToArray(), domain_needed = config.DomainNeeded, spoofed_a = config.SpoofedA, spoofed_aaaa = config.SpoofedAAAA, spoofed_cname = config.SpoofedCNAME, spoofed_default = config.SpoofedDefault }); contraDB.SaveChanges(); return(true); }
public static void Submit(Whitelist whitelist) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); whitelist dbWhitelist = new whitelist { pattern = whitelist.Pattern, expires = whitelist.Expires, ips = whitelist.IPs?.ToArray(), subnets = whitelist.Subnets? .Select(v => new ValueTuple <IPAddress, int>(v.Network, v.Cidr)) .ToArray(), hostnames = whitelist.Hostnames?.ToArray(), macs = whitelist.MACs?.ToArray(), vendors = whitelist.Vendors?.ToArray() }; contraDB.Add(dbWhitelist); contraDB.SaveChanges(); whitelist.ID = dbWhitelist.id; }
public static Config?Read() { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); if (!contraDB.config.Any()) { return(null); } config config = contraDB.config.OrderByDescending(v => v.id).Take(1).Single(); return(new Config { ID = config.id, Sources = config.sources.ToList(), SearchDomains = config.search_domains.ToList(), DomainNeeded = config.domain_needed ?? false, SpoofedA = config.spoofed_a, SpoofedAAAA = config.spoofed_aaaa, SpoofedCNAME = config.spoofed_cname, SpoofedDefault = config.spoofed_default }); }
public static void Update(Whitelist whitelist) { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); whitelist?match = contraDB.whitelist.SingleOrDefault(v => v.id == whitelist.ID); if (match == null) { throw new ArgumentException($"Could not find whitelist rule with ID '{whitelist.ID}'"); } match.pattern = whitelist.Pattern; match.expires = whitelist.Expires; match.ips = whitelist.IPs?.ToArray(); match.subnets = whitelist.Subnets? .Select(v => new ValueTuple <IPAddress, int>(v.Network, v.Cidr)) .ToArray(); match.hostnames = whitelist.Hostnames?.ToArray(); match.macs = whitelist.MACs?.ToArray(); match.vendors = whitelist.Vendors?.ToArray(); contraDB.Update(match); contraDB.SaveChanges(); }
public static IEnumerable <Blacklist> List() { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); return(contraDB.blacklist.Select(v => new Blacklist(v)).ToList()); }
public static int BlacklistRuleCount() { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); return(contraDB.blacklist.Count()); }
public static int OUICount() { using ContraCoreDBContext contraDB = new ContraCoreDBContext(); return(contraDB.oui.Count()); }