Ejemplo n.º 1
0
        public static bool CheckToken(string userid, string token)
        {
            try
            {
                if (InternetController.InternetCheck())
                {
                    // request host
                    var client = new RestClient("http://api.kor.onl/");
                    // request relative url
                    var request = new RestRequest("apps/kor/login.php", Method.POST);

                    // add important parameters
                    request.AddOrUpdateParameter("type", "json");
                    request.AddOrUpdateParameter("request", "token");
                    request.AddOrUpdateParameter("token", token);
                    request.AddOrUpdateParameter("primary_credential", "1");


                    // get query result
                    var response = client.Execute(request);

                    Debug.WriteLine(response.Content);

                    if (!string.IsNullOrEmpty(response.Content))
                    {
                        var settings = new JsonSerializerSettings
                        {
                            NullValueHandling          = NullValueHandling.Ignore,
                            MissingMemberHandling      = MissingMemberHandling.Ignore,
                            PreserveReferencesHandling = PreserveReferencesHandling.Objects
                        };

                        var tokenCheckJsonObj = JsonConvert.DeserializeObject <RootobjectforToken>(response.Content, settings);

                        if (tokenCheckJsonObj.code == 1)
                        {
                            return(tokenCheckJsonObj.result == "OK" ? true : false);
                        }
                        else
                        {
                            Debug.WriteLine(response.Content);
                        }
                    }
                }
            }
            catch (Exception exp)
            {
                Debug.WriteLine(exp.ToString());
                // save error record
            }

            return(false);
        }
Ejemplo n.º 2
0
        private void SplashScreen_OnLoaded(object sender, RoutedEventArgs e)
        {
            var userid = User.GetUserId();

            Hide();

            if (userid == string.Empty)
            {
                var ln = new Login();
                ln.Show();
                return;
            }

            if (ServerController.ServerControl())
            {
                if (BasicRequests.CheckToken(userid, User.GetUserToken(userid)))
                {
                    var wm = new Base();
                    wm.Show();
                }
                else
                {
                    if (InternetController.InternetCheck())
                    {
                        var ln = new Login();
                        ln.Show();
                    }
                    else
                    {
                        var wm = new Base();
                        wm.Show();
                    }
                }
            }
            else
            {
                var wm = new Base();
                wm.Show();
            }

            Close();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Send request for feedback
        /// </summary>
        /// <returns></returns>
        public bool SendFeedback()
        {
            if (InternetController.InternetCheck())
            {
                FeedbackResponse = new ApiResponse();

                #region API Request

                // request host
                var server = new RestClient("http://api.kor.onl/");
                // request relative url
                var request = new RestRequest("apps/updater/1.0/", Method.POST);

                // add important parameters
                request.AddOrUpdateParameter("request", "feedback");
                request.AddOrUpdateParameter("type", OutputType);
                request.AddOrUpdateParameter("updateid", UpdateId);
                request.AddOrUpdateParameter("api_key", API_KEY);
                request.AddOrUpdateParameter("api_secret", API_SECRET);
                request.AddOrUpdateParameter("comment", Comment);
                request.AddOrUpdateParameter("point", Point);
                request.AddOrUpdateParameter("client", Client.Username);
                request.AddOrUpdateParameter("machine", Client.CPUId);

                // get query result
                var response = server.Execute(request);

                // get response status code
                FeedbackResponse.ResponseStatus = response.StatusCode;
                FeedbackResponse.ResponseData   = response.Content;

                #endregion

                #region JSON Parsing

                var settings = new JsonSerializerSettings
                {
                    NullValueHandling          = NullValueHandling.Ignore,
                    MissingMemberHandling      = MissingMemberHandling.Ignore,
                    PreserveReferencesHandling = PreserveReferencesHandling.Objects,
                };
                RespJsonObj = JsonConvert.DeserializeObject <RootobjectforFeedback>(response.Content, settings);

                #endregion

                #region Updates JSON Parsing

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    // if API code is 1
                    if (RespJsonObj.code == 1)
                    {
                        if (RespJsonObj.result == "OK")
                        {
                            return(true);
                        }
                    }

                    FeedbackResponse.ResponseResultString = RespJsonObj.result;
                }
                else
                {
                    // error message
                    FeedbackResponse.ResponseAPIErrorMessage = (string)RespJsonObj.messages.error_message ?? "";
                    // warning message
                    FeedbackResponse.ResponseAPIWarningMessage = (string)RespJsonObj.messages.warning_message ?? "";
                }

                #endregion
            }

            return(false);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Check and parse updater json response data
        /// </summary>
        /// <returns></returns>
        public object CheckUpdate()
        {
            if (InternetController.InternetCheck())
            {
                UpdaterResponse = new ApiResponse();

                #region API Request

                // request host
                var server = new RestClient("http://api.kor.onl/");
                // request relative url
                var request = new RestRequest("apps/updater/1.0/", Method.POST);

                // add important parameters
                request.AddOrUpdateParameter("request", "updatecheck");
                request.AddOrUpdateParameter("type", OutputType);
                request.AddOrUpdateParameter("version", AppVersion);
                request.AddOrUpdateParameter("api_key", API_KEY);
                request.AddOrUpdateParameter("api_secret", API_SECRET);
                request.AddOrUpdateParameter("multiresult", MultiResult);

                // get query result
                var response = server.Execute(request);

                // get response status code
                UpdaterResponse.ResponseStatus = response.StatusCode;
                UpdaterResponse.ResponseData   = response.Content;

                #endregion

                #region JSON Parsing

                var settings = new JsonSerializerSettings
                {
                    NullValueHandling          = NullValueHandling.Ignore,
                    MissingMemberHandling      = MissingMemberHandling.Ignore,
                    PreserveReferencesHandling = PreserveReferencesHandling.Objects,
                };

                RespJsonObj = JsonConvert.DeserializeObject <RootobjectforUpdater>(response.Content, settings);

                #endregion

                #region Updates JSON Parsing

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    // if API code is 1
                    if (RespJsonObj.code == 1)
                    {
                        // possible there is/are update/s
                        if (RespJsonObj.result is Array && RespJsonObj.result != null)
                        {
                            // create new updates list
                            Updates = new List <Update>();

                            // get updates
                            foreach (var update in RespJsonObj.result)
                            {
                                // parse update
                                var newupdate = new Update()
                                {
                                    AppId           = update.appid,
                                    AppVersion      = update.app_version,
                                    UpdateId        = update.updateid,
                                    ClientVersion   = update.client_version,
                                    ReasonCode      = update.reason_code,
                                    ReasonTitle     = update.reason_title,
                                    AddedDate       = update.added_date,
                                    MessageTitle    = update.message_title,
                                    MessageContent  = update.message_content,
                                    DownloadUrl     = update.download_url,
                                    AddedFeatures   = update.added_features,
                                    RemovedFeatures = update.removed_features
                                };

                                // add to list
                                Updates.Add(newupdate);
                            }

                            // and then return true
                            return(Updates.Count > 0 ? true : false);
                        }
                    }
                }
                else
                {
                    // error message
                    UpdaterResponse.ResponseAPIErrorMessage = (string)RespJsonObj.messages.error_message;
                    // warning message
                    UpdaterResponse.ResponseAPIWarningMessage = (string)RespJsonObj.messages.warning_message;
                }

                #endregion

                return(false);
            }

            return(null);
        }
Ejemplo n.º 5
0
        public async Task LoginT(object parameter)
        {
            try
            {
                Status = "";

                var password = parameter as string;

                var regex = new Regex(@"^(?=.{2,}[A-Z])(?=.{2,}[a-z])(?=.{2,}[0-9])(?=.{2,}[\w\s]).{8,128}$");
                var match = regex.Match(password ?? "?");
                if (string.IsNullOrEmpty(password))
                {
                    Status = "Şifre boş olmamalıdır.";
                    return;
                }
                if (!match.Success)
                {
                    Status = "Şifre şu kurala uymalıdır: [A-Z][a-z][0-9][Özel Karakterler]{8,128} (Her birinden en az 2 tane olmalı.)";
                    return;
                }

                PasswordLoaderVisibility = Visibility.Visible;

                if (InternetController.InternetCheck())
                {
                    // request host
                    var client = new RestClient("http://api.kor.onl/");
                    // request relative url
                    var request = new RestRequest("apps/kor/login.php", Method.POST);

                    // add important parameters
                    request.AddOrUpdateParameter("type", "json");
                    request.AddOrUpdateParameter("request", "login");
                    request.AddOrUpdateParameter("primary_credential", Userid);
                    request.AddOrUpdateParameter("password", password);

                    password = null;


                    // get query result
                    var response = client.Execute(request);

                    ResponseStatus = response.StatusCode;

                    if (!string.IsNullOrEmpty(response.Content))
                    {
                        Debug.WriteLine(response.Content);

                        var settings = new JsonSerializerSettings
                        {
                            NullValueHandling          = NullValueHandling.Ignore,
                            MissingMemberHandling      = MissingMemberHandling.Ignore,
                            PreserveReferencesHandling = PreserveReferencesHandling.Objects
                        };

                        LoginJsonObj = JsonConvert.DeserializeObject <RootobjectforLogin>(response.Content, settings);

                        if (LoginJsonObj.code == 1 && LoginJsonObj.result.token != null)
                        {
                            if (User.SaveUserToken(LoginJsonObj.result.userid, LoginJsonObj.result.username, LoginJsonObj.result.token, LoginJsonObj.result.expire, LoginJsonObj.result.user_image))
                            {
                                await Task.Delay(1000);

                                ShowHideLoginInputs(false, false);

                                Close();
                            }
                            else
                            {
                                Status = "Login failed, could not save user credentials or update. Retry to login.";
                            }
                        }
                        else
                        {
                            if (LoginJsonObj.messages.error)
                            {
                                Status = LoginJsonObj.messages.error_message;
                            }
                            else if (LoginJsonObj.messages.warning)
                            {
                                Status = LoginJsonObj.messages.warning_message;
                            }
                        }
                    }
                    else
                    {
                        Status = "Sunucu yanıt verdi ancak veri döndürmedi. İstek eksik veya sunucuda bir sorun var. Tekrar deneyin.";
                    }
                }
                else
                {
                    Status = "İnternet bağlantısı yok, sunucuya bağlanılamadı.";
                }

                await Task.Delay(1000);

                PasswordLoaderVisibility = Visibility.Hidden;
            }
            catch (Exception exp)
            {
                PasswordLoaderVisibility = Visibility.Hidden;

                Debug.WriteLine(exp.ToString());
                // save error record
            }
        }
Ejemplo n.º 6
0
        public async Task CheckUsername(object parameter)
        {
            try
            {
                Status = "";

                var username = parameter as string;
                if (string.IsNullOrEmpty(username))
                {
                    Status = "Kullanıcı Adı boş olmamalıdır.";
                    return;
                }

                var regex = new Regex(@"^[0-9A-Za-z]{4,24}$");
                var match = regex.Match(username ?? "?");
                if (!match.Success)
                {
                    Status = "Kullanıcı Adı şu kurala uymalıdır: [0-9A-Za-z]{4,24}";
                    return;
                }

                UsernameLoaderVisibility = Visibility.Visible;

                if (InternetController.InternetCheck())
                {
                    // request host
                    var client = new RestClient("http://api.kor.onl/");
                    // request relative url
                    var request = new RestRequest("apps/kor/login.php", Method.POST);

                    // add important parameters
                    request.AddOrUpdateParameter("type", "json");
                    request.AddOrUpdateParameter("request", "primary_credential");
                    request.AddOrUpdateParameter("primary_credential", (string)parameter);

                    // get query result
                    var response = client.Execute(request);

                    ResponseStatus = response.StatusCode;

                    if (!string.IsNullOrEmpty(response.Content))
                    {
                        Debug.WriteLine(response.Content);

                        var settings = new JsonSerializerSettings
                        {
                            NullValueHandling          = NullValueHandling.Ignore,
                            MissingMemberHandling      = MissingMemberHandling.Ignore,
                            PreserveReferencesHandling = PreserveReferencesHandling.Objects
                        };

                        RespDataJsonObjforUsernameCheck = JsonConvert.DeserializeObject <RootobjectforUsername>(response.Content, settings);

                        if (RespDataJsonObjforUsernameCheck.code == 1 && RespDataJsonObjforUsernameCheck.result != null)
                        {
                            Userid = RespDataJsonObjforUsernameCheck.result.userid;

                            await Task.Delay(1000);

                            ShowHideLoginInputs(false, true);
                        }
                        else
                        {
                            if (RespDataJsonObjforUsernameCheck.messages.error)
                            {
                                Status = RespDataJsonObjforUsernameCheck.messages.error_message;
                            }
                            else if (RespDataJsonObjforUsernameCheck.messages.warning)
                            {
                                Status = RespDataJsonObjforUsernameCheck.messages.warning_message;
                            }
                        }
                    }
                    else
                    {
                        Status = "Sunucu yanıt verdi ancak veri döndürmedi. İstek eksik veya sunucuda bir sorun var. Tekrar deneyin.";
                    }
                }
                else
                {
                    Status = "İnternet bağlantısı yok, sunucuya bağlanılamadı.";
                }

                await Task.Delay(1000);

                UsernameLoaderVisibility = Visibility.Hidden;
            }
            catch (Exception exp)
            {
                UsernameLoaderVisibility = Visibility.Hidden;

                Debug.WriteLine(exp.ToString());
                // save error record
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Check and parse updater json response data
        /// </summary>
        /// <returns></returns>
        public bool ReportError()
        {
            if (InternetController.InternetCheck())
            {
                var settings = new JsonSerializerSettings
                {
                    NullValueHandling          = NullValueHandling.Ignore,
                    MissingMemberHandling      = MissingMemberHandling.Ignore,
                    PreserveReferencesHandling = PreserveReferencesHandling.Objects,
                };

                JsonSerializer serializer             = new JsonSerializer();
                var            serializedErrorContent = Error.Content != null?JsonConvert.SerializeObject(Error.Content, Formatting.Indented, settings) : null;

                var serializedSystemInfo = Error.SystemInfo != null?JsonConvert.SerializeObject(Error.SystemInfo, Formatting.Indented, settings) : null;

                ErrorReportResponse = new ApiResponse();

                #region API Request

                // request host
                var server = new RestClient("http://api.kor.onl/");
                // request relative url
                var request = new RestRequest("apps/error-reporter/1.0/", Method.POST);

                // add important parameters
                request.AddOrUpdateParameter("request", "error");
                request.AddOrUpdateParameter("type", Api.OutputType);
                request.AddOrUpdateParameter("api_key", Api.API_KEY);
                request.AddOrUpdateParameter("api_secret", Api.API_SECRET);

                // required params
                request.AddOrUpdateParameter("title", Error.Title);
                request.AddOrUpdateParameter("content", serializedErrorContent);

                // optional params
                request.AddOrUpdateParameter("updateid", Error.UpdateId);
                request.AddOrUpdateParameter("severity", Error.Severity);
                request.AddOrUpdateParameter("comment", Error.Comment);
                request.AddOrUpdateParameter("description", Error.Description);
                request.AddOrUpdateParameter("system_info", serializedSystemInfo);

                // user identifies
                request.AddOrUpdateParameter("client", Client.Username);
                request.AddOrUpdateParameter("machine", Client.CPUId);


                // get query result
                var response = server.Execute(request);

                // get response status code
                ErrorReportResponse.ResponseStatus = response.StatusCode;
                ErrorReportResponse.ResponseData   = response.Content;

                #endregion

                #region JSON Parsing

                RespJsonObj = JsonConvert.DeserializeObject <RootobjectforReporter>(response.Content, settings);

                #endregion

                #region Updates JSON Parsing

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    return(RespJsonObj.code == 1 && RespJsonObj.result == "OK" ? true : false);
                }
                else
                {
                    // error message
                    ErrorReportResponse.ResponseAPIErrorMessage = (string)RespJsonObj.messages.error_message;
                    // warning message
                    ErrorReportResponse.ResponseAPIWarningMessage = (string)RespJsonObj.messages.warning_message;
                }

                #endregion
            }

            return(false);
        }