コード例 #1
0
    public void listPending_ItemCommand(object sender, DataListCommandEventArgs e)
    {
        switch (e.CommandName)
        {
        case "Accept":
        {
            int id = int.Parse(e.CommandArgument.ToString());
            TransitAccountGroupAccountInvitation t_instance = SessionManager.GroupService.GetAccountGroupAccountInvitationById(
                SessionManager.Ticket, id);
            SessionManager.GroupService.AcceptAccountGroupAccountInvitation(SessionManager.Ticket, id, inputReason.Text);
            GetData(sender, e);
            TransitAccountGroup t_group = SessionManager.GetInstance <TransitAccountGroup, int>(
                t_instance.AccountGroupId, SessionManager.GroupService.GetAccountGroupById);
            ReportInfo(t_instance.AccountGroupIsPrivate && !t_instance.RequesterIsAdministrator
                        ? "Since this is a private group, your membership must first be approved by the group administrator. A request has been submitted."
                        : string.Format("Invitation accepted. Click <a href='AccountGroupView.aspx?id={0}'>here</a> for \"{1}\".", t_group.Id, Renderer.Render(t_group.Name)));
            break;
        }

        case "Reject":
        {
            int id = int.Parse(e.CommandArgument.ToString());
            SessionManager.GroupService.RejectAccountGroupAccountInvitation(SessionManager.Ticket, id, inputReason.Text);
            GetData(sender, e);
            ReportInfo("Invitation rejected.");
            break;
        }
        }
    }
コード例 #2
0
 public void friendsList_ItemCommand(object sender, DataListCommandEventArgs e)
 {
     switch (e.CommandName)
     {
     case "Select":
         int id = int.Parse(e.CommandArgument.ToString());
         TransitAccountGroupAccountInvitation t_instance = new TransitAccountGroupAccountInvitation();
         t_instance.AccountId      = id;
         t_instance.AccountGroupId = GroupId;
         t_instance.Message        = inputMessage.Text;
         t_instance.RequesterId    = SessionManager.Account.Id;
         SessionManager.GroupService.CreateOrUpdateAccountGroupAccountInvitation(
             SessionManager.Ticket, t_instance);
         Redirect(ReturnUrl);
         break;
     }
 }
コード例 #3
0
    public void invite_Click(object sender, EventArgs e)
    {
        List <string>       invitations = new List <string>();
        List <string>       failures    = new List <string>();
        ExceptionCollection exceptions  = new ExceptionCollection();

        foreach (string email in inputEmailAddress.Text.Split(";,\n\r".ToCharArray()))
        {
            if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(email.Trim()))
            {
                continue;
            }

            try
            {
                // account is a member

                TransitAccount existing = SessionManager.AccountService.FindByEmail(
                    SessionManager.Ticket, email);

                TransitAccountGroupAccountInvitation t_instance = new TransitAccountGroupAccountInvitation();
                t_instance.AccountId      = existing.Id;
                t_instance.AccountGroupId = GroupId;
                t_instance.Message        = inputMessage.Text;
                t_instance.RequesterId    = SessionManager.Account.Id;
                SessionManager.GroupService.CreateOrUpdateAccountGroupAccountInvitation(
                    SessionManager.Ticket, t_instance);
                continue;
            }
            catch
            {
            }

            try
            {
                MailAddress address = new MailAddress(email);
                TransitAccountInvitation invitation = new TransitAccountInvitation();
                invitation.Code           = Guid.NewGuid().ToString();
                invitation.Email          = email;
                invitation.Message        = inputMessage.Text;
                invitation.AccountId      = SessionManager.AccountId;
                invitation.AccountGroupId = GroupId;
                SessionManager.CreateOrUpdate <TransitAccountInvitation>(
                    invitation, SessionManager.AccountService.CreateOrUpdateAccountInvitation);
                invitations.Add(email);
            }
            catch (Exception ex)
            {
                failures.Add(email);
                exceptions.Add(new Exception(string.Format("Error inviting {0}: {1}", email, ex.Message), ex));
            }
        }

        if (invitations.Count > 0)
        {
            ReportInfo(string.Format("{0} invitation{1} sent",
                                     invitations.Count, invitations.Count == 1 ? string.Empty : "s"));
        }

        inputEmailAddress.Text = string.Join("\n", failures.ToArray());
        exceptions.Throw();
    }
コード例 #4
0
ファイル: WebGroupService.cs プロジェクト: dblock/sncore
 public int CreateOrUpdateAccountGroupAccountInvitation(string ticket, TransitAccountGroupAccountInvitation t_instance)
 {
     return WebServiceImpl<TransitAccountGroupAccountInvitation, ManagedAccountGroupAccountInvitation, AccountGroupAccountInvitation>.CreateOrUpdate(
         ticket, t_instance);
 }
コード例 #5
0
ファイル: WebGroupService.cs プロジェクト: qwdf1615/sncore
 public int CreateOrUpdateAccountGroupAccountInvitation(string ticket, TransitAccountGroupAccountInvitation t_instance)
 {
     return(WebServiceImpl <TransitAccountGroupAccountInvitation, ManagedAccountGroupAccountInvitation, AccountGroupAccountInvitation> .CreateOrUpdate(
                ticket, t_instance));
 }
コード例 #6
0
    public void invite_Click(object sender, EventArgs e)
    {
        List<string> invitations = new List<string>();
        List<string> failures = new List<string>();
        ExceptionCollection exceptions = new ExceptionCollection();

        foreach (string email in inputEmailAddress.Text.Split(";,\n\r".ToCharArray()))
        {
            if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(email.Trim()))
                continue;

            try
            {
                // account is a member

                TransitAccount existing = SessionManager.AccountService.FindByEmail(
                    SessionManager.Ticket, email);

                TransitAccountGroupAccountInvitation t_instance = new TransitAccountGroupAccountInvitation();
                t_instance.AccountId = existing.Id;
                t_instance.AccountGroupId = GroupId;
                t_instance.Message = inputMessage.Text;
                t_instance.RequesterId = SessionManager.Account.Id;
                SessionManager.GroupService.CreateOrUpdateAccountGroupAccountInvitation(
                    SessionManager.Ticket, t_instance);
                continue;
            }
            catch
            {

            }

            try
            {
                MailAddress address = new MailAddress(email);
                TransitAccountInvitation invitation = new TransitAccountInvitation();
                invitation.Code = Guid.NewGuid().ToString();
                invitation.Email = email;
                invitation.Message = inputMessage.Text;
                invitation.AccountId = SessionManager.AccountId;
                invitation.AccountGroupId = GroupId;
                SessionManager.CreateOrUpdate<TransitAccountInvitation>(
                    invitation, SessionManager.AccountService.CreateOrUpdateAccountInvitation);
                invitations.Add(email);
            }
            catch (Exception ex)
            {
                failures.Add(email);
                exceptions.Add(new Exception(string.Format("Error inviting {0}: {1}", email, ex.Message), ex));
            }
        }

        if (invitations.Count > 0)
        {
            ReportInfo(string.Format("{0} invitation{1} sent",
                invitations.Count, invitations.Count == 1 ? string.Empty : "s"));
        }

        inputEmailAddress.Text = string.Join("\n", failures.ToArray());
        exceptions.Throw();
    }
コード例 #7
0
 public void friendsList_ItemCommand(object sender, DataListCommandEventArgs e)
 {
     switch (e.CommandName)
     {
         case "Select":
             int id = int.Parse(e.CommandArgument.ToString());
             TransitAccountGroupAccountInvitation t_instance = new TransitAccountGroupAccountInvitation();
             t_instance.AccountId = id;
             t_instance.AccountGroupId = GroupId;
             t_instance.Message = inputMessage.Text;
             t_instance.RequesterId = SessionManager.Account.Id;
             SessionManager.GroupService.CreateOrUpdateAccountGroupAccountInvitation(
                 SessionManager.Ticket, t_instance);
             Redirect(ReturnUrl);
             break;
     }
 }