예제 #1
0
 private async Task CheckTagInternally(Tag tag, List <VerticalGroupedBarDto> list, MODEL_TYPE model)
 {
     await Task.Run(() =>
     {
         VerticalGroupedBarDto vDto = list.FirstOrDefault(a => a.Name.Equals(tag.Name));
         if (vDto == null)
         {
             vDto = new VerticalGroupedBarDto()
             {
                 Name = tag.Name
             };
             list.Add(vDto);
         }
         string enumName = EnumHelper.GetEnumMemberValue(model);
         VerticalGroupedBarDataSet vEntry = vDto.Series.FirstOrDefault(a => a.Name.Equals(enumName));
         if (vEntry == null)
         {
             vEntry = new VerticalGroupedBarDataSet()
             {
                 Name = enumName, Value = 0
             };
             vDto.Series.Add(vEntry);
         }
         vEntry.Value++;
     });
 }
예제 #2
0
 private void CreateDtoObjectsForCreationlist(List <ModificationEntry> listEntries, List <VerticalGroupedBarDto> list, string modelName)
 {
     foreach (ModificationEntry entry in listEntries)
     {
         String dateToFind         = entry.DateTime.ToString("dd.MM.yyyy");
         VerticalGroupedBarDto dto = list.FirstOrDefault(x => x.Name.Equals(dateToFind));
         if (dto == null)
         {
             dto = new VerticalGroupedBarDto()
             {
                 Name = dateToFind, Series = new List <VerticalGroupedBarDataSet>()
             };
             list.Add(dto);
         }
         VerticalGroupedBarDataSet data = dto.Series.FirstOrDefault(x => x.Name.Equals(modelName));
         if (data == null)
         {
             data = new VerticalGroupedBarDataSet()
             {
                 Name = modelName, Value = 0
             };
             dto.Series.Add(data);
         }
         data.Value += 1;
     }
 }
예제 #3
0
        private VerticalGroupedBarDto GetBarGroupFromList(string date, List <VerticalGroupedBarDto> list)
        {
            VerticalGroupedBarDto dto = list.FirstOrDefault(a => a.Name.Equals(date));

            if (dto == null)
            {
                dto = new VerticalGroupedBarDto()
                {
                    Name = date
                };
                dto.Series.Add(new VerticalGroupedBarDataSet()
                {
                    Name = StatisticsDto.SERIES_INVITED_CONTACTS, Value = 0
                });
                dto.Series.Add(new VerticalGroupedBarDataSet()
                {
                    Name = StatisticsDto.SERIES_AGREED_CONTACS, Value = 0
                });
                dto.Series.Add(new VerticalGroupedBarDataSet()
                {
                    Name = StatisticsDto.SERIES_PARTICIPATED_CONTACS, Value = 0
                });
                list.Add(dto);
            }

            return(dto);
        }
예제 #4
0
        public async Task <List <VerticalGroupedBarDto> > GetInvitedAndParticipatedRelationOfEvents()
        {
            List <VerticalGroupedBarDto> list = new List <VerticalGroupedBarDto>();
            List <Event> events = await eventService.GetAllEventsWithAllIncludesAsync();

            foreach (Event ev in events)
            {
                if (ev.Participated != null && ev.Participated.Any())
                {
                    int countInvited          = ev.Participated.Count(a => a.EventStatus == ParticipatedStatus.INVITED);
                    int countAgreed           = ev.Participated.Count(a => a.EventStatus == ParticipatedStatus.AGREED);
                    int countParticipated     = ev.Participated.Count(a => a.HasParticipated);
                    VerticalGroupedBarDto dto = GetBarGroupFromList(ev.Date.ToString("dd.MM.yyyy"), list);
                    dto.Series.FirstOrDefault(a => a.Name.Equals(StatisticsDto.SERIES_INVITED_CONTACTS)).Value     += countInvited;
                    dto.Series.FirstOrDefault(a => a.Name.Equals(StatisticsDto.SERIES_AGREED_CONTACS)).Value       += countAgreed;
                    dto.Series.FirstOrDefault(a => a.Name.Equals(StatisticsDto.SERIES_PARTICIPATED_CONTACS)).Value += countParticipated;
                }
            }

            return(list);
        }