Esempio n. 1
0
        private object GetStub <T>(List <T> items)
        {
            object data = null;

            if (typeof(T).Equals(typeof(Configuration)))
            {
                data = new Configurations(items as List <Configuration>);
            }
            else if (typeof(T).Equals(typeof(Category)))
            {
                data = new Categories(items as List <Category>);
            }
            else if (typeof(T).Equals(typeof(String)))
            {
                data = new Blacklists(items as List <string>);
            }
            else if (typeof(T).Equals(typeof(Query)))
            {
                data = new Queries(items as List <Query>);
            }
            else if (typeof(T).Equals(typeof(UserEntity)))
            {
                data = new UserEntities(items as List <UserEntity>);
            }
            else if (typeof(T).Equals(typeof(SentimentPhrase)))
            {
                data = new SentimentPhrases(items as List <SentimentPhrase>);
            }
            else
            {
                throw new ArgumentOutOfRangeException();
            }

            return(data);
        }
Esempio n. 2
0
        public List <string> GetBlacklist(string configId = null)
        {
            AuthResponse  authResponse = this.Get <string>(configId);
            List <string> obj          = new List <string>();

            switch (_format)
            {
            case "json":
            {
                List <string> result = this.ProcessGetResponse <List <string> >(authResponse);
                if (result != null)
                {
                    obj = result;
                }
            }
            break;

            case "xml":
            {
                Blacklists result = this.ProcessGetResponse <Blacklists>(authResponse);
                if (result != null)
                {
                    obj = result.Data;
                }
            }
            break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(obj);
        }
Esempio n. 3
0
        public List <MacAddressDTOResponse> GetMacAddressInfo()
        {
            List <MacAddressDTOResponse> macAddresses = new List <MacAddressDTOResponse>();

            try
            {
                SelectQuery query = new SelectQuery(
                    @"select MACAddress 
					  from Win32_NetworkAdapter 
					  where MACAddress<>null"
                    );
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

                foreach (ManagementObject obj in searcher.Get())
                {
                    string mac = GetValueAsString(obj, "MACAddress");
                    if (Blacklists.IsMacInBlacklist(mac))
                    {
                        continue;
                    }

                    MacAddressDTOResponse macAddress = new MacAddressDTOResponse();
                    macAddress.Mac = mac;

                    macAddresses.Add(macAddress);
                }
            }
            catch (ManagementException e)
            {
                Logger.Instance.LogError(e.ToString());
            }

            return(macAddresses);
        }
Esempio n. 4
0
        public MessageHandler(TelegramBotClient client, BotMenu botMenu, SettingsProcessor settingsProcessor, ILanguageDetector languageLanguageDetector,
                              ITranslator translator, IMetrics metrics, IOptions <Blacklists> blacklistsOptions, MessageValidator validator, UsersDatabaseService users, GroupsBlacklistService groupsBlacklist)
        {
            _client            = client;
            _botMenu           = botMenu;
            _settingsProcessor = settingsProcessor;
            _translator        = translator;
            _metrics           = metrics;
            _languageDetector  = languageLanguageDetector;
            _blacklist         = blacklistsOptions.Value;
            _validator         = validator;
            _users             = users;
            _groupsBlacklist   = groupsBlacklist;

            _botUsername = _client.GetMeAsync().Result.Username;
        }
Esempio n. 5
0
        private List<string> RequestBlacklist(string url)
        {
            AuthResponse authResponse = this.RunRequest(QueryMethod.GET, url, null);
            List<string> obj = new List<string>();

            switch (_format)
            {
                case "json":
                    {
                        List<string> result = ProcessGetResponse<List<string>>(authResponse);
                        if (result != null)
                        {
                            foreach (string item in result)
                            {
                                obj.Add(item);
                            }
                        }
                    }
                    break;
                case "xml":
                    {
                        Blacklists result = ProcessGetResponse<Blacklists>(authResponse);
                        if (result != null)
                        {
                            foreach (string item in result.Data)
                            {
                                obj.Add(item);
                            }
                        }
                    }
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }

            return obj;
        }
Esempio n. 6
0
 public MessageValidator(IOptionsSnapshot <Blacklists> blacklistsOptions, IOptions <TgTranslatorOptions> tgTranslatorOptions)
 {
     _blacklist = blacklistsOptions.Value;
     _charLimit = tgTranslatorOptions.Value.CharLimit;
 }
Esempio n. 7
0
        public List <EthernetDTOResponse> GetEthernetInfo()
        {
            List <EthernetDTOResponse> ethetnets = new List <EthernetDTOResponse>();

            try
            {
                SelectQuery query = new SelectQuery(
                    @"select Name,  MACAddress, Speed, Index 
					  from Win32_NetworkAdapter 
					  where MACAddress<>null"
                    );
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

                foreach (ManagementObject obj in searcher.Get())
                {
                    string mac = GetValueAsString(obj, "MACAddress");
                    if (Blacklists.IsMacInBlacklist(mac))
                    {
                        continue;
                    }

                    EthernetDTOResponse eth = new EthernetDTOResponse();
                    eth.Label = GetValueAsString(obj, "Name");
                    eth.Mac   = GetValueAsString(obj, "MACAddress");
                    eth.Speed = GetValueAsString(obj, "Speed");

                    try
                    {
                        SelectQuery queryAdapterConf = new SelectQuery(
                            @"select IPAddress,  IPSubnet 
							  from Win32_NetworkAdapterConfiguration 
							  where Index='"                             + GetValueAsString(obj, "Index") + "' and IPEnabled=True"
                            );
                        ManagementObjectSearcher adapterConfSearcher = new ManagementObjectSearcher(queryAdapterConf);

                        foreach (ManagementObject adapterConf in adapterConfSearcher.Get())
                        {
                            try
                            {
                                eth.IPAddress = ((string[])adapterConf["IPAddress"])[0];
                                eth.IPSubnet  = ((string[])adapterConf["IPSubnet"])[0];

                                ethetnets.Add(eth);
                            }
                            catch (ManagementException e)
                            {
                                Logger.Instance.LogError(e.ToString());
                            }
                            catch (Exception e)
                            {
                                Logger.Instance.LogError(e.ToString());
                            }

                            break;
                        }
                    }
                    catch (ManagementException e)
                    {
                        Logger.Instance.LogError(e.ToString());
                    }
                }
            }
            catch (ManagementException e)
            {
                Logger.Instance.LogError(e.ToString());
            }

            return(ethetnets);
        }
Esempio n. 8
0
        public List <StorageDTOResponse> GetStorageInfo()
        {
            List <StorageDTOResponse> storage = new List <StorageDTOResponse>();

            try
            {
                // In Windows <= Windows Server 2003 Win32_DiskDrive doesn't have SerialNumber field.
                string query;
                if (osVersionNumber < 6)
                {
                    query = "select Caption, DeviceID, Model from Win32_DiskDrive";
                }
                else
                {
                    query = "select Caption, DeviceID, SerialNumber, Model from Win32_DiskDrive";
                }

                SelectQuery diskDrivesQuery = new SelectQuery(query);
                ManagementObjectSearcher diskDrivesSearcher = new ManagementObjectSearcher(diskDrivesQuery);

                foreach (ManagementObject diskDrive in diskDrivesSearcher.Get())
                {
                    string sn = "";
                    if (osVersionNumber < 6)
                    {
                        // In Windows <= Windows Server 2003 we can find SerialNumber in Win32_PhysicalMedia.
                        SelectQuery snQuery = new SelectQuery("select SerialNumber from Win32_PhysicalMedia where tag='" + GetValueAsString(diskDrive, "DeviceID").Replace(@"\", @"\\") + "'");
                        ManagementObjectSearcher snSearcher = new ManagementObjectSearcher(snQuery);

                        foreach (ManagementObject snObj in snSearcher.Get())
                        {
                            sn = GetValueAsString(snObj, "SerialNumber");
                            break;
                        }
                    }
                    else
                    {
                        sn = GetValueAsString(diskDrive, "SerialNumber");
                    }

                    if (sn.Length == 0 ||
                        sn.StartsWith("QM000") ||
                        Blacklists.IsDiscVendorInBlacklist(GetValueAsString(diskDrive, "Caption").ToLower()) ||
                        Blacklists.IsDiskProductInBlacklist(GetValueAsString(diskDrive, "Model").ToLower())
                        )
                    {
                        continue;
                    }

                    RelatedObjectQuery diskPartitionsQuery = new RelatedObjectQuery(
                        "associators of {Win32_DiskDrive.DeviceID='" +
                        GetValueAsString(diskDrive, "DeviceID") +
                        "'} where AssocClass=Win32_DiskDriveToDiskPartition"
                        );
                    ManagementObjectSearcher diskPartitionsSearcher = new ManagementObjectSearcher(diskPartitionsQuery);

                    foreach (ManagementObject diskPartition in diskPartitionsSearcher.Get())
                    {
                        RelatedObjectQuery logicalDisksQuery = new RelatedObjectQuery(
                            "associators of {Win32_DiskPartition.DeviceID='" +
                            GetValueAsString(diskPartition, "DeviceID") +
                            "'} where AssocClass=Win32_LogicalDiskToPartition"
                            );
                        ManagementObjectSearcher logicalDisksSearcher = new ManagementObjectSearcher(logicalDisksQuery);

                        foreach (ManagementObject logicalDisk in logicalDisksSearcher.Get())
                        {
                            StorageDTOResponse disk = new StorageDTOResponse();
                            disk.Label      = GetValueAsString(diskDrive, "Caption");
                            disk.MountPoint = GetValueAsString(diskDrive, "DeviceID");
                            try
                            {
                                disk.Size = ConvertSizeToMiB(Int64.Parse(logicalDisk["Size"].ToString()), SizeUnits.B).ToString();
                            }
                            catch (Exception e)
                            {
                                Logger.Instance.LogError(e.ToString());
                            }
                            disk.Sn = sn;

                            storage.Add(disk);
                        }
                    }
                }
            }
            catch (ManagementException e)
            {
                Logger.Instance.LogError(e.ToString());
            }

            return(storage);
        }
Esempio n. 9
0
        public List <IPAddressDTOResponse> GetIPAddressInfo()
        {
            List <IPAddressDTOResponse> ipAddresses = new List <IPAddressDTOResponse>();

            try
            {
                SelectQuery query = new SelectQuery(
                    @"select MACAddress, Index 
					  from Win32_NetworkAdapter 
					  where MACAddress<>null"
                    );
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

                foreach (ManagementObject obj in searcher.Get())
                {
                    string mac = GetValueAsString(obj, "MACAddress");
                    if (Blacklists.IsMacInBlacklist(mac))
                    {
                        continue;
                    }

                    try
                    {
                        SelectQuery queryAdapterConf = new SelectQuery(
                            @"select IPAddress 
							  from Win32_NetworkAdapterConfiguration 
							  where Index='"                             + GetValueAsString(obj, "Index") + "' and IPEnabled=True"
                            );
                        ManagementObjectSearcher adapterConfSearcher = new ManagementObjectSearcher(queryAdapterConf);

                        foreach (ManagementObject adapterConf in adapterConfSearcher.Get())
                        {
                            try
                            {
                                IPAddressDTOResponse ipAddress = new IPAddressDTOResponse();
                                ipAddress.IPAddress = ((string[])adapterConf["IPAddress"])[0];

                                ipAddresses.Add(ipAddress);
                            }
                            catch (ManagementException e)
                            {
                                Logger.Instance.LogError(e.ToString());
                            }
                            catch (Exception e)
                            {
                                Logger.Instance.LogError(e.ToString());
                            }

                            break;
                        }
                    }
                    catch (ManagementException e)
                    {
                        Logger.Instance.LogError(e.ToString());
                    }
                }
            }
            catch (ManagementException e)
            {
                Logger.Instance.LogError(e.ToString());
            }

            return(ipAddresses);
        }