/// <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); }
/// <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); }
/// <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); } } }
/// <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"); } } } }
/// <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 }