示例#1
0
        public SurveyResultData ReadHourlyArchive_(IEnumerable <DateTime> dates)  //не работающий
        {
            var data = new List <Data>();

            foreach (var date in dates)
            {
                try
                {
                    OnSendMessage(string.Format("чтение часовых данных за {0:dd.MM.yyyy HH:mm} нарастающим итогом {1}", date));

                    var bytes        = SendMessageToDevice(new Request65ByDate(NetworkAddress, date, ArchiveType.HourlyGrowing));
                    var dataResponse = new Response65(bytes, (short)ArchiveType.HourlyGrowing);
                    foreach (var d in dataResponse.Data)
                    {
                        //убираем лишние 59:59
                        // d.Date = d.Date.AddMinutes(-59).AddSeconds(-59);
                        data.Add(d);
                    }
                }
                catch (Exception ex)
                {
                    OnSendMessage(string.Format("ошибка при разборе ответа, запись за {0:dd.MM.yy  HH:mm} нарастающим итогом", date));
                    return(new SurveyResultData {
                        Records = data, State = SurveyResultState.PartialyRead
                    });
                }

                //OnSendMessage(string.Format("{0:dd.MM.yyyy HH:mm} {1}", date, dataResponse.Text));
            }
            return(new SurveyResultData {
                Records = data, State = SurveyResultState.Success
            });
        }
示例#2
0
        public override SurveyResultData ReadDailyArchive(IEnumerable <DateTime> dates)
        {
            var data = new List <Data>();

            try
            {
                byte[] bytes = null;
                foreach (var date in dates)
                {
                    try
                    {
                        OnSendMessage(string.Format("чтение суточных данных нарастающим итогом за {0:dd.MM.yyyy} ", date));
                        bytes = SendMessageToDevice(new Request65ByDate(NetworkAddress, date, ArchiveType.DailyGrowing));
                        var responseTotals = new Response65(bytes, (short)ArchiveType.DailyGrowing);
                        foreach (var d in responseTotals.Data)
                        {
                            //убираем лишние 23:59:59
                            d.Date = d.Date.AddHours(-23).AddMinutes(-59).AddSeconds(-59);
                            data.Add(d);
                        }
                    }
                    catch (Exception ex2)
                    {
                        OnSendMessage(string.Format("ошибка при разборе ответа, запись за {0:dd.MM.yy} нарастающим итогом", date));
                    }
                }
            }
            catch (Exception ex)
            {
                OnSendMessage(string.Format("ошибка: {0}", ex.Message));
                return(new SurveyResultData {
                    Records = data, State = SurveyResultState.PartialyRead
                });
            }
            return(new SurveyResultData {
                Records = data, State = SurveyResultState.Success
            });
        }