public List <AlarmStatusDto> GettestState(PagedAndSortedResultRequestDto input, string condity)
        {
            ConditionAlarmStatusDto conditionAlarmStatus = new ConditionAlarmStatusDto();


            conditionAlarmStatus.TreatmentState = 1;
            PagedSortedRequestDto resultRequestDto = new PagedSortedRequestDto()
            {
                MaxResultCount = 200000, SkipCount = 0, Sorting = "Id"
            };
            var data = _alarmStatusAppService.GetListAsync(input).Result.Items;

            var bookstr = Newtonsoft.Json.JsonConvert.SerializeObject(data);

            var bt      = Encoding.UTF8.GetBytes(bookstr);
            var options = new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromDays(20));

            _cache.Set("bookstr", bt, options);

            var DD    = _cache.Get(condity);
            var FF    = Encoding.UTF8.GetString(DD);
            var DDF2G = Newtonsoft.Json.JsonConvert.DeserializeObject <List <AlarmStatusDto> >(FF);

            return(DDF2G);
        }
Example #2
0
        public PagedResultDto <AlarmStatusDto> GetAlarmInfoStatus(PagedAndSortedResultRequestDto input01)
        {
            PagedAndSortedResultRequestDto input = new PagedAndSortedResultRequestDto()
            {
                MaxResultCount = 1000, SkipCount = 0, Sorting = "id"
            };
            var AlarmData       = _alarmHostAppService.GetListAsync(input).Result.Items;
            var AlarmStatusData = _alarmStatusAppService.GetListAsync(input).Result.Items;
            List <AlarmStatusDto> listalarmStatus = new List <AlarmStatusDto>();

            foreach (var item in AlarmData)
            {
                string url = $"{dvrurl}/api/AlarmInfo/GetAlarmInfo?DVR_IP={item.AlarmHostIP}&DVR_Name={item.User}&DVR_PassWord={item.Password}";


                var handler             = new HttpClientHandler();
                var response            = _httpClient.GetAsync(url).Result;
                var refStatus           = response.Content.ReadAsStringAsync().Result;
                var refStatusData       = Newtonsoft.Json.JsonConvert.DeserializeObject <List <AlarmStatusDto> >(refStatus);
                var HostAlarmStatusData = AlarmStatusData.Where(u => u.AlarmHostIP == item.AlarmHostIP);

                for (int i = 0; i < item.AlarmChannelCount; i++)
                {
                    AlarmStatusDto refalarmStatusDto = refStatusData.Where(u => u.Channel_ID == i).FirstOrDefault();

                    var            alarmdata3     = HostAlarmStatusData.Where(u => u.Channel_ID == i).FirstOrDefault();
                    AlarmStatusDto alarmStatusDto = new AlarmStatusDto();
                    alarmStatusDto.Channel_ID           = i;
                    alarmStatusDto.Alarm_ID             = item.AlarmHostIP;
                    alarmStatusDto.Alarm_ID             = refalarmStatusDto.Alarm_ID;
                    alarmStatusDto.IsAlarm              = refalarmStatusDto.IsAlarm;
                    alarmStatusDto.IsAnomaly            = refalarmStatusDto.IsAnomaly;
                    alarmStatusDto.IsDefence            = refalarmStatusDto.IsDefence;
                    alarmStatusDto.LastModificationTime = refalarmStatusDto.LastModificationTime;
                    if (alarmdata3 != null)
                    {
                        alarmStatusDto.IsOpenDoor = alarmdata3.IsOpenDoor;
                    }

                    listalarmStatus.Add(alarmStatusDto);
                }
            }

            // var listrequst = listalarmStatus.PageBy(input01.SkipCount, input01.MaxResultCount).ToList();


            return(new PagedResultDto <AlarmStatusDto>()
            {
                Items = listalarmStatus, TotalCount = listalarmStatus.Count
            });
        }