Пример #1
0
        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');
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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();
        }