public IHttpActionResult SentiDistr()
        {
            var fetchDate = this.GetEndDate(DataType.SENTIMENTS);
            var manager   = this.GetCAmanager();
            var events    = manager.GetSentimentsData(fetchDate);
            var model     = new DistributionListModel();

            if (events != null)
            {
                foreach (var item in events)
                {
                    var media = new DistributionModel {
                        Name = item.Name
                    };
                    foreach (var detail in item.Details)
                    {
                        media.Values[detail.Date] = detail.Value;
                    }

                    model.Distributions.Add(media);
                }
            }

            return(this.Ok(model));
        }
        public IHttpActionResult AgeDistr()
        {
            var fetchDate = this.GetEndDate(DataType.AGE);
            var manager   = this.GetCAmanager();
            var data      = manager.GetAgeData(fetchDate);
            var model     = new DistributionListModel();

            if (data != null)
            {
                foreach (var item in data)
                {
                    var media = new DistributionModel {
                        Name = item.Name
                    };
                    var sum = item.Details.Where(i => i.Name != "NULL").Sum(i => i.Value);
                    foreach (var detail in item.Details)
                    {
                        if (detail.Name != "NULL")
                        {
                            var result = detail.Value * 100 / (double)sum;
                            media.Values[detail.Name] = (int)(result + 1);
                        }
                    }

                    model.Distributions.Add(media);
                }
            }

            return(this.Ok(model));
        }
        public IHttpActionResult RegionDistr()
        {
            var fetchDate = this.GetEndDate(DataType.LOCATION);
            var manager   = this.GetCAmanager();
            var events    = manager.GetLocationDistr(fetchDate);
            var model     = new DistributionListModel();

            if (events != null)
            {
                foreach (var item in events)
                {
                    var media = new DistributionModel {
                        Name = item.Name
                    };
                    foreach (var detail in item.Details)
                    {
                        media.Values[detail.Name] = detail.VisitCount;
                    }

                    model.Distributions.Add(media);
                }
            }

            return(this.Ok(model));
        }
Beispiel #4
0
        private IList <DistributionListModel> ExpandDistributionLists(int loopCount, string emailOf, IList <DistributionListModel> distributionList)
        {
            for (int i = 1; i < loopCount; i++)
            {
                if (i % 3 == 0)
                {
                    ExpandDistributionLists(3, string.Format($"Email - {i}"), distributionList);
                }
                else
                {
                    var newDistribution = new DistributionListModel
                    {
                        Email      = string.Format($"Email - {i}"),
                        ChildrenOf = emailOf
                    };

                    distributionList.Add(newDistribution);
                }
            }

            return(distributionList);
        }