public MonitorDetails()
 {
     MonitorWithDetails   = new MonitorWithDetailsDto();
     MonitorUpTimeChart   = new LineChart <double>();
     MonitorLoadTimeChart = new LineChart <double>();
     Filter = new GetMonitorRequestInput
     {
         SkipCount      = 0,
         MaxResultCount = 20
     };
     BreadcrumbItems = new List <BreadcrumbItem>();
     Labels          = new List <string>();
 }
        public async Task <MonitorWithDetailsDto> GetAsync(Guid id, GetMonitorRequestInput input)
        {
            var cacheItem = await _cache.GetOrAddAsync(
                id.ToString() + input.SkipCount + input.MaxResultCount,
                async() => await GetMonitorFromDatabaseAsync(id, input),
                () => new DistributedCacheEntryOptions
            {
                AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(KetumConsts.MonitorWorkerPeriod.TotalMinutes)
            }
                );

            var cache = cacheItem;

            return(cache);
        }
        private async Task <MonitorWithDetailsDto> GetMonitorFromDatabaseAsync(Guid monitorId, GetMonitorRequestInput input)
        {
            var monitor = await _monitorRepository.GetAsync(monitorId, input.SkipCount, input.MaxResultCount);

            if (monitor.CreatorId != CurrentUser.GetId())
            {
                return(null);
            }

            var dto = HealthByStepTypeCalculate(monitor);

            return(dto);
        }
        public async Task <MonitorWithDetailsDto> GetAsync(Guid id, GetMonitorRequestInput input)
        {
            var monitor = await _monitorAppService.GetAsync(id, input);

            return(monitor);
        }