コード例 #1
0
        /*
         * Method to get open sections
         */

        public EmailCheckResponse CheckEmail(EmailCheckRequest emailCheckRequest)
        {
            var login     = _ucOnlinePortalContext.LoginInfos.Where(x => x.Email == emailCheckRequest.email).FirstOrDefault();
            var loginTemp = _ucOnlinePortalContext.TmpLogins.Where(x => x.Email == emailCheckRequest.email).FirstOrDefault();

            if (login != null)
            {
                return(new EmailCheckResponse {
                    success = 0
                });
            }
            if (loginTemp != null)
            {
                _ucOnlinePortalContext.TmpLogins.Attach(loginTemp);
                _ucOnlinePortalContext.TmpLogins.Remove(loginTemp);
            }

            //Generate random number for Token
            Random generator = new Random();
            String token     = generator.Next(0, 1000000).ToString("D6");

            TmpLogin newtmpLogin = new TmpLogin
            {
                Email = emailCheckRequest.email,
                Token = token
            };

            var Tk = Task.Run(() =>
            {
                var emailDetails = new EmailDetails
                {
                    To = new EmailAddress {
                        Address = emailCheckRequest.email, Name = emailCheckRequest.fullname
                    }
                };
                emailDetails.SpecificInfo.Add("{{code}}", token);
                _emailHandler.SendEmail(emailDetails, (int)RequestResponse.Enums.EmailType.VERIFICATIONCODE);
            });

            Tk.Wait();

            _ucOnlinePortalContext.TmpLogins.Add(newtmpLogin);
            _ucOnlinePortalContext.SaveChanges();

            return(new EmailCheckResponse {
                success = 1
            });
        }
コード例 #2
0
        public async Task <IActionResult> CheckEmailRequest([FromBody] EmailCheckRequest request)
        {
            //Check if required fields are present
            if (!ModelState.IsValid)
            {
                return(Ok(new EmailCheckResponse {
                    success = 0
                }));
            }

            //Convert response object to DTO Objects
            var serialized_req = Newtonsoft.Json.JsonConvert.SerializeObject(request);
            var converted_req  = Newtonsoft.Json.JsonConvert.DeserializeObject <DTO.Request.EmailCheckRequest>(serialized_req);

            //await result from function ChangePassword
            var result = await Task.FromResult(_loginManagement.CheckEmail(converted_req));

            return(Ok(new EmailCheckResponse {
                success = result.success
            }));
        }