private void bgwGenerate_DoWork(object sender, DoWorkEventArgs e) { if (isTimeReport) { //doing time entry report List <string> fnames = new List <string>(); foreach (string fileName in lstFiles.Items) { fnames.Add(fileName); } List <ReportingItemSummary> reportItems = OperationsReadOnly.GetReportingItems(dtpStart.Value, dtpEnd.Value, fnames); if (selectedReportType == cstrCSVDataExtract) { StringBuilder stb = new StringBuilder(); stb.Append("Time Entry Id"); stb.Append(cstrSeparator); stb.Append("User Id"); stb.Append(cstrSeparator); stb.Append("User Display Name"); stb.Append(cstrSeparator); stb.Append("Project Id"); stb.Append(cstrSeparator); stb.Append("Project Name"); stb.Append(cstrSeparator); stb.Append("Task Id"); stb.Append(cstrSeparator); stb.Append("Task Name"); stb.Append(cstrSeparator); stb.Append("Start DateTime"); stb.Append(cstrSeparator); stb.Append("End DateTime"); stb.Append(cstrSeparator); stb.Append("Exception Minutes"); stb.Append(cstrSeparator); stb.Append("Total TimeMinutes"); stb.Append(cstrSeparator); stb.Append("Details"); stb.Append(cstrSeparator); stb.Append("Exception Details"); stb.Append(Environment.NewLine); foreach (ReportingItemSummary currItem in reportItems) { stb.Append(FormatResult(currItem.TimeEntryId)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.UserId)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.UserDisplayName)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.ProjectId)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.ProjectName)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.TaskId)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.TaskName)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.StartDateTime)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.EndDateTime)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.ExceptionMinutes)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.TotalMinutes)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.Details)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.ExceptionDetails)); stb.Append(cstrSeparator); stb.Append(Environment.NewLine); } e.Result = stb.ToString(); } else { e.Result = reportItems; } } else { //doing goal report List <string> fnames = new List <string>(); foreach (string fileName in lstGoalFiles.Items) { fnames.Add(fileName); } List <ReportingGoalSummary> reportItems = OperationsReadOnly.GetReportingGoals(dtpGoalStart.Value, dtpGoalEnd.Value, fnames); if (selectedReportType == cstrCSVDataExtract) { StringBuilder stb = new StringBuilder(); stb.Append("Goal Id"); stb.Append(cstrSeparator); stb.Append("User Id"); stb.Append(cstrSeparator); stb.Append("User Display Name"); stb.Append(cstrSeparator); stb.Append("Description"); stb.Append(cstrSeparator); stb.Append("Target Measure"); stb.Append(cstrSeparator); stb.Append("Target Completion Date"); stb.Append(cstrSeparator); stb.Append("Completed"); stb.Append(cstrSeparator); stb.Append("Result Measure"); stb.Append(cstrSeparator); stb.Append("Result Measure Rating"); stb.Append(cstrSeparator); stb.Append("Actual Completion Date"); stb.Append(cstrSeparator); stb.Append("Result Timeliness Rating"); stb.Append(cstrSeparator); stb.Append("Positives"); stb.Append(cstrSeparator); stb.Append("Improvements"); stb.Append(Environment.NewLine); foreach (ReportingGoalSummary currItem in reportItems) { stb.Append(FormatResult(currItem.GoalId)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.UserId)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.UserDisplayName)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.Description)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.TargetMeasure)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.TargetCompletionDate)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.Completed)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.ResultMeasure)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.ResultMeasureRating)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.ActualCompletionDate)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.ResultTimelinessRating)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.Positives)); stb.Append(cstrSeparator); stb.Append(FormatResult(currItem.Improvements)); stb.Append(cstrSeparator); stb.Append(Environment.NewLine); } e.Result = stb.ToString(); } else { e.Result = reportItems; } } }