Exemple #1
0
        public static void UpdateKontakt(string kt_uid, Genderize genderData)
        {
            string sql = @"
UPDATE T_AP_Kontakte 
	SET KT_KG_UID = @kg_uid  
WHERE KT_UID = @kt_uid
;";


            using (System.Data.IDbCommand cmd = SQL.CreateCommand(sql))
            {
                string kg_uid = null;

                if (genderData.IsMale)
                {
                    kg_uid = "E32B51CF-3F85-4257-BB9C-09546D27DD7B";
                }
                else if (genderData.IsFemale)
                {
                    kg_uid = "5BF5A3AF-EE1F-4FE7-8212-D9ED655E86ED";
                }
                else
                {
                    System.Console.WriteLine(genderData);
                }

                SQL.AddParameter(cmd, "kg_uid", kg_uid);
                SQL.AddParameter(cmd, "kt_uid", kt_uid);

                SQL.ExecuteNonQuery(cmd);
            } // End Using cmd
        }     // End Sub UpdateKontakt
Exemple #2
0
        }     // End Sub UpdateKontakt

        // http://localhost:10004/Kamikatze/ajax/MailService.ashx
        // https://gender-api.com/en/account/sign-up/complete
        // RedmineMailService.MailGender.GetGenders();
        public static void GetGenders()
        {
            string sql     = "SELECT KT_UID, KT_Vorname FROM T_AP_Kontakte WHERE KT_KG_UID IS NULL AND KT_Vorname <> '' ORDER BY KT_Vorname DESC";
            string baseUrl = "https://api.genderize.io/?name=";

            string dataDir = System.IO.Path.GetDirectoryName(typeof(MailGender).Assembly.Location);

            dataDir = System.IO.Path.Combine(dataDir, "..", "..", "..", "Data");
            dataDir = System.IO.Path.GetFullPath(dataDir);

            if ("RZ".Equals(System.Environment.UserDomainName, System.StringComparison.OrdinalIgnoreCase))
            {
                dataDir = @"C:\Users\stefan.steiger.RZ\Desktop\Data\Data";
            }


            using (System.Data.DataTable dt = SQL.GetDataTable(sql))
            {
                // public WebProxy(string Host, int Port);
                //System.Net.WebProxy wp = new System.Net.WebProxy("http://193.109.47.193", 41083);
                System.Net.WebProxy wp = new System.Net.WebProxy("186.178.10.158", 8888);
                // wp.UseDefaultCredentials = true;
                // wp.UseDefaultCredentials = false;
                // wp.Credentials = new System.Net.NetworkCredential("usernameHere", "pa****rdHere");  //These can be replaced by user input
                wp.BypassProxyOnLocal = false;  //still use the proxy for local addresses

                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    string uid  = System.Convert.ToString(dr["KT_UID"]);
                    string name = System.Convert.ToString(dr["KT_Vorname"]);

                    if (string.IsNullOrEmpty(name) || name.Trim() == string.Empty)
                    {
                        continue;
                    }

                    int multiname1 = name.IndexOf(" ");
                    int multiname2 = name.IndexOf("-");

                    if (multiname1 != -1 || multiname2 != -1)
                    {
                        try
                        {
                            string[] names = name.Split(' ', '-');
                            name = names[names.Length - 1];
                            // name = names[0];
                            if (string.IsNullOrEmpty(name) || name.Trim() == string.Empty)
                            {
                                continue;
                            }
                        }
                        catch (System.Exception ex)
                        {
                            System.Console.WriteLine(ex.Message);
                            continue;
                        }
                    }

                    string url = baseUrl + System.Uri.EscapeUriString(name);



                    string fileName = System.IO.Path.Combine(dataDir, name + ".txt");

                    if (System.IO.File.Exists(fileName))
                    {
                        string    json       = System.IO.File.ReadAllText(fileName, System.Text.Encoding.UTF8);
                        Genderize genderData = Newtonsoft.Json.JsonConvert.DeserializeObject <Genderize>(json);
                        UpdateKontakt(uid, genderData);
                        System.Console.WriteLine(genderData.IsMale);
                        continue;
                    }     // End if (System.IO.File.Exists(fileName))

                    using (System.Net.WebClient wc = new System.Net.WebClient())
                    {
                        // wc.Proxy = wp;

                        string json = wc.DownloadString(url);

                        System.IO.File.WriteAllText(fileName, json, System.Text.Encoding.UTF8);
                        Genderize genderData = Newtonsoft.Json.JsonConvert.DeserializeObject <Genderize>(json);
                        UpdateKontakt(uid, genderData);
                        System.Console.WriteLine(genderData.IsMale);
                        System.Threading.Thread.Sleep(2000);
                    } // End Using wc
                }     // End Using dr
            }         // End using dt
        }             // End Sub GetGenders