示例#1
0
        private List <BACnetDataType> GetBacNetWeeklySchedule(ScheduleClass schedule)
        {
            var res = new List <BACnetDataType>();

            for (int i = 0; i < 7; i++)
            {
                res.Add(new BACnetDailySchedule());
            }

            for (int i = 0; i < 7; i++)
            {
                var day    = schedule.Days[i];
                var hourly = new List <BACnetTimeValue>();
                for (int j = 0; j < day.Count; j++)
                {
                    if (j == 0 && day[j].Value == null)
                    {
                        continue;
                    }
                    BACnetPrimitiveDataType value;
                    var startTime = day[j].Start;
                    if (day[j].Value != null)
                    {
                        if (schedule.Id > ScheduleClass.MaxScudTypeNumber || schedule.Id < ScheduleClass.MinScudTypeNumber)
                        {
                            float floatValue;
                            float.TryParse(day[j].Value.ToString(), out floatValue);
                            value = new BACnetReal(floatValue);
                        }
                        else
                        {
                            int intValue;
                            int.TryParse(day[j].Value.ToString(), out intValue);
                            value = new BACnetEnumerated(intValue);
                        }
                    }
                    else
                    {
                        value = new BACnetNull();
                    }

                    var start = new BACnetTimeValue {
                        Time = new BACnetTime(startTime.Hour, startTime.Minute, startTime.Second, startTime.Millisecond / 10), Value = value
                    };
                    hourly.Add(start);
                }
                var daily = new BACnetDailySchedule(hourly);
                res[i] = daily;
            }
            return(res);
        }
示例#2
0
        private List<BACnetDataType> GetBacNetWeeklySchedule(ScheduleClass schedule)
        {
            var res = new List<BACnetDataType>();
            for (int i = 0; i < 7; i++)
                res.Add(new BACnetDailySchedule());

            for (int i = 0; i < 7; i++)
            {
                var day = schedule.Days[i];
                var hourly = new List<BACnetTimeValue>();
                for (int j = 0; j < day.Count; j++)
                {
                    if (j == 0 && day[j].Value == null) continue;
                    BACnetPrimitiveDataType value;
                    var startTime = day[j].Start;
                    if (day[j].Value != null)
                    {
                        if (schedule.Id > ScheduleClass.MaxScudTypeNumber || schedule.Id < ScheduleClass.MinScudTypeNumber)
                        {
                            float floatValue;
                            float.TryParse(day[j].Value.ToString(), out floatValue);
                            value = new BACnetReal(floatValue);
                        }
                        else
                        {
                            int intValue;
                            int.TryParse(day[j].Value.ToString(), out intValue);
                            value = new BACnetEnumerated(intValue);
                        }
                    }
                    else
                        value = new BACnetNull();

                    var start = new BACnetTimeValue { Time = new BACnetTime(startTime.Hour, startTime.Minute, startTime.Second, startTime.Millisecond / 10), Value = value };
                    hourly.Add(start);
                }
                var daily = new BACnetDailySchedule(hourly);
                res[i] = daily;
            }
            return res;
        }