/// <summary>
        /// Raises the <see cref="Control.DataBind()"/> event.
        /// </summary>
        /// <param name="e">An <see cref="EventArgs"/> object that contains the event data.</param>
        protected override void OnDataBinding(EventArgs e)
        {
            string cid = CPProfile.Cid;

            if (!string.IsNullOrEmpty(cid))
            {
                this._newMessageCount = CmoMailbox.GetMailbox(cid, this.Elections).CountUnopened();
            }
        }
Beispiel #2
0
 /// <summary>
 /// Raises the <see cref="Control.DataBinding"/> event.
 /// </summary>
 /// <param name="e">An <see cref="EventArgs"/> object that contains the event data.</param>
 protected override void OnDataBinding(EventArgs e)
 {
     this.DataSource.GetMessages();
     this.CmoMailboxMessageList.DataSource = this.DataSource;
     this.CmoMailboxMessageList.DataBind();
     this.UnarchiveButton.Visible = (this.DataSource.View != CmoMailboxView.Unopened) && (this.DataSource.View != CmoMailboxView.Current);
     this.ArchiveButton.Visible   = (this.DataSource.View != CmoMailboxView.Archived) && (this.DataSource.View != CmoMailboxView.Unopened);
     this.FlagButton.Visible      = this.DataSource.View != CmoMailboxView.FollowUp;
     this.Master.DataSource       = this.DataSource;
     this.Master.DataBind();
 }
Beispiel #3
0
 /// <summary>
 /// Handles the <see cref="Control.OnLoad" /> event that occurs as an instance of the page is being created.
 /// </summary>
 /// <param name="e">An <see cref="EventArgs" /> that contains the event data.</param>
 protected override void OnLoad(EventArgs e)
 {
     base.OnLoad(e);
     this.DataSource          = CmoMailbox.GetMailbox(CPProfile.Cid, CPProfile.Elections);
     this.DataSource.Username = User.Identity.Name;
     this.DataSource.ParseQueryString(Request.QueryString);
     if (!Page.IsPostBack)
     {
         this.DataBind();
     }
 }
Beispiel #4
0
        private CmoMailbox GetMailbox(CmoMailboxView?view = null)
        {
            var mailbox = CmoMailbox.GetMailbox(CPProfile.Cid, CPProfile.Elections);

            mailbox.Username = User.Identity.Name;
            if (view.HasValue)
            {
                mailbox.GetMessages(view.Value);
            }
            return(mailbox);
        }
Beispiel #5
0
 public static MessageCenterViewModel MessageCenterFrom(CmoMailbox source, MessageViewModel message = null)
 {
     return(source == null ? new MessageCenterViewModel() : new MessageCenterViewModel
     {
         Messages = source.Messages.Select(m => MessageHeaderFrom(m)),
         CurrentView = source.View,
         Views = new Dictionary <string, CmoMailboxView>()
         {
             { "Current", CmoMailboxView.Current },
             { "Unopened", CmoMailboxView.Unopened },
             { "Flagged", CmoMailboxView.FollowUp },
             { "Archived", CmoMailboxView.Archived },
             { "All", CmoMailboxView.All }
         },
         SelectedMessage = message
     });
 }
Beispiel #6
0
        /// <summary>
        /// Handles the <see cref="Control.OnLoad" /> event that occurs as an instance of the page is being created.
        /// </summary>
        /// <param name="e">An <see cref="EventArgs" /> that contains the event data.</param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            string UniqueID = Request.QueryString[CmoMailboxMessageList.MessageIdParameterName];

            _mailbox          = CmoMailbox.GetMailbox(CPProfile.Cid, CPProfile.Elections, Request.QueryString);
            _mailbox.Username = User.Identity.Name;
            if (!Page.IsPostBack)
            {
                _datasource = GetMessage(UniqueID);
                this.DataBind();
            }
            Messages master = this.Master as Messages;

            if (master != null)
            {
                master.DataSource = _mailbox;
                master.DataBind();
            }
        }
Beispiel #7
0
        public static MessageViewModel MessageFrom(string id, CmoMailbox mailbox)
        {
            if (string.IsNullOrWhiteSpace(id) || mailbox == null)
            {
                return(new MessageViewModel());
            }
            string previousId, nextId;
            int    messageIndex;
            var    source = mailbox.OpenMessage(id, out previousId, out nextId, out messageIndex);

            if (source == null)
            {
                mailbox.View = CmoMailboxView.All;
                source       = mailbox.OpenMessage(id);
            }
            return(source == null || !source.IsPosted ? new MessageViewModel() : new MessageViewModel
            {
                ID = source.UniqueID,
                ElectionCycle = source.ElectionCycle,
                Title = source.Title,
                Flagged = source.NeedsFollowUp,
                HasAttachments = source.HasAttachment,
                OpenedDate = source.OpenDate,
                Posted = source.PostDate.Value,
                ArchivedDate = source.ArchiveDate,
                ArchiveUser = source.Archiver,
                FlagDate = source.FollowUpDate,
                FlagUser = source.FollowUpFlagger,
                OpenUser = source.Opener,
                Body = source.Body,
                CurrentView = mailbox.View,
                CurrentIndex = messageIndex + 1,
                MailboxViewCount = mailbox.Messages.Count,
                NextID = nextId,
                PreviousID = previousId,
                Attachments = source.Attachments.Values.Select(a => a.ID)
            });
        }