Beispiel #1
0
        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            if (!CheckValidation())
            {
                return;
            }

            urlSB = new StringBuilder();
            ObservableCollection <ReportPeriod> list = new ObservableCollection <ReportPeriod>();

            for (int i = 1; i <= 12; i++)
            {
                DatePicker start = (DatePicker)dateGrid.FindName("month" + i.ToString() + "Start");
                DatePicker end   = (DatePicker)dateGrid.FindName("month" + i.ToString() + "End");
                if (start.SelectedDate.HasValue && end.SelectedDate.HasValue)
                {
                    ReportPeriod rp = new ReportPeriod();
                    rp.Month     = (MonthRank)i;
                    rp.StartTime = new DateTime(start.SelectedDate.Value.Year, start.SelectedDate.Value.Month, start.SelectedDate.Value.Day, 0, 0, 0);
                    rp.EndTime   = new DateTime(end.SelectedDate.Value.Year, end.SelectedDate.Value.Month, end.SelectedDate.Value.Day, 23, 59, 59);
                    list.Add(rp);

                    urlSB.Append("&month");
                    urlSB.Append(i.ToString());
                    urlSB.Append("start=");
                    urlSB.Append(rp.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                    urlSB.Append("&month");
                    urlSB.Append(i.ToString());
                    urlSB.Append("end=");
                    urlSB.Append(rp.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                }
                else
                {
                    ReportPeriod rp = new ReportPeriod();
                    rp.Month     = (MonthRank)i;
                    rp.StartTime = null;
                    rp.EndTime   = null;
                    list.Add(rp);
                }
            }

            urlARAnnual += urlSB.ToString();
            urlARSick   += urlSB.ToString();

            // Add parameter supervisorID
            urlSB.Append(string.Format("&supervisorID={0}", user.PKEmployeeID.ToString()));

            if (reportTypeCom.SelectedIndex == 0)             // administrator report, save data to DB.
            {
                CARSServiceClient client = CARSServiceClientFactory.CreateCARSServiceClient();
                client.UpdateReportPeriodsCompleted += new EventHandler <UpdateReportPeriodsCompletedEventArgs>(GenerateReport_UpdateReportPeriodsCompleted);
                client.UpdateReportPeriodsAsync(list);
            }
            else             // supervisor report, do NOT save data to DB.
            {
                HtmlWindow srAnnual = HtmlPage.Window;
                HtmlWindow srSick   = HtmlPage.Window;
                if (urlSRAnnual.ToLower().Contains("commingsoon"))
                {
                    srAnnual.Navigate(new Uri(urlSRAnnual), "_blank");
                    srSick.Navigate(new Uri(urlSRSick), "_blank");
                }
                else
                {
                    urlSRAnnual += urlSB.ToString();
                    urlSRSick   += urlSB.ToString();
                    srAnnual.Navigate(new Uri(urlSRAnnual), "_blank");
                    srSick.Navigate(new Uri(urlSRSick), "_blank");
                }
            }
            this.DialogResult = true;
        }