Ejemplo n.º 1
0
        public async Task <ActionResult> ChangePhone([FromForm] PostChangePhoneRequest request, CancellationToken ct)
        {
            if (request.OldPhone.Trim().ToLower() == request.NewPhone.Trim().ToLower())
            {
                var getChangePhoneRequest = new GetChangePhoneRequest
                {
                    OldPhone          = request.OldPhone,
                    NewPhone          = request.NewPhone,
                    IsPhoneNotChanged = true
                };

                return(RedirectToAction("ChangePhone", getChangePhoneRequest));
            }

            var isPhoneExists = await _identityStatusService.IsPhoneExistsAsync(request.NewPhone, ct);

            if (isPhoneExists)
            {
                var getChangePhoneRequest = new GetChangePhoneRequest
                {
                    OldPhone      = request.OldPhone,
                    NewPhone      = request.NewPhone,
                    IsPhoneExists = true
                };

                return(RedirectToAction("ChangePhone", getChangePhoneRequest));
            }

            var response = await _phoneChangeService.ChangeAsync(
                request.Country,
                request.OldPhone,
                request.NewPhone,
                request.Password,
                IpAddress,
                UserAgent,
                ct);

            if (response.IsInvalidCredentials)
            {
                var getChangeEmailRequest = new GetChangePhoneRequest
                {
                    OldPhone             = request.OldPhone,
                    NewPhone             = request.NewPhone,
                    IsInvalidCredentials = true
                };

                return(RedirectToAction("ChangePhone", getChangeEmailRequest));
            }

            var getVerifyPhoneRequest = new GetVerifyPhoneRequest
            {
                TokenId       = response.TokenId,
                IsInvalidCode = false
            };

            return(RedirectToAction("VerifyPhone", getVerifyPhoneRequest));
        }
Ejemplo n.º 2
0
        public ActionResult ChangePhone(GetChangePhoneRequest request)
        {
            var model = new ChangePhoneViewModel(
                request.OldPhone,
                request.NewPhone,
                request.IsPhoneNotChanged,
                request.IsPhoneExists,
                request.IsInvalidCredentials);

            return(View("~/OAuth/Views/ChangePhone.cshtml", model));
        }