/* * 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 }); }
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 })); }