陈嘉乐
2020-04-27 18b93d511dc764b469d7c4a7e755f7274f89cdb4
ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
@@ -22,14 +22,24 @@
                    {
                        //new一个新逻辑对象;
                        //新增正常自动化入口
                        Common.Logic.CurrentLogic = new Common.Logic();
                        Common.Logic.CurrentLogic.IsEnable = 1;//默认为开
                        Common.Logic.CurrentLogic.LogicType = 0;//标记逻辑类型
                        Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1);
                        var addLogicPage = new AddLogicPage();
                        //Common.Logic.CurrentLogic = new Common.Logic();
                        //Common.Logic.CurrentLogic.IsEnable = 1;//默认为开
                        //Common.Logic.CurrentLogic.LogicType = 0;//标记逻辑类型
                        //Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1);
                        //var addLogicPage = new AddLogicPage();
                        //UserView.HomePage.Instance.AddChidren(addLogicPage);
                        //UserView.HomePage.Instance.PageIndex += 1;
                        //addLogicPage.Show();
                        var addLogicPage = new SoneLogicList();
                        UserView.HomePage.Instance.AddChidren(addLogicPage);
                        UserView.HomePage.Instance.PageIndex += 1;
                        addLogicPage.Show();
                    }
                    break;
                case 1:
@@ -61,6 +71,13 @@
                    break;
                case 2:
                    {
                        if (doorLock == null)
                        {
                            ///防止抛异常
                            doorLock = new DoorLock();
                        }
                        Send.CurrentDoorLock = doorLock;
                        Common.Logic.LogicDviceList.Clear();
                        if (Common.Logic.LogicDviceList.Count == 0)
                        {
@@ -83,7 +100,7 @@
                        Dictionary<string, object> actionsInfo = new Dictionary<string, object>();
                        actionsInfo.Add("LinkType", 8);
                        actionsInfo.Add("DeviceAddr", doorLock.DeviceAddr);
                        actionsInfo.Add("Epoint", doorLock.DeviceEpoint);
                        actionsInfo.Add("Epoint", "200");
                        actionsInfo.Add("PassData", "055704010113");//默认门锁常关
                        //new一个新逻辑对象;
@@ -341,13 +358,11 @@
            Automationview(logicScrolView, no);
            CommonPage.Loading.Hide();
        }
        static RowLayout selectedRow = new RowLayout() { Tag = "0" };//记录左滑状态
        /// <summary>
        /// 加载自动化列表界面
        /// </summary>
        /// <param name="refresview">Refresview.</param>
        static  RowLayout selectedRow = new RowLayout() { Tag="0"};//记录左滑状态
        private static async void Automationview(VerticalRefreshLayout refresview, bool no)
        {
            refresview.RemoveAll();
@@ -744,7 +759,7 @@
            actionsInfo.Add("LinkType", 8);
            actionsInfo.Add("DeviceAddr", common.DeviceAddr);
            actionsInfo.Add("Epoint", common.DeviceEpoint);
            actionsInfo.Add("PassData", "055704010113");//默认门锁常关
            actionsInfo.Add("PassData", "055704010113");//默认门锁常关e
            Common.Logic currentLogic = new Common.Logic();
            currentLogic.IsEnable = 1;//默认为开
@@ -753,19 +768,21 @@
            currentLogic.LogicName = Language.StringByID(R.MyInternationalizationString.openmode);
            currentLogic.Conditions.Add(timeConditionsInfo);
            currentLogic.Actions.Add(actionsInfo);
            Exist(3);//查找是否存在设置过失效时间(有的话删除,再添加)
            var logicIfon = await Send.AddModifyLogic(currentLogic);
            if (logicIfon != null && logicIfon.LogicId != 0)
            {
                return true;
                //添加门锁失效时间的历史记录
                UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog((DoorLock)common, 9003, timeVlaue.ToString());
                return true;//表示添加成功;
            }
            return false;
            return false;//表示添加失败;
        }
      ///<summary>
      /// s-one门锁是否存在自动化的方法;
      /// 注意(参数2;3):valueInt=3是删除设置失效时间自动化;valueInt=2判断是否存在自动化;
      /// 返回值:0不存在;1存在;2删除成功;3删除失败;
        /// 注意(参数:2-自动化;3-失效时间自动化);
        /// 返回值:0不存在;其它值都存在;
      /// </summary>
      public static async System.Threading.Tasks.Task<int> Exist(int valueInt = 2)
        {
@@ -773,32 +790,29 @@
            var Idlist = await Send.GetLogicId(valueInt);
            if (Idlist.Count != 0)
            {
                if (valueInt == 3)
                {
                    for (int i = 0; i < Idlist.Count; i++)
                    {
                        //valueInt=3一条特殊的自动化(用来设置失效时间)
                        var d=await Send.DelLogic(Idlist[i]);
                  if (d != 0)
                  {
                     //删除成功
                     exist = 2;
                  }
                  else
                  {
                     //删除失败
                     exist = 3;
                  }
                  return exist;
                //默认取第一个逻辑ID
                exist = Idlist[0];
               }
            }
                exist = 1;
            }
            return exist;
        }
        ///<summary>
        ///获取逻辑信息
        /// 返回值:null不存在;其它值都存在;
        /// </summary>
        public static async System.Threading.Tasks.Task<Common.Logic> GetLogicIfon()
        {
            Common.Logic logic = null;
            var Idlist = await Send.GetLogicId(3);
            if (Idlist.Count != 0)
            {
                //默认取第一个逻辑ID(时效性只有一条逻辑)
                int exist = Idlist[0];
                logic = await Send.GetLogic(exist, 3);
            }
            return logic;
        }
    }
}