Beispiel #1
0
        public byte[] GetEmployeeFilteredReport(EmployeeFilteredReportListViewModel 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($"{activity.ProjectName}, ");
                            }
                            else if (name == headers[3].Name)
                            {
                                result.Append($"{activity.ActivityName}, ");
                            }
                            else if (name == headers[4].Name)
                            {
                                result.Append($"{activity.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()));
        }
Beispiel #2
0
 public byte[] GetEmployeeFilteredReport(EmployeeFilteredReportListViewModel request, IList <PdfTableCell> tableHeaders)
 {
     throw new NotImplementedException();
 }