Пример #1
0
        public async Task <EventVerification> VerifyCodeAsync(VerifyCodeRequest request)
        {
            var codeInt = int.Parse(request.Code, System.Globalization.NumberStyles.HexNumber);
            var item    = await _context.EventVerifications
                          .SingleOrDefaultAsync(ci => ci.EventId == request.EventId &&
                                                ci.EventVerificationId == codeInt);

            if (item == null)
            {
                throw new QueryException(
                          ErrorBuilder.New()
                          .SetMessage("Invalid code or eventId")
                          .SetCode("ID_UNKNOWN")
                          .Build());
            }

            if (item.Status != PresenceStatusEnum.SignedUp)
            {
                throw new QueryException(
                          ErrorBuilder.New()
                          .SetMessage("EventVerificationId have already been used")
                          .SetCode("ID_UNKNOWN")
                          .Build());
            }

            item.Status = PresenceStatusEnum.Attend;
            _context.EventVerifications.Update(item);
            await _context.SaveChangesAsync();

            return(item);
        }
Пример #2
0
        private static object ServiceResultToObject(VerifyCodeRequest request, ProcessVerificationResult processResult, object success)
        {
            object result;

            switch (processResult)
            {
            case ProcessVerificationResult.Success:
                result = success;
                break;

            case ProcessVerificationResult.AlreadyRegistered:
                result = new { Success = false, Errors = new { _ = new[] { Strings.ExternalLoginAlreadyRegistered } } };
                break;

            case ProcessVerificationResult.EmailNotAvailable:
                result = new { Success = false, Errors = new { Email = new[] { string.Format(Strings.ExternalLoginNotAvailable, request.Email) } } };
                break;

            case ProcessVerificationResult.InvalidVerifyCode:
                result = new { Success = false, Errors = new { Code = new[] { Strings.BadVerification } } };
                break;

            default:
                throw new NotImplementedException(string.Format(LogStrings.UnknownProcessVerification, processResult));
            }

            return(result);
        }
Пример #3
0
        public void VerifyCodeRequestTest()
        {
            var verifyCodeRequest = new VerifyCodeRequest
            {
                mocean_code        = "test code",
                mocean_reqid       = "test reqid",
                mocean_resp_format = "json"
            };

            Assert.IsNotNull(verifyCodeRequest.mocean_code);
            Assert.AreEqual(verifyCodeRequest.mocean_code, "test code");
            Assert.IsNotNull(verifyCodeRequest.mocean_reqid);
            Assert.AreEqual(verifyCodeRequest.mocean_reqid, "test reqid");
            Assert.IsNotNull(verifyCodeRequest.mocean_resp_format);
            Assert.AreEqual(verifyCodeRequest.mocean_resp_format, "json");

            verifyCodeRequest = new VerifyCodeRequest();
            Assert.IsNull(verifyCodeRequest.mocean_code);
            Assert.IsNull(verifyCodeRequest.mocean_reqid);
            Assert.IsNull(verifyCodeRequest.mocean_resp_format);
            verifyCodeRequest.mocean_code = "test code";
            Assert.AreEqual(verifyCodeRequest.mocean_code, "test code");
            verifyCodeRequest.mocean_reqid = "test reqid";
            Assert.AreEqual(verifyCodeRequest.mocean_reqid, "test reqid");
            verifyCodeRequest.mocean_resp_format = "json";
            Assert.AreEqual(verifyCodeRequest.mocean_resp_format, "json");
        }
        public async Task VerifyCodeAsync_DoesExist_ChangesToAttended()
        {
            var request = new VerifyCodeRequest()
            {
                EventId = Guid.NewGuid(),
                Code    = "0001"
            };

            using (var context = _factory.CreateContext())
            {
                context.EventVerifications.Add(new EventVerification()
                {
                    EventId = request.EventId,
                    UserId  = Guid.NewGuid()
                });
                context.SaveChanges();
            }

            await _mutations.VerifyCodeAsync(request);

            using (var context = _factory.CreateContext())
            {
                Assert.That(context.EventVerifications.Count(), Is.EqualTo(1));
                var ev = context.EventVerifications.SingleOrDefault(ev => ev.EventId == request.EventId);

                Assert.That(ev, Is.Not.Null);
                Assert.That(ev.Status, Is.EqualTo(PresenceStatusEnum.Attend));
            }
        }
Пример #5
0
 public VerifyCodeResponse VerifyCode(VerifyCodeRequest request)
 {
     try
     {
         var user = db.EndUsers.SingleOrDefault(u => u.Phone == request.UserName || u.Email == request.UserName);
         if (user != null)
         {
             if (user.VerifyCode == request.Code)
             {
                 user.EmailConfirmed = true;
                 db.SaveChanges();
                 return(new VerifyCodeResponse
                 {
                     Message = Utilities.GetErrorMessages("200"),
                     Verified = true,
                     User = new LoginResponse
                     {
                         Confirmed = true,
                         LoggedIn = true,
                         Message = Utilities.GetErrorMessages("200"),
                         User = new LoginRequest
                         {
                             Password = user.Password,
                             UserName = request.UserName
                         }
                     }
                 });
             }
             else
             {
                 return(new VerifyCodeResponse
                 {
                     Verified = false,
                     Message = Utilities.GetErrorMessages("509"),
                     User = null
                 });
             }
         }
         else
         {
             return(new VerifyCodeResponse
             {
                 Verified = false,
                 Message = Utilities.GetErrorMessages("507"),
                 User = null
             });
         }
     }
     catch (Exception ex)
     {
         return(new VerifyCodeResponse
         {
             Verified = false,
             Message = Utilities.GetErrorMessages("500"),
             User = null
         });
     }
 }
        public async Task VerifyCodeAsync_CodeDoesNotExist()
        {
            var request = new VerifyCodeRequest()
            {
                EventId = Guid.NewGuid(),
                Code    = "0001"
            };

            Assert.ThrowsAsync <QueryException>(async() => await _mutations.VerifyCodeAsync(request));
        }
Пример #7
0
        public async Task <object> ExternalVerificationCode(VerifyCodeRequest request)
        {
            var ctx           = HttpContext.Current.GetOwinContext();
            var partial_login = await ctx.Environment.GetIdentityServerPartialLoginAsync();

            if (partial_login == null)
            {
                throw new UserErrorException(Strings.NotLoggedInExternalLogin);
            }

            var processResult = await _userService.SendExternalVerificationCode(partial_login, request.Email);

            return(ServiceResultToObject(request, processResult, new { Success = true }));
        }
 private void Start()
 {
     isGetVerifyCode   = false;
     isResponse        = false;
     registerRequest   = GetComponent <RegisterRequest>();
     verifyCodeRequest = GetComponent <VerifyCodeRequest>();
     phoneIf           = transform.Find("phoneNum/phoneNumIF").GetComponent <InputField>();
     passWordIf        = transform.Find("passWord/passWordIF").GetComponent <InputField>();
     repassWordIf      = transform.Find("RepassWord/RepassWordIF").GetComponent <InputField>();
     verifyCodeIf      = transform.Find("verifyCode/verifyCodeIF").GetComponent <InputField>();
     protocolToggle    = transform.Find("ProtocolToggle").GetComponent <Toggle>();
     transform.Find("returnButton").GetComponent <Button>().onClick.AddListener(OnReturnClick);
     transform.Find("RegisterButton").GetComponent <Button>().onClick.AddListener(OnRegisterClick);
     transform.Find("verifyCodeButton").GetComponent <Button>().onClick.AddListener(OnSendVerifyCodeRequest);
     VerifyText   = transform.Find("verifyCodeButton/Text").GetComponent <Text>();
     VerifyButton = transform.Find("verifyCodeButton").GetComponent <Button>();
 }
        public async Task VerifyCodeAsync_EventDoesNotExist()
        {
            var request = new VerifyCodeRequest()
            {
                EventId = Guid.NewGuid(),
                Code    = "0001"
            };

            using (var context = _factory.CreateContext())
            {
                context.EventVerifications.Add(new EventVerification()
                {
                    EventId = Guid.NewGuid(),
                    UserId  = Guid.NewGuid()
                });
                context.SaveChanges();
            }

            Assert.ThrowsAsync <QueryException>(async() => await _mutations.VerifyCodeAsync(request));
        }