public async Task <ApiResult> CheckEmailConfirmedAsync(EmailWrapper emailWrapper)
        {
            var result = default(ApiResult);
            var email  = emailWrapper.Email;
            var user   = await userManager.FindByEmailAsync(email);

            if (user == null)
            {
                var message       = "User not found";
                var loggerMessage = $"User {email} not found";
                var errors        = new string[] { loggerMessage };
                result = ApiResult.GetErrorResult(ApiResultStatus.NotFound, loggerMessage, message, errors);
            }
            else
            {
                if (user.EmailConfirmed)
                {
                    result = ApiResult.GetOkResult(ApiResultStatus.Ok);
                }
                else
                {
                    var message       = "Email is not confirmed";
                    var loggerMessage = $"Email { email} is not confirmed. But you still can browse courses";
                    var errors        = new string[] { loggerMessage };
                    result = ApiResult.GetErrorResult(ApiResultStatus.BadRequest, loggerMessage, message, errors);
                }
            }

            return(result);
        }
        public async Task <ApiResult> ForgotPasswordAsync(EmailWrapper emailWrapper)
        {
            var result = default(ApiResult);
            var email  = emailWrapper.Email;
            var user   = await userManager.FindByEmailAsync(email);

            if (user == null)
            {
                var message       = "User not found";
                var loggerMessage = $"User {email} not found";
                var errors        = new string[] { loggerMessage };

                result = ApiResult.GetErrorResult(ApiResultStatus.NotFound, loggerMessage, message, errors);
            }
            else
            {
                var token = await userManager.GeneratePasswordResetTokenAsync(user);

                token = token.Replace("+", "%2B");

                await emailService.SendResetPasswordData(token, email);

                var message = "A confirm token was sent to your email. Follow the instructions";

                result = ApiResult.GetOkResult(ApiResultStatus.Ok, message: message);
            }

            return(result);
        }
        public async Task <ApiResult> SignOutAsync(EmailWrapper emailWrapper)
        {
            var result = default(ApiResult);
            var email  = emailWrapper.Email;
            var user   = await userManager.FindByEmailAsync(email);

            if (user == null)
            {
                var message       = "User not found";
                var loggerMessage = $"User {email} not found";
                var errors        = new string[] { };

                result = ApiResult.GetErrorResult(ApiResultStatus.NotFound, loggerMessage, message, errors);
            }
            else
            {
                var stampResult = await userManager.UpdateSecurityStampAsync(user);

                if (stampResult.Succeeded)
                {
                    await signInManager.SignOutAsync();

                    result = ApiResult.GetOkResult(ApiResultStatus.Ok);
                }
                else
                {
                    var message       = "Sign out error";
                    var loggerMessage = $"{message} for user {email}";
                    var errors        = GetIdentityErrors(stampResult.Errors);
                    result = ApiResult.GetErrorResult(ApiResultStatus.BadRequest, loggerMessage, message, errors);
                }
            }
            return(result);
        }
Exemple #4
0
        void OnAddEmailExecute()
        {
            var newEmail = new EmailWrapper(new Email());

            SelectedPerson.Emails.Add(newEmail);
            newEmail.EmailAddress = "";
        }
        public int[] SaveList(List <ContactInfo> items, Contact contact = null)
        {
            if (items == null || items.Count == 0)
            {
                return(null);
            }

            var result = new List <int>();

            using (var tx = Db.BeginTransaction(true))
            {
                foreach (var contactInfo in items)
                {
                    var contactInfoId = SaveInDb(contactInfo);
                    contactInfo.ID = contactInfoId;
                    result.Add(contactInfoId);
                }


                tx.Commit();
            }

            if (contact != null)
            {
                FactoryIndexer <EmailWrapper> .IndexAsync(EmailWrapper.ToEmailWrapper(contact, items.Where(r => r.InfoType == ContactInfoType.Email).ToList()));

                foreach (var item in items.Where(r => r.InfoType != ContactInfoType.Email))
                {
                    FactoryIndexer <InfoWrapper> .IndexAsync(item);
                }
            }

            return(result.ToArray());
        }
        public void ShouldNotTrackAddedItemsAsModified()
        {
            var emailToAdd = new EmailWrapper(new Email());

            var c = new ChangeTrackingCollection <EmailWrapper>(_emails);

            c.Add(emailToAdd);
            emailToAdd.EmailAddress = "*****@*****.**";
            Assert.IsTrue(emailToAdd.IsChanged);
            Assert.AreEqual(3, c.Count);
            Assert.AreEqual(1, c.AddedItems.Count);
            Assert.AreEqual(0, c.RemovedItems.Count);
            Assert.AreEqual(0, c.ModifiedItems.Count);
            Assert.IsTrue(c.IsChanged);
        }
Exemple #7
0
    protected void btnSendCode_Click(object sender, EventArgs e)
    {
        if (regexEmailValid.IsValid && RequiredFieldValidator1.IsValid)
        {
            DB_Helper db = new DB_Helper();
            string    em = txtEmail.Text;

            if (em.StartsWith("ACTIVATE"))
            {
                db.Execute(string.Format("update Users set email_verified=1 where id_user = {0}", MyUtils.ID_USER));
                MyUtils.RefreshUserRow();
            }
            else
            {
                int id_user = db.ExecuteScalarInt("select id_user from users where email=" + MyUtils.safe(em), 0);
                if (id_user > 0 && id_user != MyUtils.ID_USER)
                {
                    Session["message"] = "ERROR: This email is already used by a different user.";
                    return;
                }
                db.Execute("update users set email=" + MyUtils.safe(em) + " where id_user="******"EMAIL_ACTIVATE", MyUtils.ID_USER);
                Session["message"] = "OK: Activation email was sent. Please check your inbox.";
            }
        }
        else
        {
            Session["message"] = "ERROR: Invalid email.";
        }

        bool needtoverify = Convert.ToUInt32(MyUtils.GetUserField("email_verified")) == 0;

        if (!needtoverify)
        {
            Response.Redirect("/Account/");
            Session["message"] = "Account is active.";
        }
    }
        public async Task <ApiResult> ConfirmEmailRequestAsync(EmailWrapper emailWrapper)
        {
            var result = default(ApiResult);
            var email  = emailWrapper.Email;
            var user   = await userManager.FindByEmailAsync(email);

            if (user == null)
            {
                var message       = "User not found";
                var loggerMessage = $"User {email} not found";
                var errors        = new string[] { loggerMessage };
                result = ApiResult.GetErrorResult(ApiResultStatus.NotFound, loggerMessage, message, errors);
            }
            else
            {
                await SendEmailConfirmAsync(user);

                result = ApiResult.GetOkResult(ApiResultStatus.Ok, message: "A confirm message was sent to your email. Follow the instructions");
            }

            return(result);
        }
Exemple #9
0
        public ContactInfoWrapper DeleteContactInfo(int contactid, int id)
        {
            if (id <= 0 || contactid <= 0)
            {
                throw new ArgumentException();
            }

            var contact = DaoFactory.ContactDao.GetByID(contactid);

            if (contact == null || !CRMSecurity.CanEdit(contact))
            {
                throw new ItemNotFoundException();
            }

            var contactInfo = DaoFactory.ContactInfoDao.GetByID(id);

            if (contactInfo == null)
            {
                throw new ItemNotFoundException();
            }

            var wrapper = ToContactInfoWrapper(contactInfo);

            DaoFactory.ContactInfoDao.Delete(id);

            var messageAction = contact is Company ? MessageAction.CompanyUpdatedPrincipalInfo : MessageAction.PersonUpdatedPrincipalInfo;

            MessageService.Send(Request, messageAction, MessageTarget.Create(contact.ID), contact.GetTitle());

            if (contactInfo.InfoType == ContactInfoType.Email)
            {
                FactoryIndexer <EmailWrapper> .DeleteAsync(EmailWrapper.ToEmailWrapper(contact, new List <ContactInfo> {
                    contactInfo
                }));
            }
            FactoryIndexer <InfoWrapper> .DeleteAsync(contactInfo);

            return(wrapper);
        }
        public void ShouldTrackAddedItems()
        {
            var emailToAdd         = new EmailWrapper(new Email());
            var trackingCollection = new ChangeTrackingCollection <EmailWrapper>(_emails);

            Assert.AreEqual(2, trackingCollection.Count);
            Assert.IsFalse(trackingCollection.IsChanged);

            trackingCollection.Add(emailToAdd);

            Assert.AreEqual(3, trackingCollection.Count);
            Assert.AreEqual(1, trackingCollection.AddedItems.Count);
            Assert.AreEqual(0, trackingCollection.RemovedItems.Count);
            Assert.AreEqual(0, trackingCollection.ModifiedItems.Count);
            Assert.AreEqual(emailToAdd, trackingCollection.AddedItems.First());

            trackingCollection.Remove(emailToAdd);
            Assert.AreEqual(2, trackingCollection.Count);
            Assert.AreEqual(0, trackingCollection.AddedItems.Count);
            Assert.AreEqual(0, trackingCollection.RemovedItems.Count);
            Assert.AreEqual(0, trackingCollection.ModifiedItems.Count);
            Assert.IsFalse(trackingCollection.IsChanged);
        }
    protected void btnSendCode_Click(object sender, EventArgs e)
    {
        if (regexEmailValid.IsValid && RequiredFieldValidator1.IsValid)
        {
            DB_Helper db = new DB_Helper();
            string em =txtEmail.Text;

            if (em.StartsWith("ACTIVATE"))
            {
                db.Execute(string.Format("update Users set email_verified=1 where id_user = {0}", MyUtils.ID_USER));
                MyUtils.RefreshUserRow();
            }
            else
            {

                int id_user = db.ExecuteScalarInt("select id_user from users where email=" + MyUtils.safe(em), 0);
                if (id_user > 0 && id_user != MyUtils.ID_USER)
                {
                    Session["message"] = "ERROR: This email is already used by a different user.";
                    return;
                }
                db.Execute("update users set email=" + MyUtils.safe(em) + " where id_user="******"EMAIL_ACTIVATE", MyUtils.ID_USER);
                Session["message"] = "OK: Activation email was sent. Please check your inbox.";
            }
        }
        else Session["message"] = "ERROR: Invalid email.";

        bool needtoverify = Convert.ToUInt32(MyUtils.GetUserField("email_verified")) == 0;
        if (!needtoverify)
        {
            Response.Redirect("/Account/");
            Session["message"] = "Account is active.";
        }
    }
        public void ShouldRejectChanges()
        {
            var emailToModify = _emails.First();
            var emailToRemove = _emails.Skip(1).First();
            var emailToAdd    = new EmailWrapper(new Email {
                EmailAddress = "*****@*****.**"
            });

            var trackingCollection = new ChangeTrackingCollection <EmailWrapper>(_emails);

            trackingCollection.Add(emailToAdd);
            trackingCollection.Remove(emailToRemove);
            emailToModify.EmailAddress = "*****@*****.**";
            Assert.AreEqual(email1, emailToModify.EmailAddressOriginalValue);

            Assert.AreEqual(2, trackingCollection.Count);
            Assert.AreEqual(1, trackingCollection.AddedItems.Count);
            Assert.AreEqual(1, trackingCollection.ModifiedItems.Count);
            Assert.AreEqual(1, trackingCollection.RemovedItems.Count);

            trackingCollection.RejectChanges();

            Assert.AreEqual(2, trackingCollection.Count);
            Assert.IsTrue(trackingCollection.Contains(emailToModify));
            Assert.IsTrue(trackingCollection.Contains(emailToRemove));

            Assert.AreEqual(0, trackingCollection.AddedItems.Count);
            Assert.AreEqual(0, trackingCollection.ModifiedItems.Count);
            Assert.AreEqual(0, trackingCollection.RemovedItems.Count);

            Assert.IsFalse(emailToModify.IsChanged);
            Assert.AreEqual(email1, emailToModify.EmailAddress);
            Assert.AreEqual(email1, emailToModify.EmailAddressOriginalValue);

            Assert.IsFalse(trackingCollection.IsChanged);
        }
Exemple #13
0
    protected void btnsend_Click(object sender, EventArgs e)
    {
        DB_Helper DB = new DB_Helper();

        if (txtEmail.Text.Length > 0)
        {
            int userId = DB.ExecuteScalarInt("select id_user from users where email='" + txtEmail.Text.Replace("'", "''") + "'", 0); // db.getActiveUserIdByEmail(txtEmail.Text);
            if (userId != 0)
            {
                EmailWrapper mw = new EmailWrapper();
                mw.SendTemplate("EMAIL_LOSTPASSWORD", userId);
                Session["SUCCESS"] = "Password has been sent to provided e-mail";
                Response.Redirect("/Forgot");
            }
            else
            {
                MyUtils.DisplayCustomMessageInValidationSummary("Provided e-mail is not registered as a valid user e-mail.", ValidationSummary1);
            }
        }
        //else
        //{
        //    MyUtils.DisplayCustomMessageInValidationSummary("E-mail is required.", ValidationSummary1);
        //}
    }
        public void ShouldTrackAddedItems()
        {
            var emailToAdd = new EmailWrapper(new Email());

            var c = new ChangeTrackingCollection <EmailWrapper>(_emails);

            Assert.AreEqual(2, c.Count);
            Assert.IsFalse(c.IsChanged);

            c.Add(emailToAdd);
            Assert.AreEqual(3, c.Count);
            Assert.AreEqual(1, c.AddedItems.Count);
            Assert.AreEqual(0, c.RemovedItems.Count);
            Assert.AreEqual(0, c.ModifiedItems.Count);
            Assert.AreEqual(emailToAdd, c.AddedItems.First());
            Assert.IsTrue(c.IsChanged);

            c.Remove(emailToAdd);
            Assert.AreEqual(2, c.Count);
            Assert.AreEqual(0, c.AddedItems.Count);
            Assert.AreEqual(0, c.RemovedItems.Count);
            Assert.AreEqual(0, c.ModifiedItems.Count);
            Assert.IsFalse(c.IsChanged);
        }
        public void ShouldRejectChanges()
        {
            var emailToModify = _emails.First();
            var emailToRemove = _emails.Skip(1).First();
            var emailToAdd    = new EmailWrapper(new Email {
                EmailAddress = "*****@*****.**"
            });

            var c = new ChangeTrackingCollection <EmailWrapper>(_emails);

            c.Add(emailToAdd);
            c.Remove(emailToRemove);
            emailToModify.EmailAddress = "*****@*****.**";
            Assert.AreEqual("*****@*****.**", emailToModify.EmailAddressOriginalValue);

            Assert.AreEqual(2, c.Count);
            Assert.AreEqual(1, c.AddedItems.Count);
            Assert.AreEqual(1, c.ModifiedItems.Count);
            Assert.AreEqual(1, c.RemovedItems.Count);

            c.RejectChanges();

            Assert.AreEqual(2, c.Count);
            Assert.IsTrue(c.Contains(emailToModify));
            Assert.IsTrue(c.Contains(emailToRemove));

            Assert.AreEqual(0, c.AddedItems.Count);
            Assert.AreEqual(0, c.ModifiedItems.Count);
            Assert.AreEqual(0, c.RemovedItems.Count);

            Assert.IsFalse(emailToModify.IsChanged);
            Assert.AreEqual("*****@*****.**", emailToModify.EmailAddress);
            Assert.AreEqual("*****@*****.**", emailToModify.EmailAddressOriginalValue);

            Assert.IsFalse(c.IsChanged);
        }
Exemple #16
0
        public async Task <IActionResult> ConfirmEmailRequest([FromBody] EmailWrapper emailWrapper)
        {
            var result = await accountService.ConfirmEmailRequestAsync(emailWrapper);

            return(this.GetActionResult(result, logger));
        }
Exemple #17
0
 public EmailVM(EmailWrapper src)
 {
     _source = src;
 }
Exemple #18
0
    protected void btnSignUp_Click(object sender, EventArgs e)
    {
        int id_user;

        try
        {
            txtName.Text     = txtName.Text.Trim();
            txtPassword.Text = txtPassword.Text.Trim();
            txtEmail.Text    = txtEmail.Text.Trim();

            if (db.ExecuteScalarInt(string.Format("select count(*) from users where username = {0}", MyUtils.safe(txtName.Text))) > 0)
            {
                MyUtils.DisplayCustomMessageInValidationSummary("User with this Username already exists.", ValidationSummary1);
                return;
            }

            if (db.ExecuteScalarInt(string.Format("select count(*) from users where email = {0}", MyUtils.safe(txtEmail.Text))) > 0)
            {
                MyUtils.DisplayCustomMessageInValidationSummary("User with this Email Address already exists.", ValidationSummary1);
                return;
            }

            string xx = Profanity.TestAndMessage(txtName.Text);

            if (xx != null)
            {
                MyUtils.DisplayCustomMessageInValidationSummary("User name " + xx, ValidationSummary1);
                return;
            }


            DataSet d = db.CommandBuilder_LoadDataSet("select * from users where id_user=-1"); //get the columns schema
            DataRow n = d.Tables[0].NewRow();
            n["username"] = MyUtils.StripHTML(txtName.Text);
            n["password"] = txtPassword.Text;
            n["email"]    = txtEmail.Text;
            n["sex"]      = MyUtils.StripHTML(ddlGender.SelectedValue);

            string   error = "";
            DateTime dt    = birthday.GetBirthday(out error);
            if (error != "")
            {
                MyUtils.DisplayCustomMessageInValidationSummary(error, ValidationSummary1);
                return;
            }
            n["birthdate"] = dt;

            n["country"] = 28; // United States

            d.Tables[0].Rows.Add(n);
            id_user = db.CommandBuilder_SaveDataset(); //gets back @@identity

            EmailWrapper mw = new EmailWrapper();
            mw.SendTemplate("EMAIL_ACTIVATE", id_user);

            string membership = "";
            MyUtils.authenticate(txtName.Text, txtPassword.Text, out membership);
            FormsAuthentication.SetAuthCookie(txtName.Text, false);
            Response.Redirect("~/Account/Registration");
        }
        finally
        {
            db.CommandBuilder_Disconnect();
        }
    }
Exemple #19
0
    protected void btnSignUp_Click(object sender, EventArgs e)
    {
        int id_user;
        try
        {
            txtName.Text = txtName.Text.Trim();
            txtPassword.Text = txtPassword.Text.Trim();
            txtEmail.Text = txtEmail.Text.Trim();

            if (db.ExecuteScalarInt(string.Format("select count(*) from users where username = {0}", MyUtils.safe(txtName.Text))) > 0)
            {
                MyUtils.DisplayCustomMessageInValidationSummary("User with this Username already exists.", ValidationSummary1);
                return;
            }

            if (db.ExecuteScalarInt(string.Format("select count(*) from users where email = {0}", MyUtils.safe(txtEmail.Text))) > 0)
            {
                MyUtils.DisplayCustomMessageInValidationSummary("User with this Email Address already exists.", ValidationSummary1);
                return;
            }

            string xx = Profanity.TestAndMessage(txtName.Text);

            if (xx != null)
            {
                MyUtils.DisplayCustomMessageInValidationSummary("User name "+xx, ValidationSummary1);
                return;
            }

            DataSet d = db.CommandBuilder_LoadDataSet("select * from users where id_user=-1"); //get the columns schema
            DataRow n = d.Tables[0].NewRow();
            n["username"] = MyUtils.StripHTML(txtName.Text);
            n["password"] = txtPassword.Text;
            n["email"] = txtEmail.Text;
            n["sex"] = MyUtils.StripHTML(ddlGender.SelectedValue);

            string error = "";
            DateTime dt = birthday.GetBirthday(out error);
            if (error != "")
            {
                MyUtils.DisplayCustomMessageInValidationSummary(error, ValidationSummary1);
                return;
            }
            n["birthdate"] = dt;

            n["country"] = 28; // United States

            d.Tables[0].Rows.Add(n);
            id_user = db.CommandBuilder_SaveDataset(); //gets back @@identity

            EmailWrapper mw = new EmailWrapper();
            mw.SendTemplate("EMAIL_ACTIVATE", id_user);

            string membership = "";
            MyUtils.authenticate(txtName.Text, txtPassword.Text, out membership);
            FormsAuthentication.SetAuthCookie(txtName.Text, false);
            Response.Redirect("~/Account/Registration");
        }
        finally
        {
            db.CommandBuilder_Disconnect();
        }
    }
Exemple #20
0
        public async Task <IActionResult> ForgotPassword([FromBody] EmailWrapper emailWrapper)
        {
            var result = await accountService.ForgotPasswordAsync(emailWrapper);

            return(this.GetActionResult(result, logger));
        }
Exemple #21
0
        public async Task <IActionResult> SignOut(EmailWrapper emailWrapper)
        {
            var result = await accountService.SignOutAsync(emailWrapper);

            return(this.GetActionResult(result, logger));
        }