public char RegistrationAdd(RegisterAddViewModel newRegister) { //Compare if the user already exists var register = ds.Registration.SingleOrDefault(r => r.EMAIL == newRegister.EMAIL); if (register == null) { //Attempt to add the new object var addedItem = ds.Registration.Add(mapper.Map <RegisterAddViewModel, Registration>(newRegister)); //Save the Changes try { ds.SaveChanges(); } catch { addedItem = null; } //Return true or false if the item is added or not return(addedItem == null ? 'E' : 'O'); } else if (register.VERIFIED == true) { return('A'); } else if (register.TOKENEXPIRY < DateTime.Now) { var updatedRegister = register; updatedRegister.TOKEN = newRegister.TOKEN; updatedRegister.TOKENEXPIRY = newRegister.TOKENEXPIRY; ds.Entry(register).CurrentValues.SetValues(updatedRegister); ds.SaveChanges(); return('U'); } else if (register.VERIFIED == false) { var updatedRegister = register; updatedRegister.TOKEN = newRegister.TOKEN; updatedRegister.TOKENEXPIRY = newRegister.TOKENEXPIRY; ds.Entry(register).CurrentValues.SetValues(updatedRegister); ds.SaveChanges(); return('U'); } else { return('R'); } }
public string SendEmail(RegisterFormViewModel newUser) { string emailStatusMessage; try { //Create a database entry for Registration var register = new RegisterAddViewModel(newUser); var result = m.RegistrationAdd(register); if (result == 'O') { SendEmailToUser(newUser.Email, register, 'A', null); emailStatusMessage = "Email has been sent to: " + newUser.Email + "! Please check your email for further instructions."; } //else if (result == 'C') //{ // emailStatusMessage = "It seems an email has already been sent to: " + newUser.Email + "! Please check your email for further instructions."; //} else if (result == 'A') { emailStatusMessage = "It seems you already have an account with us: " + newUser.Email + "! Please sign in."; } else if (result == 'U') { SendEmailToUser(newUser.Email, register, 'A', null); emailStatusMessage = "A new Email has been sent to: " + newUser.Email + "! Please check your email for further instructions."; } else { emailStatusMessage = "Oops! There was a problem on our end. Please check back later!"; } } catch (Exception) { emailStatusMessage = "There was a problem sending the email to: " + newUser.Email + "! Please check your email and try again."; } return(emailStatusMessage); }
public void SendEmailToUser(string Email, RegisterAddViewModel register, char flag, string token) { //Used for redirection to validate the account string url; if (flag == 'A') { url = HttpContext.Request.Host.Value + "/Account/ValidateEmail?email=" + Email + "&token=" + register.TOKEN; } else if (flag == 'C') { url = ""; } else if (flag == 'P') { url = HttpContext.Request.Host.Value + "/Account/ChangePassword?email=" + Email + "&token=" + token; } else { url = HttpContext.Request.Host.Value + "/Account/CompleteRegistration?email=" + Email; } var email = Email; var subject = "Imperium Email Validation"; string message; if (flag == 'A') { message = "<div class='text-center'>" + "<img class='img-fluid' src='https://i.imgur.com/A126FuX.jpg' height='300' width='500'/>" + "</div>" + "<h2>Email Validation Notification</h2><br/>" + "Hello!<br/>" + "Welcome to Imperium! Please click on the following link below to validate your account. From there, " + "you'll be able to complete your registration even further to create an account with us!<br/>" + "<a href='https://" + url + "'>https://" + url + "</a><br/><br/>" + "This link will expire 24 hours from the time it was sent.<br/><br/>" + "Have fun!"; } else if (flag == 'C') { message = "<div class='text-center'>" + "<img class='img-fluid' src='https://i.imgur.com/A126FuX.jpg' height='300' width='500'/>" + "</div>" + "<h2>Account Creation Successful</h2><br/>" + "Hello!<br/>" + "Welcome to Imperium! Your account is fully created and we're fully ready for you! " + "Whenever you are ready, please log into your account to download the newest version of Imperium. <br/><br/>" + "Have fun!"; } else if (flag == 'P') { message = "<div class='text-center'>" + "<img class='img-fluid' src='https://i.imgur.com/A126FuX.jpg' height='300' width='500'/>" + "</div>" + "<h2>Forgot Password Notification</h2><br/>" + "Hello!<br/>" + "Please click on the following link below to change your current password. <br/>" + "<a href='https://" + url + "'>https://" + url + "</a><br/><br/>" + "This link will expire 24 hours from the time it was sent.<br/><br/>" + "Have fun!"; } else { message = "<div class='text-center'>" + "<img class='img-fluid' src='https://i.imgur.com/A126FuX.jpg' height='300' width='500'/>" + "</div>" + "<h2>Email Validation Completed</h2><br/>" + "Hello!<br/>" + "Thank you for validating your email! Please click on the following link below to complete your account! <br/>" + "<a href='https://" + url + "'>https://" + url + "</a><br/><br/>" + "This link will expire 24 hours from the time it was sent.<br/><br/>" + "Have fun!"; } Execute(email, subject, message).Wait(); }