public async Task <bool> SendUserMessage(Advert advert, string message, string email)
        {
            Debug.Write("SendUserMessage");
            if (advert == null || message?.Length == 0 || email.Length == 0)
            {
                Debug.Write("SendUserMessage: advert == null && message?.Length == 0");
                return(false);
            }

            if (advert.EmailToken.Length != 10)
            {
                Debug.Write("SendUserMessage: advert.EmailToken.Length != 10");
                return(false);
            }

            string Url = RZESZOWIAK_BASE_URL + $"wyslij-zapytanie-ze-strony/{advert.AdverIDinRzeszowiak}/";

            Debug.Write(Url);
            var postData = new Dictionary <string, string>
            {
                ["token"]                 = advert.EmailToken,
                ["MAX_FILE_SIZE"]         = "4000000",
                ["emailFK"]               = email,
                ["wiadomoscFK"]           = message,
                ["zgodaFormularzKontakt"] = "1",
            };

            var HttpResult = await GetWeb.PostWebPage(Url, postData, advert.URLPath, null);

            if (HttpResult.IndexOf("{\"status\":\"ok\", \"opis\":\"Wiadomość została wysłana.\"}", 0, true) == -1)
            {
                Debug.Write("SendUserMessage => Confirm message not recive");
                return(false);
            }
            return(true);
        }
Ejemplo n.º 2
0
        public async Task <bool> DownloadImage(Advert advert, string ssid, int advertID, string advertURL, Cookie PHPSESSIDPcookie)
        {
            if (advert == null)
            {
                Debug.Write(this.GetType().Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name +
                            " => advert == null");
                return(false);
            }

            if ((advert.PhoneImageByteArray?.Length ?? 0) > 0)
            {
                Debug.Write(this.GetType().Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name +
                            " => advert.PhoneImageByteArray exists");
                ImageData = ImageSource.FromStream(() => new MemoryStream(advert.PhoneImageByteArray));
                OnDownloadFinish?.Invoke(this, new EventArgs());
                return(true);
            }

            if (ssid == null || advertID == 0 || advertURL.Length == 0 || PHPSESSIDPcookie == null)
            {
                Debug.Write(this.GetType().Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name +
                            " => ssid == null || adrverID == 0 || advertURL.Length == 0");
                return(false);
            }

            _session = new Guid().ToString();
            var localSession = _session;

            var inputData = new Dictionary <string, string>()
            {
                { "oid", advertID.ToString() },
                { "ssid", ssid },
            };

            var BodyResult = await GetWeb.PostWebPage("http://www.rzeszowiak.pl/telefon/", inputData, advertURL, new CookieCollection()
            {
                PHPSESSIDPcookie
            });

            if (BodyResult.Length == 0)
            {
                Debug.Write("RzeszowiakImageContainer => DownloadImage => BodyResult.Length == 0");
                return(false);
            }

            Base64ToImage(BodyResult.ToString().Replace("data:image/jpeg;base64,", ""),
                          out ImageSource imageData, out byte[] byteArray);
            ImageData = imageData;
            advert.PhoneImageByteArray = byteArray;
            BodyResult.Clear();

            if (localSession == _session)
            {
                OnDownloadFinish?.Invoke(this, new EventArgs());
            }
            else
            {
                Debug.Write("RzeszowiakImageContainer => DownloadImage() => localSession != _session");
            }
            return(true);
        }