Пример #1
0
        public async Task <IActionResult> OnPostResendAsync(string PhoneNumber)
        {
            if (string.IsNullOrWhiteSpace(PhoneNumber))
            {
                return(_MsgBox.ModelStateMsg(_Localizer["PhoneNumberCantBeNull"]));
            }

            var qUser = await _UserApplication.GetUserByPhoneNumberAsync(PhoneNumber);

            if (qUser == null)
            {
                return(_MsgBox.ModelStateMsg(_Localizer["PhoneNumberIsInvalid"]));
            }

            var Result = await _UserApplication.ReCreatePasswordAsync(qUser);

            if (Result.IsSucceeded)
            {
                var IsSend = _SmsSender.SendLoginCode(Input.PhoneNumber, Result.Message);
                if (IsSend)
                {
                    return(_MsgBox.SuccessMsg(_Localizer["LoginCodeIsSent"], "StartTimer()"));
                }
                else
                {
                    return(_MsgBox.FaildMsg(_Localizer["SmsSenderNotRespond"]));
                }
            }
            else
            {
                return(_MsgBox.FaildMsg(_Localizer[Result.Message]));
            }
        }
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(_MsgBox.ModelStateMsg(ModelState.GetErrors()));
            }

            Thread.Sleep(3000);

            var Result = await _UserApplication.LoginByEmailLinkStep1Async(Input.Email, HttpContext.Connection.RemoteIpAddress.ToString());

            if (Result.IsSucceeded)
            {
                string Token = (Result.Message + ", " + Input.RemmeberMe).AesEncrypt(AuthConst.SecretKey);
                string _Url  = (await _SettingApplication.GetSettingAsync(CultureInfo.CurrentCulture.Name)).SiteUrl + $"/{CultureInfo.CurrentCulture.Parent.Name}/EmailLogin?Token={WebUtility.UrlEncode(Token)}";

                await _EmailSender.SendAsync(Input.Email, _Localizer["EmailLoginSubject"], await _TemplateApplication.GetEmailLoginTemplateAsync(CultureInfo.CurrentCulture.Name, _Url));

                return(_MsgBox.SuccessMsg(_Localizer["EmailLoginSent"], "location.href='/';"));
            }
            else
            {
                return(_MsgBox.FaildMsg(_Localizer[Result.Message]));
            }
        }
Пример #3
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(_msgBox.ModelStateMsg(ModelState.GetErrors()));
            }

            var result = await _userApplication.LoginByPhoneNumberStep1Async(Input.PhoneNumber);

            if (result.IsSucceed)
            {
                var isSend = _smsSender.SendLoginCode(Input.PhoneNumber, result.Message);
                if (isSend)
                {
                    return(_msgBox.SuccessMsg(_localizer["LoginCodeIsSent"], "GotoOtpPage()"));
                }
                else
                {
                    return(_msgBox.FaildMsg(_localizer["SmsSenderNotRespond"]));
                }
            }
            else
            {
                return(_msgBox.FaildMsg(_localizer[result.Message]));
            }
        }
Пример #4
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(_MsgBox.ModelStateMsg(ModelState.GetErrors()));
            }

            var Result = await _AccesslevelApplication.UpdateAsync(new InpUpdateAccessLevel()
            {
                Id    = Input.Id,
                Name  = Input.Name,
                Roles = Input.Roles
            });

            if (Result.IsSucceeded)
            {
                // ابدیت سطح دسترسی های کاربران
                var UpdateRolesResult = await _UserApplication.EditUsersRoleByAccIdAsync(Input.Id, Input.Roles);

                // ذخیره شناسه کاربران عضو سطح دسترسی جاری برای ابدیت توکن ها
                CacheUsersToRebuildToken.AddRange(await _UserApplication.GetUserIdsByAccIdAsync(Input.Id));

                return(_MsgBox.SuccessMsg(_Localizer[Result.Message], "GotoList()"));
            }
            else
            {
                return(_MsgBox.FaildMsg(_Localizer[Result.Message]));
            }
        }
Пример #5
0
        public async Task <IActionResult> OnPostRemoveAsync(string Id)
        {
            if (!User.IsInRole(Roles.CanRemoveAccessLevel))
            {
                return(_MsgBox.FaildMsg(_Localizer["AccessDenied"]));
            }

            if (!ModelState.IsValid)
            {
                return(_MsgBox.ModelStateMsg(ModelState.GetErrors()));
            }

            var Result = await _AccesslevelApplication.RemoveAsync(new InpRemove
            {
                Id = Id
            });

            if (Result.IsSucceeded)
            {
                return(_MsgBox.SuccessMsg(_Localizer[Result.Message], "RefreshData()"));
            }
            else
            {
                return(_MsgBox.ModelStateMsg(_Localizer[Result.Message]));
            }
        }
Пример #6
0
        public async Task <IActionResult> OnPostRemoveAsync(string Id)
        {
            if (!User.IsInRole(Roles.CanRemoveUsers))
            {
                return(_MsgBox.FaildMsg(_Localizer["AccessDenied"]));
            }

            var Result = await _UsersApplication.RemoveUserAsync(Id);

            if (Result.IsSucceeded)
            {
                return(_MsgBox.SuccessMsg(_Localizer[Result.Message], "RefreshData()"));
            }
            else
            {
                return(_MsgBox.FaildMsg(_Localizer[Result.Message.Replace(" | ", "<br/>")]));
            }
        }
        public async Task <IActionResult> OnPostResendAsync(string PhoneNumber)
        {
            if (string.IsNullOrWhiteSpace(PhoneNumber))
            {
                return(_MsgBox.ModelStateMsg(_Localizer["PhoneNumberCantBeNull"]));
            }

            var Result = await _UserApplication.ReSendSmsCodeAsync(PhoneNumber);

            if (Result.IsSucceeded)
            {
                return(_MsgBox.SuccessMsg(_Localizer[Result.Message], "StartTimer()"));
            }
            else
            {
                return(_MsgBox.FaildMsg(_Localizer[Result.Message]));
            }
        }
        public async Task <IActionResult> OnPostAsync()
        {
            var Result = await _UserApplication.ChanageUserAccessLevelAsync(Input.UserId, User.GetUserDetails().UserId, Input.AccessLevelId);

            if (Result.IsSucceeded)
            {
                CacheUsersToRebuildToken.Add(Input.UserId);

                return(_MsgBox.SuccessMsg(_Localizer[Result.Message], "Close(); RefreshData();"));
            }
            else
            {
                return(_MsgBox.FaildMsg(_Localizer[Result.Message]));
            }
        }
Пример #9
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(_MsgBox.ModelStateMsg(ModelState.GetErrors()));
            }

            string UserId = User.GetUserDetails().UserId;

            var Result = await _UserApplication.ChanagePasswordAsync(UserId, Input.CurrentPassword, Input.NewPassword);

            if (Result.IsSucceeded)
            {
                return(_MsgBox.SuccessMsg(_Localizer[Result.Message]));
            }
            else
            {
                return(_MsgBox.FaildMsg(_Localizer[Result.Message].Replace(", ", "<br/>")));
            }
        }
Пример #10
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(_MsgBox.ModelStateMsg(ModelState.GetErrors()));
            }

            var Result = await _AccesslevelApplication.AddNewAsync(new InpAddNewAccessLevel()
            {
                Name  = Input.Name,
                Roles = Input.Roles
            });

            if (Result.IsSucceeded)
            {
                return(_MsgBox.SuccessMsg(_Localizer[Result.Message], "GotoList()"));
            }
            else
            {
                return(_MsgBox.FaildMsg(_Localizer[Result.Message]));
            }
        }
Пример #11
0
        public async Task <IActionResult> OnPostAsync()
        {
            try
            {
                string SiteUrl = (await _SettingApplication.GetSettingAsync(CultureInfo.CurrentCulture.Name)).SiteUrl;

                var Result = await _UserApplication.SaveAccountSettingUserDetailsAsync(User.GetUserDetails().UserId, _Mapper.Map <InpSaveAccountSettingUserDetails>(Input), $"{SiteUrl}/{CultureInfo.CurrentCulture.Parent.Name}/Auth/ChangeEmail?Token=[Token]");

                if (Result.IsSucceeded)
                {
                    return(_MsgBox.SuccessMsg(_Localizer[Result.Message]));
                }
                else
                {
                    return(_MsgBox.FaildMsg(_Localizer[Result.Message]));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }