Пример #1
0
        public ReportsGrandGridClients GroupByClients(string userName, RequestReportsGrid reportsGridData)
        {
            var reportsGridClients = new ReportsGrandGridClients
            {
                ReportsGridView = new List <ReportGridClientView>
                {
                    new ReportGridClientView
                    {
                        Items = new List <ReportsGridItemsView>()
                    }
                }
            };

            var timeEntriesForGrouping = GetTimeEntriesForGrouping(userName, reportsGridData);

            if (!timeEntriesForGrouping.Any())
            {
                return(reportsGridClients);
            }

            var timeEntriesGroupByClients = timeEntriesForGrouping
                                            .GroupBy(i => i.Project.Client)
                                            .OrderBy(x => x.Key.Name)
                                            .ToDictionary(key => key.Key ?? CreateWithOutClientInstance(), key => key.Select(value => value));

            var result = reportsGridClients.GetViewReportsGrandGridClients(timeEntriesGroupByClients, Mapper);

            return(result);
        }
Пример #2
0
        public ReportsGrandGridClients ReportsGridGroupByClients(ReportsGridView reportsGridData)
        {
            var reportsGridClients = new ReportsGrandGridClients
            {
                ReportsGridView = new List <ReportGridClientView>
                {
                    new ReportGridClientView
                    {
                        Items = new List <ReportsGridItemsView>()
                    }
                }
            };

            var timeEntriesForGrouping = GetTimeEntriesForGrouping(reportsGridData);

            if (!timeEntriesForGrouping.Any())
            {
                return(reportsGridClients);
            }

            var timeEntriesGroupByClients = timeEntriesForGrouping.ToList()
                                            .GroupBy(i => i.Project.Client == null ? CreateWithOutClientInstance() : i.Project.Client)
                                            .OrderBy(x => x.Key.Name)
                                            .ToDictionary(key => key.Key, key => key.OrderBy(value => value.Date).AsEnumerable());

            var result = reportsGridClients.GetViewReportsGrandGridClients(timeEntriesGroupByClients, Mapper);

            return(result);
        }
Пример #3
0
        public static ReportsGrandGridClients GetViewReportsGrandGridClients(this ReportsGrandGridClients reportsGridEntitiesClients, Dictionary <Client, IEnumerable <TimeEntry> > timeEntries, IMapper _mapper)
        {
            var reportGridClientView = timeEntries.Select(x => x.GetViewReportGridClientView(_mapper));

            foreach (var groupingTimeEntries in reportGridClientView)
            {
                reportsGridEntitiesClients.GrandActualTime    += groupingTimeEntries.TotalActualTime;
                reportsGridEntitiesClients.GrandEstimatedTime += groupingTimeEntries.TotalEstimatedTime;
            }

            reportsGridEntitiesClients.ReportsGridView = reportGridClientView;

            return(reportsGridEntitiesClients);
        }