예제 #1
0
        public async Task <IActionResult> Get()
        {
            var data = new Data();

            var unreadsByFolder = await Task.Run(() => OutlookAPI.FetchUnreads().ToList());

            var colors = new Colours.ColourGenerator();

            foreach (var unreadsInFolder in unreadsByFolder)
            {
                var dataset = new Dataset {
                    label = unreadsInFolder.Key, backgroundColor = "#" + colors.NextColour()
                };

                var unreadInFolderByDate = unreadsInFolder.GroupBy(item => item.Received.Date);

                foreach (var d in unreadInFolderByDate)
                {
                    //dataset.data.Add(new Datapoint { x = d.Key.Date.ToString("yyyy-MM-dd"), y = d.Count() });
                    dataset.data.Add(d.Count());
                }
                data.datasets.Add(dataset);
            }

            var dates = unreadsByFolder.SelectMany(i => i.Select(t => t.Received.Date)).Distinct();

            data.labels = dates.Select(d => d.ToString("yyyy-MM-dd")).ToList();

            return(Ok(JsonConvert.SerializeObject(data, Formatting.Indented)));
        }
예제 #2
0
 public SampleOutlook() : base()
 {
     fExcelFile = null;
     fOutlook   = null;
     ShowAbort  = true;
 }