Beispiel #1
0
        //this Function gets all profile and data from the user contact list and saved in a cash system

        void GetProfileWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                if (GetProfileWorker.CancellationPending == true)
                {
                    e.Cancel = true;
                }
                else
                {
                    string aa            = File.ReadAllText(Settings.UserID);
                    string bb            = File.ReadAllText(Settings.SessionID);
                    string cc            = File.ReadAllText(Settings.UserID);
                    string TextID        = aa.Replace("\r\n", "");
                    string sessionIDText = bb.Replace("\r\n", "");
                    string userprofile   = bb.Replace("\r\n", "");

                    using (var client = new WebClient())
                    {
                        var values = new NameValueCollection();
                        values["user_id"]         = TextID;
                        values["user_profile_id"] = userprofile;
                        values["s"] = sessionIDText;

                        var    ChatusersListresponse       = client.UploadValues(Settings.WebsiteUrl + "/app_api.php?type=get_users_list", values);
                        var    ChatusersListresponseString = Encoding.Default.GetString(ChatusersListresponse);
                        var    dictChatusersList           = new JavaScriptSerializer().Deserialize <Dictionary <string, object> >(ChatusersListresponseString);
                        string ApiStatus = dictChatusersList["api_status"].ToString();

                        if (ApiStatus == "200")
                        {
                            var    s            = new System.Web.Script.Serialization.JavaScriptSerializer();
                            var    gg           = dictChatusersList["users"];
                            var    Profiles     = JObject.Parse(ChatusersListresponseString).SelectToken("users").ToString();
                            Object obj          = s.DeserializeObject(Profiles);
                            JArray Profileusers = JArray.Parse(Profiles);

                            string PostProfiles = "";

                            foreach (var ProfileUser in Profileusers)
                            {
                                JObject ProfileUserdata = JObject.FromObject(ProfileUser);
                                var     Profile_User_ID = ProfileUserdata["user_id"].ToString();
                                PostProfiles += Profile_User_ID + ",";
                            }

                            //Result of all profiles and friends of the user Account splited by (,)
                            string result = PostProfiles;

                            values["user_id"]  = TextID;
                            values["usersIDs"] = result;
                            values["s"]        = sessionIDText;
                            var    ProfileListPost = client.UploadValues(Settings.WebsiteUrl + "app_api.php?type=get_multi_users", values);
                            var    ProfileListPostresponseString = Encoding.Default.GetString(ProfileListPost);
                            var    dictProfileList = new JavaScriptSerializer().Deserialize <Dictionary <string, object> >(ProfileListPostresponseString);
                            string ApiStatus2      = dictProfileList["api_status"].ToString();

                            if (ApiStatus2 == "200")
                            {
                                gg           = dictProfileList["users"];
                                Profiles     = JObject.Parse(ProfileListPostresponseString).SelectToken("users").ToString();
                                obj          = s.DeserializeObject(Profiles);
                                Profileusers = JArray.Parse(Profiles);
                                foreach (var ProfileUser in Profileusers)
                                {
                                    JObject ProfileUserdata = JObject.FromObject(ProfileUser);

                                    var Profile_User_ID = ProfileUserdata["user_id"].ToString();
                                    var path            = Settings.FolderDestination + Settings.SiteName + @"\Data\" + Profile_User_ID + @"\";
                                    var path2           = Settings.FolderDestination + Settings.SiteName + @"\Data\" + Profile_User_ID + @"\" + Profile_User_ID + ".json";
                                    if (CashSystem(path2) == "0")
                                    {
                                        DirectoryInfo di   = Directory.CreateDirectory(path);
                                        string        Json = ProfileUser.ToString();
                                        System.IO.File.WriteAllText(path2, Json);
                                    }
                                    else
                                    {
                                        string Json = ProfileUser.ToString();
                                        System.IO.File.WriteAllText(path2, Json);
                                    }
                                    var    Profile_Cover   = ProfileUserdata["cover"].ToString();
                                    string lastItemOfSplit = Profile_Cover.Split('/').Last();
                                    var    Coverpath       = Settings.FolderDestination + Settings.SiteName + @"\ImageCash\" + Profile_User_ID + @"\";
                                    var    Coverpath2      = Coverpath + lastItemOfSplit;
                                    if (CashSystem(Coverpath2) == "0")
                                    {
                                        if (!Directory.Exists(Coverpath))
                                        {
                                            DirectoryInfo di = Directory.CreateDirectory(Coverpath);
                                        }

                                        client.DownloadFile(Profile_Cover, Coverpath2);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch { }
        }