示例#1
0
        public static async Task CmdGetFeedback()
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);


                LocalData.currFeedback = await httpClient.MyGetJsonAsync <TSFeedback>("feedback/get");

                if (!LocalData.currFeedback.UserID.Equals(Guid.Empty))
                {
                    GlobalFunctions.CmdAdjustDate(LocalData.currFeedback, false);
                }


                if (string.IsNullOrEmpty(LocalData.currFeedback.Text))
                {
                    LocalData.oldFeedbackText = string.Empty;
                }
                else
                {
                    LocalData.oldFeedbackText = LocalData.currFeedback.Text.ToLower();
                }
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                LocalData.currFeedback = new TSFeedback();
            }
        }
示例#2
0
        public static async Task <List <TSUserOpenEx> > CmdGetLiveUsers()
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);



                List <TSUserOpenEx> result = await httpClient.MyGetJsonAsync <List <TSUserOpenEx> >("user/getliveusers");

                foreach (var item in result)
                {
                    GlobalFunctions.CmdAdjustDate(item, false);
                }

                return(result);
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                return(new List <TSUserOpenEx>());
            }
        }
示例#3
0
        public static async Task <bool> CmdGetJWT(SecureString ParUserName, SecureString ParPassword, WebApiUserTypesEnum ParWebApiUserTypesEnum = WebApiUserTypesEnum.NotAuthorized)
        {
            if (!LocalData.IsDownloadedSetupData)
            {
                LocalFunctions.AddError("Bootstrap data is not Downloaded!", MethodBase.GetCurrentMethod(), true, false);
                return(false);
            }

            LocalData.CurrJWT = string.Empty;
            try
            {
                JwtResult tmp_jwt = await WebApiFunctions.CmdDownloadToken(ParUserName, ParPassword, ParWebApiUserTypesEnum);


                if (string.IsNullOrEmpty(tmp_jwt.ErrorMessage))
                {
                    LocalData.CurrJWT = tmp_jwt.AccessToken;
                }
                else
                {
                    LocalFunctions.AddError(tmp_jwt.ErrorMessage, MethodBase.GetCurrentMethod(), true, false);
                }
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
            }


            return(!string.IsNullOrEmpty(LocalData.CurrJWT));
        }
示例#4
0
        public static async Task <List <TSUILanguageShortEx> > CmdGetSupportedLanguages()
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);



                List <TSUILanguageShort> result = await httpClient.MyGetJsonAsync <List <TSUILanguageShort> >("googletranslator/getalllanguages");


                List <TSUILanguageShortEx> result2 = result.Select(g => new TSUILanguageShortEx {
                    Name = g.Name, Code = g.Code
                }).ToList();


                return(result2);
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                return(new List <TSUILanguageShortEx>());
            }
        }
示例#5
0
        public static async Task <List <TSFeedbackEx> > CmdGetAllFeedback()
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);


                List <TSFeedbackEx> result = await httpClient.MyGetJsonAsync <List <TSFeedbackEx> >("feedback/getAll");



                foreach (var item in result)
                {
                    GlobalFunctions.CmdAdjustDate(item, false);
                }


                for (int i = 0; i < result.Count; i++)
                {
                    result[i].N = i + 1;
                }

                return(result);
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                return(new List <TSFeedbackEx>());
            }
        }
示例#6
0
        internal static async Task <string> CmdDownloadSetupData()
        {
            try
            {
                httpClient.BaseAddress = LocalData.WebApi_Uri;
                httpClient.Timeout     = TimeSpan.FromMilliseconds(Timeout.Infinite);

                return(await httpClient.GetStringAsync("setupdata"));
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                return("Error");
            }
        }
示例#7
0
        public static async Task <bool> Cmd_Get_PublicData()
        {
            LocalData.IsDownloadedSetupData = false;
            string a = await WebApiFunctions.Cmd_Get_Setup_Data();

            if (a.Equals("OK"))
            {
                return(true);
            }
            else
            {
                LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false);
                return(false);
            }
        }
示例#8
0
        public static async Task <TSEmail> CmdRecoverPass(TSEmail ParTSEmail)
        {
            httpClient.DefaultRequestHeaders.Accept.Clear();
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);
            try
            {
                return(await httpClient.MyPostJsonGetJsonAsync("user/passrecovery", ParTSEmail));
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
            }

            return(new TSEmail());
        }
示例#9
0
        public static async Task <bool> CmdRegisterUser(TSUser ParTSUser)
        {
            string a = await WebApiFunctions.CmdTSUserRegister(ParTSUser);

            if (a.Equals("OK"))
            {
                LocalFunctions.Authorize(ParTSUser.UserName, ParTSUser.Password);

                return(true);
            }
            else
            {
                LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false);
                return(false);
            }
        }
示例#10
0
        public static async Task <TSStat> CmdGetStat()
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                //httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);

                return(await httpClient.MyGetJsonAsync <TSStat>("stat"));
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                return(new TSStat());
            }
        }
示例#11
0
        public static async Task <bool> CmdUserChangePassword(TSUser ParTSUser)
        {
            string a = await WebApiFunctions.CmdTSUserChangePassword(ParTSUser);

            if (a.Equals("OK"))
            {
                LocalFunctions.AddMessage("Password was changed successfully, please login again", true, false);
                LocalData.btModal.Close();
                LocalFunctions.Logout();

                return(true);
            }
            else
            {
                LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false);
                return(false);
            }
        }
示例#12
0
        public static async Task <bool> CmdCheckUserNameNotExists(string ParUserName)
        {
            TSEmail ParTSEmail = new TSEmail {
                To = ParUserName, OperationCode = 0
            };

            TSEmail tsEmail = await WebApiFunctions.CmdCheckUserNameNotExists(ParTSEmail);

            if (tsEmail.Result.Equals("OK"))
            {
                return(true);
            }
            else
            {
                LocalFunctions.AddError(tsEmail.Result, MethodBase.GetCurrentMethod(), true, false);
                return(false);
            }
        }
示例#13
0
        internal static async Task <JwtResult> CmdDownloadToken(SecureString ParUserName, SecureString ParPassword, WebApiUserTypesEnum ParWebApiUserTypesEnum = WebApiUserTypesEnum.NotAuthorized)
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));

                string username = GlobalFunctions.ConvertToPlainString(ParUserName);

                if (string.IsNullOrEmpty(username))
                {
                    return(new JwtResult {
                        ErrorMessage = "Username is not provided!"
                    });
                }


                string password = GlobalFunctions.ConvertToPlainString(ParPassword);
                if (string.IsNullOrEmpty(password))
                {
                    return(new JwtResult {
                        ErrorMessage = "Password is not provided!"
                    });
                }


                var formContent = new FormUrlEncodedContent(new[]
                {
                    new KeyValuePair <string, string>("UserName", username + GlobalFunctions.GetRandomAlphaNumeric()),
                    new KeyValuePair <string, string>("UserPass", password + GlobalFunctions.GetRandomAlphaNumeric()),
                    new KeyValuePair <string, string>("UserType", ((int)ParWebApiUserTypesEnum).ToString() + GlobalFunctions.GetRandomAlphaNumeric()),
                    new KeyValuePair <string, string>("MachineID", LocalData.MachineID + GlobalFunctions.GetRandomAlphaNumeric()),
                });

                return(await httpClient.MyPostFormGetJsonAsync <JwtResult>("token", formContent));
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);

                return(new JwtResult());
            }
        }
示例#14
0
        public static async Task <List <TSUIWordNative> > CmdGetAllUIWordNatives()
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);



                List <TSUIWordNative> result = await httpClient.MyGetJsonAsync <List <TSUIWordNative> >("uiwordnative/getall");

                return(result);
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                return(new List <TSUIWordNative>());
            }
        }
示例#15
0
        public static async Task <TSUser> CmdTSUserAuthorize(TSUser ParTSUser)
        {
            httpClient.DefaultRequestHeaders.Accept.Clear();
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);
            try
            {
                TSUser result = await httpClient.MyPostJsonGetJsonAsync("user/authorize", ParTSUser);


                GlobalFunctions.CmdAdjustDate(result, false);

                return(result);
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
            }

            return(new TSUser());
        }
示例#16
0
        public static async Task <bool> CmdRecoverPass(string ParUserName, EmailOperationsEnum ParEmailOperationsEnum)
        {
            TSEmail ParTSEmail = new TSEmail {
                To = ParUserName, OperationCode = (int)ParEmailOperationsEnum
            };


            TSEmail tsEmail = await WebApiFunctions.CmdRecoverPass(ParTSEmail);



            if (tsEmail.Result.Equals("OK"))
            {
                LocalFunctions.AddMessage("Password recovered successfully, new password was sent to your email", true, false);
                return(true);
            }
            else
            {
                LocalFunctions.AddError(tsEmail.Result, MethodBase.GetCurrentMethod(), true, false);
                return(false);
            }
        }
示例#17
0
        public static async Task <bool> CmdSendMail(string ParTo, EmailOperationsEnum ParEmailOperationsEnum)
        {
            TSEmail ParTSEmail = new TSEmail {
                To = ParTo, OperationCode = (int)ParEmailOperationsEnum
            };


            TSEmail tsEmail = await WebApiFunctions.CmdSendEmail(ParTSEmail);



            if (tsEmail.Result.Equals("OK"))
            {
                LocalFunctions.AddMessage("Email was sent successfully, please check inbox, code is valid for 2 minutes", true, false);
                return(true);
            }
            else
            {
                LocalFunctions.AddError(tsEmail.Result, MethodBase.GetCurrentMethod(), true, false);
                return(false);
            }
        }
示例#18
0
        public static async Task <bool> CmdTSUserLogout()
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);



                await httpClient.GetAsync("user/logout");


                httpClient.DefaultRequestHeaders.Accept.Clear();
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                return(false);
            }
            return(true);
        }
示例#19
0
        public static async Task <List <TSUIWordForeign> > CmdGetAllUIWordForeigns(Guid LangID)
        {
            try
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT);

                TSUIWordForeign tmpWordForeign = new TSUIWordForeign {
                    UILanguageID = LangID
                };



                List <TSUIWordForeign> result = await httpClient.MyPostJsonGetJsonEnumAsync <List <TSUIWordForeign>, TSUIWordForeign>("uiwordForeign/getallbylang", tmpWordForeign);

                return(result);
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
                return(new List <TSUIWordForeign>());
            }
        }