예제 #1
0
        public void AddAccountEmail()
        {
            ManagedAccount a = new ManagedAccount(Session);

            try
            {
                a.Create("Test User", "testpassword", "*****@*****.**", DateTime.UtcNow, AdminSecurityContext);
                
                TransitAccountEmail t_instance = new TransitAccountEmail();
                t_instance.Address = "*****@*****.**";
                t_instance.AccountId = a.Id;
                ManagedAccountEmail m_instance = new ManagedAccountEmail(Session);
                m_instance.CreateOrUpdate(t_instance, a.GetSecurityContext());
            }
            finally
            {
                a.Delete(AdminSecurityContext);
            }
        }
예제 #2
0
        public void AddAccountEmail()
        {
            ManagedAccount a = new ManagedAccount(Session);

            try
            {
                a.Create("Test User", "testpassword", "*****@*****.**", DateTime.UtcNow, AdminSecurityContext);

                TransitAccountEmail t_instance = new TransitAccountEmail();
                t_instance.Address   = "*****@*****.**";
                t_instance.AccountId = a.Id;
                ManagedAccountEmail m_instance = new ManagedAccountEmail(Session);
                m_instance.CreateOrUpdate(t_instance, a.GetSecurityContext());
            }
            finally
            {
                a.Delete(AdminSecurityContext);
            }
        }
예제 #3
0
        public void TryGetEmailAddressTest()
        {
            ManagedAccount a = new ManagedAccount(Session);

            try
            {
                string email = GetNewEmailAddress();
                a.Create("Test User", "testpassword", email, DateTime.UtcNow, AdminSecurityContext);

                string address;
                Assert.IsTrue(a.TryGetActiveEmailAddress(out address, AdminSecurityContext));
                Console.WriteLine("Address: {0}", address);
                Assert.AreEqual(email, address);
                Assert.IsFalse(a.TryGetVerifiedEmailAddress(out address, AdminSecurityContext));
                a.VerifyAllEmails();
                Assert.IsTrue(a.TryGetVerifiedEmailAddress(out address, AdminSecurityContext));
                Assert.AreEqual(email, address);
                // add an address, make it principal
                TransitAccountEmail t_instance = new TransitAccountEmail();
                t_instance.Address   = GetNewEmailAddress();
                t_instance.AccountId = a.Id;
                ManagedAccountEmail m_instance = new ManagedAccountEmail(Session);
                t_instance.Id = m_instance.CreateOrUpdate(t_instance, a.GetSecurityContext());
                Session.Flush();

                a.Instance.AccountEmails = Session.CreateCriteria(typeof(AccountEmail))
                                           .Add(Expression.Eq("Account.Id", a.Id))
                                           .List <AccountEmail>();

                m_instance.Confirm(AdminSecurityContext);
                a.VerifyAllEmails();
                t_instance.Principal = true;
                m_instance.CreateOrUpdate(t_instance, a.GetSecurityContext());
                Assert.IsTrue(a.TryGetActiveEmailAddress(out address, AdminSecurityContext));
                Console.WriteLine("Address: {0}", address);
                Assert.AreEqual(address, t_instance.Address);
            }
            finally
            {
                a.Delete(AdminSecurityContext);
            }
        }
예제 #4
0
    public void gridManage_ItemCommand(object sender, DataGridCommandEventArgs e)
    {
        switch (e.CommandName)
        {
        case "Delete":
        {
            int id = int.Parse(e.Item.Cells[(int)Cells.id].Text);
            SessionManager.Delete <TransitAccountEmail>(id, SessionManager.AccountService.DeleteAccountEmail);
            ReportInfo("Email deleted.");
            GetData(sender, e);
        }
        break;

        case "Resend":
        {
            int    id      = int.Parse(e.Item.Cells[(int)Cells.id].Text);
            string address = e.Item.Cells[(int)Cells.address].Text;
            SessionManager.AccountService.ConfirmAccountEmail(SessionManager.Ticket, id);
            ReportInfo("A confirmation has ben resent to '" + address + "'.");
        }
        break;

        case "SetPrincipal":
        {
            int    id               = int.Parse(e.Item.Cells[(int)Cells.id].Text);
            string address          = e.Item.Cells[(int)Cells.address].Text;
            TransitAccountEmail tae = new TransitAccountEmail();
            tae.Id        = id;
            tae.Address   = address;
            tae.Principal = true;
            SessionManager.CreateOrUpdate <TransitAccountEmail>(
                tae, SessionManager.AccountService.CreateOrUpdateAccountEmail);
            gridManage_OnGetDataSource(sender, e);
            gridManage.DataBind();
        }
        break;
        }
    }
예제 #5
0
    public void save_Click(object sender, EventArgs e)
    {
        IList <TransitAccountEmail> emails = SessionManager.AccountService.GetAccountEmails(
            SessionManager.Ticket, SessionManager.AccountId, null);

        foreach (TransitAccountEmail email in emails)
        {
            if (email.Address.Trim().ToLower() == inputEmailAddress.Text.Trim().ToLower())
            {
                throw new Exception(string.Format("You have already added the e-mail address '{0}'.",
                                                  Renderer.Render(inputEmailAddress.Text)));
            }
        }

        TransitAccountEmail te = new TransitAccountEmail();

        te.Address = inputEmailAddress.Text;
        SessionManager.CreateOrUpdate <TransitAccountEmail>(
            te, SessionManager.AccountService.CreateOrUpdateAccountEmail);
        ReportInfo(string.Format("A confirmation has ben sent to '{0}'.",
                                 Renderer.Render(te.Address)));
        GetData(sender, e);
        inputEmailAddress.Text = string.Empty;
    }
예제 #6
0
        public int CreateOrUpdateAccountEmail(string ticket, TransitAccountEmail tae)
        {
            int id = WebServiceImpl<TransitAccountEmail, ManagedAccountEmail, AccountEmail>.CreateOrUpdate(
                ticket, tae);

            if (tae.Id == 0)
            {
                using (SnCore.Data.Hibernate.Session.OpenConnection())
                {
                    ISession session = SnCore.Data.Hibernate.Session.Current;
                    ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket);
                    ManagedAccountEmail m_instance = new ManagedAccountEmail(session, id);
                    m_instance.Confirm(sec);
                    SnCore.Data.Hibernate.Session.Flush();
                }
            }

            return id;
        }
예제 #7
0
    public void save_Click(object sender, EventArgs e)
    {
        IList<TransitAccountEmail> emails = SessionManager.AccountService.GetAccountEmails(
            SessionManager.Ticket, SessionManager.AccountId, null);

        foreach (TransitAccountEmail email in emails)
        {
            if (email.Address.Trim().ToLower() == inputEmailAddress.Text.Trim().ToLower())
            {
                throw new Exception(string.Format("You have already added the e-mail address '{0}'.",
                    Renderer.Render(inputEmailAddress.Text)));
            }
        }

        TransitAccountEmail te = new TransitAccountEmail();
        te.Address = inputEmailAddress.Text;
        SessionManager.CreateOrUpdate<TransitAccountEmail>(
            te, SessionManager.AccountService.CreateOrUpdateAccountEmail);
        ReportInfo(string.Format("A confirmation has ben sent to '{0}'.", 
            Renderer.Render(te.Address)));
        GetData(sender, e);
        inputEmailAddress.Text = string.Empty;
    }
예제 #8
0
 public void gridManage_ItemCommand(object sender, DataGridCommandEventArgs e)
 {
     switch (e.CommandName)
     {
         case "Delete":
             {
                 int id = int.Parse(e.Item.Cells[(int)Cells.id].Text);
                 SessionManager.Delete<TransitAccountEmail>(id, SessionManager.AccountService.DeleteAccountEmail);
                 ReportInfo("Email deleted.");
                 GetData(sender, e);
             }
             break;
         case "Resend":
             {
                 int id = int.Parse(e.Item.Cells[(int)Cells.id].Text);
                 string address = e.Item.Cells[(int)Cells.address].Text;
                 SessionManager.AccountService.ConfirmAccountEmail(SessionManager.Ticket, id);
                 ReportInfo("A confirmation has ben resent to '" + address + "'.");
             }
             break;
         case "SetPrincipal":
             {
                 int id = int.Parse(e.Item.Cells[(int)Cells.id].Text);
                 string address = e.Item.Cells[(int)Cells.address].Text;
                 TransitAccountEmail tae = new TransitAccountEmail();
                 tae.Id = id;
                 tae.Address = address;
                 tae.Principal = true;
                 SessionManager.CreateOrUpdate<TransitAccountEmail>(
                     tae, SessionManager.AccountService.CreateOrUpdateAccountEmail);
                 gridManage_OnGetDataSource(sender, e);
                 gridManage.DataBind();
             }
             break;
     }
 }
예제 #9
0
        public void TryGetEmailAddressTest()
        {
            ManagedAccount a = new ManagedAccount(Session);

            try
            {
                string email = GetNewEmailAddress();
                a.Create("Test User", "testpassword", email, DateTime.UtcNow, AdminSecurityContext);

                string address;
                Assert.IsTrue(a.TryGetActiveEmailAddress(out address, AdminSecurityContext));
                Console.WriteLine("Address: {0}", address);
                Assert.AreEqual(email, address);
                Assert.IsFalse(a.TryGetVerifiedEmailAddress(out address, AdminSecurityContext));
                a.VerifyAllEmails();
                Assert.IsTrue(a.TryGetVerifiedEmailAddress(out address, AdminSecurityContext));
                Assert.AreEqual(email, address);
                // add an address, make it principal
                TransitAccountEmail t_instance = new TransitAccountEmail();
                t_instance.Address = GetNewEmailAddress();
                t_instance.AccountId = a.Id;
                ManagedAccountEmail m_instance = new ManagedAccountEmail(Session);
                t_instance.Id = m_instance.CreateOrUpdate(t_instance, a.GetSecurityContext());
                Session.Flush();

                a.Instance.AccountEmails = Session.CreateCriteria(typeof(AccountEmail))
                    .Add(Expression.Eq("Account.Id", a.Id))
                    .List<AccountEmail>();

                m_instance.Confirm(AdminSecurityContext);
                a.VerifyAllEmails();
                t_instance.Principal = true;
                m_instance.CreateOrUpdate(t_instance, a.GetSecurityContext());
                Assert.IsTrue(a.TryGetActiveEmailAddress(out address, AdminSecurityContext));
                Console.WriteLine("Address: {0}", address);
                Assert.AreEqual(address, t_instance.Address);
            }
            finally
            {
                a.Delete(AdminSecurityContext);
            }
        }