public byte[] GetTeamsByFiltersReport(TeamsFilteredReportListViewModel request, IList <PdfTableCell> tableHeaders) { throw new NotImplementedException(); }
public byte[] GetTeamsByFiltersReport(TeamsFilteredReportListViewModel request, IList <ExcelTableCell> tableHeaders) { var tableNames = tableHeaders.Where(x => x.IsActive).Select(x => x.Name).ToList(); var tableHelper = new ExcelTableHelper(); var headers = tableHelper.GetTeamsByFiltersReportTableHeaders(); var result = new StringBuilder(); result.Append(string.Join(',', tableNames)); result.AppendLine(); var row = 0; foreach (var assignee in request.Assignees) { bool isSettedAssignee = false; foreach (var activity in assignee.ActivityView.Activities) { foreach (var loggedTime in activity.LoggedTimeView.LoggedTimes) { ++row; foreach (var name in tableNames) { if (name == headers[0].Name) { result.Append($"{row}, "); } else if (name == headers[1].Name) { if (isSettedAssignee) { continue; } result.Append($"{assignee.AssigneeName}, "); isSettedAssignee = true; } else if (name == headers[2].Name) { result.Append($"{loggedTime.ProjectName}, "); } else if (name == headers[3].Name) { result.Append($"{activity.ActivityName}, "); } else if (name == headers[4].Name) { result.Append($"{loggedTime.ActivityStatus}, "); } else if (name == headers[5].Name) { result.Append($"{activity.LoggedTimeView.TotalEstimatedTime}, "); } else if (name == headers[6].Name) { result.Append($"{activity.LoggedTimeView.TotalLoggedTime}, "); } } result.AppendLine(); } } } return(Encoding.Unicode.GetBytes(result.ToString())); }
private StringBuilder GetTeamsHtmlContent(TeamsFilteredReportListViewModel request) { var result = new StringBuilder(); result.AppendLine("<table name=\"teams-report\">"); result.AppendLine("<tr>"); var tableHelper = new ExcelTableHelper(); var tableHeaders = tableHelper.GetTeamsByFiltersReportTableHeaders(); foreach (var item in tableHeaders) { result.AppendLine($"<th style=\"width:{item.Width}px; alignment:{item.Alignment.ToString().ToLower()};\">{item.Name}</th>"); } var rowOrder = 0; result.AppendLine("</tr>"); var previousAssigneeName = string.Empty; foreach (var assignee in request.Assignees) { var previousProjectName = string.Empty; var previousActivityName = string.Empty; foreach (var activity in assignee.ActivityView.Activities) { var loggedTime = activity.LoggedTimeView.LoggedTimes[0]; result.AppendLine("<tr>"); result.AppendLine($"<td>{++rowOrder}</td>"); var assigneeNameReference = EliminatedDuplicate(assignee.AssigneeName, previousAssigneeName) != string.Empty ? $"<a href=\"{IndrivoAddress}/ApplicationUsers/Details/{assignee.AssigneeId}\">" + $"{EliminatedDuplicate(assignee.AssigneeName, previousAssigneeName)}</a>" : $"{EliminatedDuplicate(assignee.AssigneeName, previousAssigneeName)}"; result.AppendLine( $"<td>{assigneeNameReference}</td>"); var projectNameReference = EliminatedDuplicate(loggedTime.ProjectName, previousProjectName) != string.Empty ? $"<a href=\"{IndrivoAddress}/Activities/{activity.ProjectId}\">" + $"{EliminatedDuplicate(loggedTime.ProjectName, previousProjectName)}</a>" : $"{EliminatedDuplicate(loggedTime.ProjectName, previousProjectName)}"; result.AppendLine( $"<td>" + $"{projectNameReference}</td>"); var activityNameReference = EliminatedDuplicate(activity.ActivityName, previousActivityName) != string.Empty ? $"<a href=\"{IndrivoAddress}/Activities/Details/{activity.ActivityId}\">" + $"{EliminatedDuplicate(activity.ActivityName, previousActivityName)}</a>" : $"{EliminatedDuplicate(activity.ActivityName, previousActivityName)}"; result.AppendLine( $"<td>" + $"{activityNameReference}</td>"); result.AppendLine($"<td>{loggedTime.ActivityStatus}</td>"); result.AppendLine($"<td>{activity.LoggedTimeView.TotalEstimatedTime}</td>"); result.AppendLine($"<td>{activity.LoggedTimeView.TotalLoggedTime}</td>"); result.AppendLine("</tr>"); previousAssigneeName = assignee.AssigneeName; previousActivityName = activity.ActivityName; previousProjectName = loggedTime.ProjectName; } } result.AppendLine("</table>"); return(result); }