コード例 #1
0
        public async Task CmdGetLiveUsers()
        {
            try
            {
                TsUserOpenList = await WebApiFunctions.CmdGetLiveUsers();



                foreach (var item in TsUserOpenList)
                {
                    item.Days = (short)(LocalFunctions.ToLocalDate(DateTime.Now) - item.CreateDate).TotalDays;
                }

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


                UsersListCount = LocalData.uiTranslator.Translate("Online users list") + " (" + TsUserOpenList.Count + ")";


                StateHasChanged();
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
            }
        }
コード例 #2
0
        protected void ValidateFull()
        {
            if (string.IsNullOrEmpty(UserName.Trim()))
            {
                LocalFunctions.AddError("Please enter user name", MethodBase.GetCurrentMethod(), false, false);
            }
            else if (UserName.Trim().Length < 3)
            {
                LocalFunctions.AddError("User name should contain minimum 6 characters", MethodBase.GetCurrentMethod(), false, false);
            }
            else if (UserName.Trim().Length > 100)
            {
                LocalFunctions.AddError("User name can contain maximum 100 characters", MethodBase.GetCurrentMethod(), false, false);
            }

            if (string.IsNullOrEmpty(UserPassword.Trim()))
            {
                LocalFunctions.AddError("Please enter password", MethodBase.GetCurrentMethod(), false, false);
            }
            else if (UserPassword.Trim().Length < 6)
            {
                LocalFunctions.AddError("Password should contain minimum 6 characters", MethodBase.GetCurrentMethod(), false, false);
            }
            else if (UserPassword.Trim().Length > 30)
            {
                LocalFunctions.AddError("Password should contain maximum 30 characters", MethodBase.GetCurrentMethod(), false, false);
            }
        }
コード例 #3
0
        public async Task CmdAddOrUpdateTodo()
        {
            IsButtonDisabled = true;
            StateHasChanged();

            if (LocalData.CurrTodo.HasDueDate)
            {
                if (LocalData.CurrTodo.DueDate <= LocalFunctions.ToLocalDate(DateTime.Now).AddMinutes(3))
                {
                    LocalFunctions.AddError("Due date should be minimum after 3 minute from now", MethodBase.GetCurrentMethod(), false, false);
                }
            }


            LocalFunctions.Validate(LocalData.CurrTodo);


            if (LocalFunctions.HasError())
            {
                LocalFunctions.DisplayErrors();
            }
            else
            {
                string a = string.Empty;

                if (LocalData.AddOrUpdateMode)
                {
                    LocalData.CurrTodo.UserID = LocalData.CurrTSUser.ID;
                    a = await WebApiFunctions.CmdAddTodo(LocalData.CurrTodo);
                }
                else
                {
                    if (!GlobalFunctions.AreEqualTwoObjects(LocalData.CurrTodo, LocalData.BeforeUpdateTodo))
                    {
                        a = await WebApiFunctions.CmdUpdateTodo(LocalData.CurrTodo);
                    }
                    else
                    {
                        LocalFunctions.AddMessage("Todo properties not updated", true, false);
                        return;
                    }
                }

                if (a.Equals("OK"))
                {
                    LocalData.TsTodosList = new List <TSTodoEx>();

                    LocalData.btModal.Close();

                    LocalData.EventConsumerName = "TodosPage";
                    LocalData.componentBridge.InvokeRefresh();
                }
                else
                {
                    LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false);
                }
            }

            IsButtonDisabled = false;
        }
コード例 #4
0
        private async void CmdActualDelete()
        {
            if (LocalData.EventConsumerName.Equals("CategoriesPage"))
            {
                if (LocalData.TSCategoriesList.Any())
                {
                    string a = await WebApiFunctions.CmdDeleteCategory(LocalData.TSCategoriesList.Single(x => x.ID == CurrID));

                    if (a.Equals("OK"))
                    {
                        LocalData.TSCategoriesList       = new List <TSCategoryEx>();
                        LocalData.TSCategoriesDictionary = new Dictionary <Guid, string>();

                        LocalData.btModal.Close();

                        LocalFunctions.CmdNavigate("CategoriesPage");
                        LocalData.componentBridge.InvokeRefresh();
                    }
                    else
                    {
                        LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false);
                    }
                }
            }
        }
コード例 #5
0
        public void Validate()
        {
            if (!string.IsNullOrEmpty(NewPassword))
            {
                NewPassword = NewPassword.Trim();
            }

            if (string.IsNullOrEmpty(NewPassword))
            {
                LocalFunctions.AddError("Please enter new password", MethodBase.GetCurrentMethod(), false, false);
            }
            else
            {
                if (NewPassword.Length < 6)
                {
                    LocalFunctions.AddError("Password min lenght should be 6", MethodBase.GetCurrentMethod(), false, false);
                }

                if (NewPassword.Length > 30)
                {
                    LocalFunctions.AddError("Password max lenght is 30", MethodBase.GetCurrentMethod(), false, false);
                }
            }


            if (!string.IsNullOrEmpty(ConfirmPassword))
            {
                ConfirmPassword = ConfirmPassword.Trim();
            }

            if (string.IsNullOrEmpty(ConfirmPassword))
            {
                LocalFunctions.AddError("Please enter confirm password", MethodBase.GetCurrentMethod(), false, false);
            }
            else if (ConfirmPassword != NewPassword)
            {
                LocalFunctions.AddError("Confirm password is not same", MethodBase.GetCurrentMethod(), false, false);
            }


            if (!string.IsNullOrEmpty(EmailedCode))
            {
                EmailedCode = EmailedCode.Trim();
            }

            if (string.IsNullOrEmpty(EmailedCode))
            {
                LocalFunctions.AddError("Please enter emailed code", MethodBase.GetCurrentMethod(), false, false);
            }
            else
            {
                if (EmailedCode.Length != 10)
                {
                    LocalFunctions.AddError("Emailed code lenght should be 10", MethodBase.GetCurrentMethod(), false, false);
                }
            }
        }
コード例 #6
0
 protected void ValidateUserName()
 {
     if (string.IsNullOrEmpty(UserName.Trim()))
     {
         LocalFunctions.AddError("Please enter user name", MethodBase.GetCurrentMethod(), false, false);
     }
     else if (UserName.Trim().Length < 6)
     {
         LocalFunctions.AddError("User name should contain minimum 6 character", MethodBase.GetCurrentMethod(), false, false);
     }
 }
コード例 #7
0
        public async Task CmdAddOrUpdateCategory()
        {
            IsButtonDisabled = true;
            StateHasChanged();


            if (LocalFunctions.Validate(LocalData.currCategory))
            {
                if (!LocalData.currCategoryName.Equals(LocalData.currCategory.Name, StringComparison.InvariantCultureIgnoreCase))
                {
                    string a = string.Empty;

                    if (LocalData.AddOrUpdateMode)
                    {
                        LocalData.currCategory.UserID = LocalData.CurrTSUser.ID;
                        a = await WebApiFunctions.CmdAddCategory(LocalData.currCategory);
                    }
                    else
                    {
                        a = await WebApiFunctions.CmdUpdateCategory(LocalData.currCategory);
                    }

                    if (a.Equals("OK"))
                    {
                        LocalData.TSCategoriesList       = new List <TSCategoryEx>();
                        LocalData.TSCategoriesDictionary = new Dictionary <Guid, string>();


                        LocalData.TsTodosList = new List <TSTodoEx>();


                        LocalData.btModal.Close();

                        //LocalFunctions.CmdNavigate("CategoriesPage");
                        LocalData.EventConsumerName = "CategoriesPage";
                        LocalData.componentBridge.InvokeRefresh();
                    }
                    else
                    {
                        LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false);
                    }
                }
                else
                {
                    LocalFunctions.AddMessage("Category name not updated", true, false);
                }
            }

            IsButtonDisabled = false;
        }
コード例 #8
0
        public async Task CmdGetAllCategories()
        {
            try
            {
                await LocalFunctions.GetTodosAndCategories();

                CategoriesListCount = LocalData.uiTranslator.Translate("Categories list") + " (" + LocalData.TSCategoriesList.Count + ")";


                StateHasChanged();
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
            }
        }
コード例 #9
0
        public void Validate()
        {
            if (!string.IsNullOrEmpty(ConfirmPassword))
            {
                ConfirmPassword = ConfirmPassword.Trim();
            }

            if (string.IsNullOrEmpty(ConfirmPassword))
            {
                LocalFunctions.AddError("Please enter confirm password", MethodBase.GetCurrentMethod(), false, false);
            }
            else if (ConfirmPassword != tsUser.Password)
            {
                LocalFunctions.AddError("Confirm password is not same", MethodBase.GetCurrentMethod(), false, false);
            }
        }
コード例 #10
0
        public async Task CmdSendMail()
        {
            IsSendMailVisible = false;
            StateHasChanged();

            if (!string.IsNullOrEmpty(tsUser.Email))
            {
                tsUser.Email = tsUser.Email.Trim();
            }

            if (string.IsNullOrEmpty(tsUser.Email.Trim()))
            {
                LocalFunctions.AddError("Please enter email", MethodBase.GetCurrentMethod(), true, false);
            }
            else
            {
                if (LocalFunctions.CheckEmailFormat(tsUser.Email.Trim()))
                {
                    if (await WebApi.CmdCheckEmailNotExists(tsUser.Email.Trim()))
                    {
                        await WebApi.CmdSendMail(tsUser.Email.Trim(), EmailOperationsEnum.Registration);

                        IsSendMailVisible     = false;
                        IsEmailedCodeDisabled = false;
                        IsButtonDisabled      = false;
                    }
                    else
                    {
                        IsSendMailVisible     = true;
                        IsEmailedCodeDisabled = true;
                        IsButtonDisabled      = false;
                    }
                }
                else
                {
                    LocalFunctions.AddError("Email format is not correct", MethodBase.GetCurrentMethod(), true, false);
                }
            }


            StateHasChanged();
        }
コード例 #11
0
        private async void CmdActualDelete()
        {
            if (LocalData.EventConsumerName.Equals("TodosPage"))
            {
                if (LocalData.TsTodosList.Any())
                {
                    string a = await WebApiFunctions.CmdDeleteTodo(LocalData.TsTodosList.Single(x => x.ID == CurrID));

                    if (a.Equals("OK"))
                    {
                        LocalData.TsTodosList = new List <TSTodoEx>();

                        LocalFunctions.CmdNavigate("TodosPage");
                        LocalData.componentBridge.InvokeRefresh();
                    }
                    else
                    {
                        LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false);
                    }
                }
            }
        }
コード例 #12
0
        public async Task CmdAddOrUpdateFeedback()
        {
            IsButtonDisabled = true;
            StateHasChanged();


            if (LocalFunctions.Validate(LocalData.currFeedback))
            {
                if (LocalData.oldFeedbackText != LocalData.currFeedback.Text.ToLower())
                {
                    await WebApiFunctions.CmdAddOrUpdateFeedback(LocalData.currFeedback);


                    if (!LocalData.currFeedback.UserID.Equals(Guid.Empty))
                    {
                        LocalData.btModal.Close();

                        //LocalFunctions.CmdNavigate("FeedbackPage");
                        LocalData.EventConsumerName = "FeedbackPage";
                        LocalData.componentBridge.InvokeRefresh();


                        LocalFunctions.AddMessage("Thank you for your feedback", true, false);
                    }
                    else
                    {
                        LocalFunctions.AddError("Error adding or updating feedback", MethodBase.GetCurrentMethod(), true, false);
                    }
                }
                else
                {
                    LocalFunctions.AddMessage("Feedback text not updated", true, false);
                }
            }

            IsButtonDisabled = false;
        }
コード例 #13
0
        public async Task CmdGetAllFeedback()
        {
            try
            {
                FeedbackList = await WebApiFunctions.CmdGetAllFeedback();

                FeedbackListCount = LocalData.uiTranslator.Translate("Feedback list") + " (" + FeedbackList.Count + ")";

                if (LocalData.currFeedback.UserID.Equals(Guid.Empty))
                {
                    AddOrUpdateButton = LocalData.uiTranslator.Translate("Add feedback");
                }
                else
                {
                    AddOrUpdateButton = LocalData.uiTranslator.Translate("Update feedback");
                }

                StateHasChanged();
            }
            catch (Exception ex)
            {
                LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false);
            }
        }
コード例 #14
0
        public async Task CmdGetSupportedLanguages()
        {
            try
            {
                if (LocalData.UISupportedLanguagesList is null)
                {
                    LocalData.UISupportedLanguagesList = await WebApiFunctions.CmdGetSupportedLanguages();



                    foreach (var item in LocalData.uiTranslator.TSUILanguagesList)
                    {
                        if (LocalData.UISupportedLanguagesList.Any(x => x.Code.Equals(item.Code, StringComparison.InvariantCultureIgnoreCase)))
                        {
                            LocalData.UISupportedLanguagesList.Single(x => x.Code.Equals(item.Code, StringComparison.InvariantCultureIgnoreCase)).Exists = true;
                        }
                    }


                    int k = 1;
                    foreach (var item in LocalData.UISupportedLanguagesList.OrderByDescending(x => x.Exists).ThenBy(x => x.Name))
                    {
                        item.N = k++;
                    }
                }

                SupportedLanguagesListCount = LocalData.uiTranslator.Translate("Supported languages list") + " (" + LocalData.UISupportedLanguagesList.Count + ")";


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