Пример #1
0
 /// <summary>
 /// Attempts to submit the current extension request.
 /// </summary>
 /// <returns>true if the extension request was successfully submitted; otherwise, false.</returns>
 private bool SubmitExtensionRequest()
 {
     try
     {
         byte     number;
         DateTime dueDate;
         DateTime requestedDate;
         if (TryParseReviewNumberListItemValue(_numberDropDown.SelectedValue, out number, out dueDate) && DateTime.TryParse(_dueDateDropDown.SelectedValue, out requestedDate))
         {
             Extension req = Extension.Add(CPProfile.Cid, _electionCycle.Text, CPConvert.ParseEnum <ExtensionType>(_types.SelectedValue), number, DateTime.Now, requestedDate, _reason.Text);
             if (req != null)
             {
                 // send e-mail notification
                 CPMailMessage message = new CPMailMessage();
                 message.Sender = CPProfile.GetMailAddress();
                 message.To.Add(CPApplication.AuditExtensionRequestsEmail);
                 message.IsBodyHtml = true;
                 message.Subject    = string.Format("Request for Extension to EC{0} {1} {2}", req.ElectionCycle, _typesValue.Text, req.ReviewNumber);
                 message.Body       = string.Format(EmailBodyFormat,
                                                    Cfis.GetCandidateName(CPProfile.Cid, true),
                                                    CPProfile.Cid,
                                                    message.Sender.DisplayName,
                                                    User.Identity.Name,
                                                    req.ElectionCycle,
                                                    _typesValue.Text,
                                                    _numberLabelText.Text,
                                                    _numberValue.Text,
                                                    _dueDateValue.Text);
                 message.Send();
                 return(true);
             }
         }
     }
     catch
     {
     }
     return(false);
 }
Пример #2
0
        /// <summary>
        /// Occurs when the selected review number is changed.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">An <see cref="EventArgs"/> that contains the event data.</param>
        protected void SelectedReviewNumberChanged(object sender, EventArgs e)
        {
            ResetDueDateDisplay();
            // populate extension due dates
            byte     number;
            DateTime originalDate;
            DateTime?selectedDate = Request.GetDate();
            var      type         = GetSelectedExtensionType();

            if (type.HasValue)
            {
                if (TryParseReviewNumberListItemValue(_numberDropDown.SelectedValue, out number, out originalDate))
                {
                    DateTime targetDate = originalDate;
                    byte     maxLength  = CPProfile.ElectionCycle == "2009" && type.Value == ExtensionType.StatementReview ? Extension.GetMaxExtensionLength(number) : Extension.DefaultMaxExtensionLength;
                    for (byte i = 1; i <= maxLength; i++)
                    {
                        targetDate = targetDate.AddDays(1);
                        switch (targetDate.DayOfWeek)
                        {
                        case DayOfWeek.Saturday:
                        case DayOfWeek.Sunday:
                            // only count business days
                            i--;
                            break;

                        default:
                            _dueDateDropDown.Items.Add(new ListItem(string.Format("{0:ddd}, {0:d}", targetDate), targetDate.ToShortDateString())
                            {
                                Selected = selectedDate.HasValue && selectedDate.Value.Date == targetDate.Date
                            });
                            break;
                        }
                    }
                    _dueDateRow.Visible = true;
                }
            }
            SelectedDateChanged(sender, e);
        }