陈嘉乐
2020-05-13 e406f66352fa72ef830ec237ca18d9e8816cb470
2020-05-13-1
6个文件已修改
129 ■■■■ 已修改文件
.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.DS_Store
Binary files differ
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -1,31 +1,34 @@
<Properties StartupConfiguration="{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}|Default">
  <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.5c86e4357d63" />
  <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" />
  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/SoneLogicList.cs">
  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/SkipView.cs">
    <Files>
      <File FileName="Shared/Phone/Device/Logic/LogicView/TipView.cs" Line="416" Column="19" />
      <File FileName="Shared/Phone/Device/Logic/SkipView.cs" Line="706" Column="116" />
      <File FileName="Shared/Phone/Device/Logic/Send.cs" Line="102" Column="75" />
      <File FileName="Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs" Line="1302" Column="15" />
      <File FileName="Shared/Phone/Device/Logic/SoneLogicList.cs" Line="67" Column="16" />
      <File FileName="Shared/Phone/Device/Logic/LogicView/TipView.cs" Line="101" Column="73" />
      <File FileName="Shared/Phone/Device/Logic/SkipView.cs" Line="807" Column="21" />
      <File FileName="Shared/Phone/Device/Logic/Send.cs" Line="673" Column="88" />
      <File FileName="Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs" />
      <File FileName="Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs" Line="137" Column="37" />
      <File FileName="Shared/Phone/Device/Logic/LogicCommunalPage.cs" Line="282" Column="114" />
      <File FileName="Shared/Phone/Device/Logic/Method.cs" Line="850" Column="35" />
      <File FileName="Shared/Phone/Device/Logic/SoneLogicList.cs" Line="391" Column="51" />
      <File FileName="Shared/Common/Logic.cs" Line="46" Column="33" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="GateWay" expanded="True">
            <Node name="Shared" expanded="True">
              <Node name="Common" expanded="True" />
              <Node name="Phone" expanded="True">
                <Node name="Device" expanded="True">
                  <Node name="Logic" expanded="True">
                    <Node name="DoorLockLogic" expanded="True" />
                    <Node name="LogicView" expanded="True" />
                    <Node name="SoneLogicList.cs" selected="True" />
                    <Node name="SkipView.cs" selected="True" />
                  </Node>
                </Node>
                <Node name="UserCenter" expanded="True">
                  <Node name="DoorLock" expanded="True" />
                </Node>
                <Node name="ZigBee" expanded="True">
                  <Node name="Device" expanded="True" />
                </Node>
              </Node>
            </Node>
ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
Binary files differ
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs
@@ -83,9 +83,6 @@
        public async void Read()
        {
            CommonPage.Loading.Start();
            if (!BoolExist())
            {
@@ -110,14 +107,19 @@
                                //查找是否是那个门锁;
                                //如果不是该门锁联动事件不显示出来;
                                yes = false;
                                break;
                            }
                            if (logic.Accounts[a]["Account"].ToString() == Config.Instance.Guid)
                            else
                            {
                                //查找自己账号下的创建联动事件;
                                yes = true;
                                break;
                            }
                            //if (logic.Accounts[a]["Account"].ToString() == Config.Instance.Guid)
                            //{
                            //    //查找自己账号下的创建联动事件;
                            //    yes = true;
                            //    break;
                            //}
                        }
                        if (yes)
                        {
@@ -326,14 +328,17 @@
                    //查找是否是那个门锁;
                    //如果不是该门锁联动事件不显示出来;
                    yes = false;
                    break;
                }
                if (logic.Accounts[j]["Account"].ToString() == Config.Instance.Guid)
                else
                {
                    //查找自己账号下的创建联动事件;
                    yes = true;
                    break;
                }
                //if (logic.Accounts[j]["Account"].ToString() == Config.Instance.Guid)
                //{
                //    //查找自己账号下的创建联动事件;
                //    yes = true;
                //    break;
                //}
            }
            return yes;
ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
@@ -724,6 +724,10 @@
            actionsInfo.Add("Epoint", common.DeviceEpoint);
            actionsInfo.Add("PassData", "055704010113");//默认门锁常关
            Dictionary<string, string> accounts = new Dictionary<string, string>();
            accounts.Add("DeviceAddr", common.DeviceAddr.ToString());//用于判断识别是哪个门锁;
            accounts.Add("Epoint", common.DeviceEpoint.ToString());
            Common.Logic currentLogic = new Common.Logic();
            currentLogic.IsEnable = 1;//默认为开
            currentLogic.TimeAttribute.Repeat = 0;//执行一次
@@ -731,6 +735,7 @@
            currentLogic.LogicName = Language.StringByID(R.MyInternationalizationString.openmode);
            currentLogic.Conditions.Add(timeConditionsInfo);
            currentLogic.Actions.Add(actionsInfo);
            currentLogic.Accounts.Add(accounts);
            var logicIfon = await Send.AddModifyLogic(currentLogic);
            if (logicIfon != null && logicIfon.LogicId != 0)
            {
@@ -754,14 +759,32 @@
            if (Idlist.Count != 0)
            {
                //默认取第一个逻辑ID
                exist = Idlist[0];
                var id = Idlist[0];
                if (valueInt != 3)
                {
                    exist = id;
                }
                else
                {
                    var logic = await Send.GetLogic(id, 3);
                    if (logic != null)
                    {
                        if (ExistLogic(logic))
                        {
                            exist = id;
                        }
                        else
                        {
                            exist = 0;
                        }
                    }
                }
            }
            return exist;
        }
        ///<summary>
        ///获取逻辑信息
        ///获取门锁逻辑信息
        /// 返回值:null不存在;其它值都存在;
        /// </summary>
        public static async System.Threading.Tasks.Task<Common.Logic> GetLogicIfon()
@@ -773,12 +796,16 @@
                //默认取第一个逻辑ID(时效性只有一条逻辑)
                int exist = Idlist[0];
                logic = await Send.GetLogic(exist, 3);
                if (!ExistLogic(logic))
                {
                    logic = null;
                }
            }
            return logic;
        }
        ///<summary>
        ///删除所有时效性自动化
        ///删除该门锁所有时效性自动化
        /// 返回值:true成功;false失败;
        /// </summary>
        public static async System.Threading.Tasks.Task<bool> GetLogicAll()
@@ -792,15 +819,44 @@
                for (int i = 0; i < Idlist.Count; i++)
                {
                    int id = Idlist[i];
                    //本来只有一条时效性自动化,
                    //防止特殊情况,找到就删除掉;
                    Send.DelLogic(id);
                    var logic = await Send.GetLogic(id, 3);
                    if (logic != null)
                    {
                        if (ExistLogic(logic))
                        {
                            //本来只有一条时效性自动化,
                            //防止特殊情况,找到就删除掉;
                            Send.DelLogic(id);
                        }
                    }
                }
            }
            return _if;
        }
        /// <summary>
        /// 查找这一条自动化是否属于该门锁
        /// </summary>
        /// <returns></returns>
        public static bool ExistLogic(Common.Logic logic)
        {
            bool yes = false;
            for (int j = 0; j < logic.Accounts.Count; j++)
            {
                //Option4是设备mac;Option2是设备端口;
                if (logic.Accounts[j]["Option4"].ToString() != Send.CurrentDoorLock.DeviceAddr && logic.Accounts[j]["Option2"].ToString() != Send.CurrentDoorLock.DeviceEpoint.ToString())
                {
                    //查找是否是那个门锁;
                    //如果不是该门锁联动事件不显示出来;
                    yes = false;
                }
                else
                {
                    yes = true;
                }
            }
            return yes;
        }
    }
}
ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -64,7 +64,7 @@
            {
                //进来更新一次
                //查找是否存在时效性自动化;有的话就返回自动化对象;
                var logic = await SkipView.GetLogicIfon();
              var  logic = await SkipView.GetLogicIfon();
                if (logic != null)
                {
                    try
@@ -264,6 +264,7 @@
                        {
                            if (logicId != 0)
                            {
                                ///有可能只有常开模式,没有时效性自动化
                                Send.DelLogic(logicId);
                            }
@@ -403,6 +404,8 @@
                                         timeValue = int.Parse(str);
                                         Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
                                         ModeView();
                                         ///添加APP开启常开模式的历史记录
                                         UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock,9001,string.Empty);
                                     }