コード例 #1
0
        public IEnumerable <ServiceRateModel> GetRateData(TimeStep timeStep, string serviceName = "ryan")
        {
            var data = _rateRepository.Where(d => d.ServiceName == serviceName);
            IList <ServiceRate> list = new List <ServiceRate>();

            switch (timeStep)
            {
            case  TimeStep.Second:
                list = data.Where(d => d.TimeStamp > DateTime.Now.AddSeconds(-10)).ToList();
                break;

            case  TimeStep.Minute:
                var endTime = DateTime.UtcNow.ToDateTime();
                var ag      = data.Where(d => d.TimeStamp > DateTime.Now.AddMinutes(-10) && d.TimeStamp < endTime).ToList();

                list = ag.GroupBy(
                    d =>
                    d.TimeStamp.ToDateTime()).ToList()
                       .Select(
                    d =>
                {
                    var m = d.FirstOrDefault();
                    return(new ServiceRate(m.ServiceName, m.RateTimeStep, d.Key, d.Sum(i => i.Rate)));
                }).ToList();
                break;
            }
            return(list.Select(d => d.ToServiceRateModel()));
        }
コード例 #2
0
        public IEnumerable<ServiceRateModel> GetRateData(TimeStep timeStep, string serviceName = "ryan")
        {
            var data = _rateRepository.Where(d => d.ServiceName == serviceName);
            IList<ServiceRate> list = new List<ServiceRate>();
            
            switch (timeStep)
            {
                 case  TimeStep.Second:
                    list = data.Where(d => d.TimeStamp > DateTime.Now.AddSeconds(-10)).ToList();
                    break;
                 case  TimeStep.Minute:
                    var endTime = DateTime.UtcNow.ToDateTime();
                    var ag = data.Where(d => d.TimeStamp > DateTime.Now.AddMinutes(-10)&&d.TimeStamp < endTime).ToList();
                   
                    list =ag.GroupBy(
                            d =>
                                d.TimeStamp.ToDateTime()).ToList()
                        .Select(
                            d =>
                            {
                                var m = d.FirstOrDefault();
                                return new ServiceRate(m.ServiceName, m.RateTimeStep, d.Key, d.Sum(i => i.Rate));
                            }).ToList();
                    break;

            }
            return list.Select(d=>d.ToServiceRateModel());
        }
コード例 #3
0
 public ServiceRateModel GetRecentData(TimeStep timeStep, string serviceName = "ryan")
 {
     var data = _rateRepository.Where(d => d.ServiceName == serviceName);
     switch (timeStep)
     {
         case TimeStep.Second:
             return data.Last(d => d.TimeStamp < DateTime.Now).ToServiceRateModel();
         case TimeStep.Minute:
             var endTime = DateTime.UtcNow.ToDateTime();
             return
                 data.Where(d => d.TimeStamp >= endTime.AddMinutes(-1) && d.TimeStamp < endTime)
                     .ToList()
                     .GroupBy(d => d.TimeStamp.ToDateTime())
                     .Select(
                         d =>
                         {
                             var m = d.FirstOrDefault();
                             return new ServiceRate(m.ServiceName, m.RateTimeStep, d.Key, d.Sum(i => i.Rate));
                         }).FirstOrDefault().ToServiceRateModel();
     }
     return null;
 }
コード例 #4
0
        public ServiceRateModel GetRecentData(TimeStep timeStep, string serviceName = "ryan")
        {
            var data = _rateRepository.Where(d => d.ServiceName == serviceName);

            switch (timeStep)
            {
            case TimeStep.Second:
                return(data.Last(d => d.TimeStamp < DateTime.Now).ToServiceRateModel());

            case TimeStep.Minute:
                var endTime = DateTime.UtcNow.ToDateTime();
                return
                    (data.Where(d => d.TimeStamp >= endTime.AddMinutes(-1) && d.TimeStamp < endTime)
                     .ToList()
                     .GroupBy(d => d.TimeStamp.ToDateTime())
                     .Select(
                         d =>
                {
                    var m = d.FirstOrDefault();
                    return new ServiceRate(m.ServiceName, m.RateTimeStep, d.Key, d.Sum(i => i.Rate));
                }).FirstOrDefault().ToServiceRateModel());
            }
            return(null);
        }