Beispiel #1
0
        private void SendConfirmationEmail(User user)
        {
            using (var ctx = new StepMapDbContext())
            {
                user = ctx.Users.Attach(user);
                UserConfirmation uc = new UserConfirmation();
                uc.User = user;
                uc.ConfirmationGuid = Guid.NewGuid().ToString();

                ctx.UserConfirmations.Add(uc);
                ctx.SaveChanges();
                
                string link = config.ClientBaseAddress + "/Account/ConfirmEmail/?guid=" + uc.ConfirmationGuid;
                //TODO: do not hardcode text
                notificationManager.SendEmail(user, "registration on stepmap.xyz", string.Format("you are registered on stepmap.xyz. please confirm your accout visiting this link: {0}!", link)); //LOCSTR
            }
        }
Beispiel #2
0
        public void DALTest3()
        {
            using (StepMapDbContext ctx = new StepMapDbContext())
            {
                User u = new User();
                u.Email = "*****@*****.**";
                u.LastLogin = DateTime.UtcNow;
                u.Name = "test user";
                u.PasswordHash = "hash";
                u.UserRole = UserRole.Member;
                u.UserState = UserState.Active;

                u = ctx.Users.Add(u);
                ctx.SaveChanges();

                UserConfirmation uc = new UserConfirmation();
                uc.User = u;
                uc.ConfirmationGuid = "guid";
                uc = ctx.UserConfirmations.Add(uc);
                ctx.SaveChanges();

                try
                {
                    UserConfirmation du = ctx.UserConfirmations.Single(tu => tu.ConfirmationGuid == "guid");
                    Assert.AreEqual(u.Id, du.User.Id);
                }
                finally
                {
                    ctx.UserConfirmations.Remove(uc);
                    ctx.Users.Remove(u);
                    ctx.SaveChanges();
                }
            }
        }