Esempio n. 1
0
        //设置防打扰时间(此脚本中的net代表闹钟,other代表防打扰时间,包括学习时间和睡眠时间)
        public void setOtherClock(string childsn, string silenceDatasString, Action success, Action error)
        {
            GuLog.Debug("<><CupClockManager> setOtherClock-New");

            GuLog.Debug(string.Format("----CupClockManager.setOtherClock-New---->childSN: {0}, originData: {1}", childsn, silenceDatasString));
            AllSilenceTimeSectionFromServer silenceDatas = mJsonUtils.String2Json <AllSilenceTimeSectionFromServer>(silenceDatasString);
            ClocksInfo clocksInfo     = this.SilenceDatas2ClockInfos(childsn, silenceDatas);//将网络下发的防打扰数据的格式转为本地格式
            string     localClockInfo = mJsonUtils.Json2String(clocksInfo);

            mLocalClockInfoAgent.saveOtherClockInfo(childsn, localClockInfo);//将转型后的防打扰数据存入本地
            GuLog.Debug(string.Format("----CupClockManager.setOtherClock-New---->childSN: {0}, formatedData: {1}", childsn, localClockInfo));

            string netClockInfo = mLocalClockInfoAgent.getNetClockInfo(childsn);

            if (string.IsNullOrEmpty(netClockInfo))
            {//如果此时水杯中没有此孩子的闹钟数据,则用转型后的防打扰时间覆盖
                mAlarmManager.replaceAlarmList(localClockInfo, success, error);
            }
            else
            {//如果此时水杯中有此孩子的闹钟数据,则与防打扰数据拼接起来一并推送给底层
                ClocksInfo netinfo = mJsonUtils.String2Json <ClocksInfo>(netClockInfo);
                netinfo.clocks.AddRange(clocksInfo.clocks);
                string allData = mJsonUtils.Json2String(netinfo);
                mAlarmManager.replaceAlarmList(allData, success, error);
                GuLog.Debug(string.Format("----CupClockManager.setOtherClock-New---->childSN: {0}, allData: {1}", childsn, allData));
            }
        }
Esempio n. 2
0
 //数据转型(将网络下发的防打扰数据的格式转为本地格式)
 private ClocksInfo SilenceDatas2ClockInfos(string childsn, AllSilenceTimeSectionFromServer silenceDatas)
 {
     if (silenceDatas != null && silenceDatas.configs != null && silenceDatas.configs.Count > 0)
     {
         int        id         = 1;
         ClocksInfo clocksInfo = new ClocksInfo();
         foreach (SilenceTimeSectionFromServer silenceData in silenceDatas.configs)
         {
             clocksInfo.clocks.Add(new ClocksItem()
             {//起始时间
                 id             = id++,
                 x_child_sn     = childsn,
                 clock_type     = this.GetClockType(silenceData.type, "_begin"),
                 clock_enable   = silenceData.enable,
                 clock_hour     = silenceData.start_hour,
                 clock_min      = silenceData.start_min,
                 clock_weekdays = silenceData.weekdays
             });
             clocksInfo.clocks.Add(new ClocksItem()
             {//结束时间
                 id             = id++,
                 x_child_sn     = childsn,
                 clock_type     = this.GetClockType(silenceData.type, "_end"),
                 clock_enable   = silenceData.enable,
                 clock_hour     = silenceData.end_hour,
                 clock_min      = silenceData.end_min,
                 clock_weekdays = silenceData.weekdays
             });
         }
         return(clocksInfo);
     }
     else
     {
         GuLog.Error("----CupClockManager.SilenceDatas2ClockInfos---->silenceDatas is null");
         return(null);
     }
 }