Пример #1
0
        /// <summary>
        /// Retrieves a collection of post election audit events for display in a calendar.
        /// </summary>
        /// <returns>A collection of post election audit events for display in a calendar.</returns>
        public IEnumerable <CPCalendarItem> GetCalendarEvents()
        {
            List <CPCalendarItem> items    = new List <CPCalendarItem>();
            ResponseDeadlineBase  deadline = this.ResponseDeadline;

            if (deadline != null)
            {
                items.Add(deadline);
            }
            InadequateEventBase inadequate = this.InadequateNotice;

            if (inadequate != null)
            {
                items.AddRange(inadequate.GetCalendarEvents());
            }
            return(items);
        }
Пример #2
0
        /// <summary>
        /// Retrieves a collection of post election audit events for display in a calendar.
        /// </summary>
        /// <returns>A collection of post election audit events for display in a calendar.</returns>
        public IEnumerable <CPCalendarItem> GetCalendarEvents()
        {
            List <CPCalendarItem> items = new List <CPCalendarItem>();

            foreach (var evt in this)
            {
                InadequateEventBase inadequate = evt as InadequateEventBase;
                if (inadequate != null)
                {
                    items.Add(inadequate);
                    ResponseDeadlineBase deadline = inadequate.ResponseDeadline;
                    if (deadline != null)
                    {
                        items.Add(deadline);
                    }
                }
            }
            return(items);
        }
Пример #3
0
 /// <summary>
 /// Populates the audit report with a collection of tolling events.
 /// </summary>
 /// <param name="events">The collection of events to load into the audit report.</param>
 public void LoadTollingEvents(ICollection <ITollingEvent> events)
 {
     if (events != null)
     {
         foreach (var evt in events)
         {
             if (evt != null)
             {
                 this.TollingEvents.Add(evt);
                 if (evt.IsExtensionFor(this))
                 {
                     this.Extensions.Add(evt);
                 }
             }
         }
         DateTime?            dueDate  = this.ExtensionDate;
         ResponseDeadlineBase deadline = this.ResponseDeadline;
         if (dueDate.HasValue && deadline != null && dueDate.Value != deadline.Date)
         {
             deadline.GrantExtension(dueDate.Value, null, null);
         }
     }
 }
Пример #4
0
        /// <summary>
        /// Raises the <see cref="GridView.RowDataBound"/> event.
        /// </summary>
        /// <param name="e">A <see cref="GridViewRowEventArgs"/> that contains the event data.</param>
        protected override void OnRowDataBound(GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DoingBusinessReview dbr         = e.Row.DataItem as DoingBusinessReview;
                StatementReview     sr          = e.Row.DataItem as StatementReview;
                ComplianceVisit     cv          = e.Row.DataItem as ComplianceVisit;
                AuditReviewBase     review      = e.Row.DataItem as AuditReviewBase;
                int responseReceivedColumnIndex = cv != null ? 3 : 2;
                int numColumnIndex = 0;
                if (this.AllowGrouping)
                {
                    responseReceivedColumnIndex++;
                    numColumnIndex++;
                }

                // number details
                if (dbr != null)
                {
                    e.Row.Cells[numColumnIndex].Text = string.Format("{0} ({1:d})", dbr.Number, dbr.Statement.DueDate);
                }
                else if (sr != null)
                {
                    e.Row.Cells[numColumnIndex].Text = string.Format("{0} ({1:d})", sr.Number, sr.Statement.DueDate);
                }
                if (review != null)
                {
                    if (review.ResponseRequired)
                    {
                        // response deadline
                        ResponseDeadlineBase deadline = review.ResponseDeadline;
                        if (deadline.ExtensionGranted)
                        {
                            if (deadline.ExtensionDate.HasValue)
                            {
                                e.Row.Cells[responseReceivedColumnIndex].Text = string.Format("{0:MM/dd/yyyy}<br />Originally due {1:MM/dd/yyyy}<br />Extension granted {2:MM/dd/yyyy}", deadline.Date, deadline.OriginalDueDate, deadline.ExtensionDate);
                            }
                            else
                            {
                                e.Row.Cells[responseReceivedColumnIndex].Text = string.Format("{0:d}<br />Originally due {1:d}<br />Extensions granted: {2}", deadline.Date, deadline.OriginalDueDate, deadline.ExtensionNumber);
                            }
                        }
                        else
                        {
                            e.Row.Cells[responseReceivedColumnIndex].Text = string.Format(this.DateFormat, deadline.Date);
                        }

                        // response status
                        e.Row.Cells[responseReceivedColumnIndex + 1].Text = review.ResponseReceived ? (dbr != null ? Properties.Resources.ResponseReceivedText : string.Format(this.ResponseReceivedFormat, review.ResponseReceivedDate)) : this.ResponseNotReceivedText;

                        // response extension - disabled indefinitely
                        //string.Format("{0} <a href=\"{1}\" title=\"Request Response Extension\">(Request Extension)</a>", this.ResponseNotReceivedText, PageUrlManager.GetExtensionRequestUrl(ExtensionType.StatementReview, sr.StatementNumber));
                        //string.Format("{0} {1}", this.ResponseNotReceivedText, MakeExtensionRequestLink(ExtensionType.ComplianceVisitReview, cv.Number));
                    }
                    else
                    {
                        e.Row.Cells[responseReceivedColumnIndex].Text = e.Row.Cells[responseReceivedColumnIndex + 1].Text = this.NoResponseRequiredText;
                    }

                    // add link to view CMO message if available
                    string messageID;
                    if (this.MessageIDDataSource != null && this.MessageIDDataSource.TryGetValue(review.Number, out messageID))
                    {
                        e.Row.Cells[responseReceivedColumnIndex + 2].Text = string.Format("<a class=\"pdf-file\" href=\"{0}\" title=\"{1}\">{1}</a>", PageUrlManager.GetMessageUrl(messageID), "View Review");
                    }
                }
            }
        }
Пример #5
0
        /// <summary>
        /// Gets the item ID for a <see cref="CPCalendarItem"/>.
        /// </summary>
        /// <param name="item">The <see cref="CPCalendarItem"/> whose item ID is to be retrieved.</param>
        /// <returns>The item ID for <paramref name="item"/>.</returns>
        public static string GetCalendarItemID(CPCalendarItem item)
        {
            if (item == null)
            {
                return(null);
            }
            NameValueCollection id = null;

            switch (item.CalendarItemType)
            {
            case CPCalendarItemType.InitialDocumentRequest:
            case CPCalendarItemType.IdrResponseDeadline:
            case CPCalendarItemType.IdrInadequateEvent:
            case CPCalendarItemType.IdrInadequateDeadline:
            case CPCalendarItemType.IdrAdditionalInadequateEvent:
            case CPCalendarItemType.IdrAdditionalInadequateDeadline:
                id = GetPostElectionAuditItemID(AuditReportType.InitialDocumentationRequest);
                break;

            case CPCalendarItemType.DraftAuditReport:
            case CPCalendarItemType.DarResponseDeadline:
            case CPCalendarItemType.DarInadequateEvent:
            case CPCalendarItemType.DarInadequateDeadline:
            case CPCalendarItemType.DarAdditionalInadequateEvent:
            case CPCalendarItemType.DarAdditionalInadequateDeadline:
                id = GetPostElectionAuditItemID(AuditReportType.DraftAuditReport);
                break;

            case CPCalendarItemType.FinalAuditReport:
                id = GetPostElectionAuditItemID(AuditReportType.FinalAuditReport);
                break;

            case CPCalendarItemType.StatementReview:
            case CPCalendarItemType.ComplianceVisit:
            case CPCalendarItemType.DoingBusinessReview:
                AuditReviewBase review = item as AuditReviewBase;
                if (review != null)
                {
                    id = GetAuditReviewItemID(review.CommitteeID, review.Number);
                }
                break;

            case CPCalendarItemType.SRResponseDeadline:
            case CPCalendarItemType.CVResponseDeadline:
            case CPCalendarItemType.DbrResponseDeadline:
                ResponseDeadlineBase deadline = item as ResponseDeadlineBase;
                if (deadline != null)
                {
                    id = GetAuditReviewItemID(deadline.CommitteeID, deadline.ReviewNumber);
                }
                break;

            case CPCalendarItemType.FilingDeadline:
                FilingDeadline fd = item as FilingDeadline;
                if (fd != null)
                {
                    id = GetStatementReviewItemID(fd.StatementNumber);
                }
                break;

            default:
                return(null);
            }
            return("&" + id.ToQueryString(HttpContext.Current != null ? HttpContext.Current.Server : null)); // & is to terminate existing item ID parameter key/value pair
        }