CrabtreeOn,印度客户定制APP,迁移2.0平台版本
JLChen
2021-03-26 fcde8ea5ceb4c208f9a6e7a972666d0045850e3f
2021-03-26 1.更新
4个文件已修改
203 ■■■■■ 已修改文件
Crabtree/.vs/SmartHome/xs/UserPrefs.xml 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/HDL/Common/Constant.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/.vs/SmartHome/xs/UserPrefs.xml
@@ -1,31 +1,48 @@
<Properties StartupConfiguration="{1D83BF28-BA88-4152-BA41-D7EFE90A5437}|Default">
  <MonoDevelop.Ide.ItemProperties.ON.Droid PreferredExecutionTarget="Android.Android_Accelerated_Oreo" />
  <MonoDevelop.Ide.Workbench ActiveDocument="SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs">
  <MonoDevelop.Ide.Workbench ActiveDocument="SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs">
    <Files>
      <File FileName="SmartHome/UI/SimpleControl/Phone/Scene/UserDeviceToScene.cs" Line="22" Column="19" />
      <File FileName="SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs" Line="52" Column="33" />
      <File FileName="SmartHome/HDL/Operation/ResponseEntity/Timer.cs" Line="45" Column="23" />
      <File FileName="SmartHome/HDL/Common/Constant.cs" Line="60" Column="31" />
      <File FileName="SmartHome/HDL/Common/HttpUtil/HttpServerRequest.cs" Line="716" Column="10" />
      <File FileName="SmartHome/UI/SimpleControl/Phone/Scene/SceneMethod.cs" Line="1" Column="1" />
      <File FileName="SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs" Line="58" Column="33" />
      <File FileName="SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs" Line="344" Column="33" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="SmartHome" expanded="True">
            <Node name="Shared" expanded="True">
              <Node name="DLL" expanded="True" />
              <Node name="HDL" expanded="True">
                <Node name="Common" expanded="True">
                  <Node name="HttpUtil" expanded="True" />
                </Node>
                <Node name="Operation" expanded="True">
                  <Node name="ResponseEntity" expanded="True" />
                </Node>
              </Node>
              <Node name="IO" expanded="True" />
              <Node name="Net" expanded="True" />
              <Node name="UI" expanded="True">
                <Node name="SimpleControl" expanded="True">
                  <Node name="Phone" expanded="True">
                    <Node name="FoolHeat" expanded="True" />
                    <Node name="FresAir" expanded="True" />
                    <Node name="Guide" expanded="True" />
                    <Node name="Light" expanded="True" />
                    <Node name="Scene" expanded="True">
                      <Node name="UserAddSceneDevice.cs" selected="True" />
                    <Node name="Register" expanded="True" />
                    <Node name="Room" expanded="True" />
                    <Node name="Scene" expanded="True" />
                    <Node name="Schedule" expanded="True">
                      <Node name="UserSchedule.cs" selected="True" />
                    </Node>
                    <Node name="Schedule" expanded="True" />
                    <Node name="Security" expanded="True" />
                    <Node name="Sensor" expanded="True" />
                    <Node name="System" expanded="True" />
                    <Node name="TV" expanded="True" />
                    <Node name="UniversalDevice" expanded="True" />
                    <Node name="User" expanded="True" />
                    <Node name="Warning" expanded="True" />
                  </Node>
                </Node>
              </Node>
Crabtree/SmartHome/HDL/Common/Constant.cs
@@ -7,7 +7,10 @@
    /// </summary>
    public class Constant
    {
        /// <summary>
        ///
        /// </summary>
        public const string Equipment = "Equipment";
        /// <summary>
        /// 裁剪图片的高大小
Crabtree/SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs
@@ -145,6 +145,13 @@
                if (null == common) {
                    continue;
                }
                var newName = CheckIfNameChanged (deviceFilePath, common.Type.ToString(), common.Name);
                if (!string.IsNullOrEmpty (newName)) {
                    Utlis.WriteLine (common.Name + " 场景设备新备注:" + newName);
                    common.Name = newName;
                }
                string iconPath = "";
                if (common.Type == DeviceType.UniversalDevice) {
@@ -2536,5 +2543,159 @@
                }
            }
        }
        /// <summary>
        /// 2021-03-26
        /// 检测判断备注名是否修改过,修改过则更新一次
        /// 修复测试反馈BUG(设备备注修改后,场景里面的设备备注没有同步,需删除原来设备重新添加,备注才更新。)
        /// </summary>
        /// <param name="deviceFilePath"></param>
        /// <param name="deviceType"></param>
        /// <param name="deviceName"></param>
        string CheckIfNameChanged (string deviceFilePath, string deviceType, string deviceName)
        {
            try {
                string [] str = deviceFilePath.Split (Constant.Equipment);
                if (str == null || str.Length != 2) return "";
                //1.找出本地真实的设备
                string trueDeviceFilePath = Constant.Equipment + str [1];
                Common common = Newtonsoft.Json.JsonConvert.DeserializeObject<Common> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (trueDeviceFilePath)));
                if (null == common) {
                    return "";
                }
                //2.本地存在真实设备,判断备注是否一致
                if (deviceName.Equals (common.Name) || deviceName == common.Name) return "";
                //3.不一致更新备注保存到本地
                string newName = common.Name;
                //4.这里注意:转换成当前设备类型的对象,不能转换成Common,不然保存后会丢失设置的控制状态值数据。
                if (deviceType == DeviceType.LightSwitch.ToString () || deviceType == DeviceType.LightEnergySocket.ToString () || deviceType == DeviceType.LightEnergySwitch.ToString () || deviceType == DeviceType.LightSwitchSocket.ToString ()) {
                    LightSwitch lightSwitch = Newtonsoft.Json.JsonConvert.DeserializeObject<LightSwitch> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (null == lightSwitch) {
                        return "";
                    }
                    lightSwitch.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightSwitch)));
                } else if (deviceType == DeviceType.LightMixSwitch.ToString ()) {
                    LightMixSwitch lightSwitch = Newtonsoft.Json.JsonConvert.DeserializeObject<LightMixSwitch> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (null == lightSwitch) {
                        return "";
                    }
                    lightSwitch.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightSwitch)));
                } else if (deviceType == DeviceType.LightDimming.ToString ()) {
                    LightDimming lightDimming = Newtonsoft.Json.JsonConvert.DeserializeObject<LightDimming> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (null == lightDimming) {
                        return "";
                    }
                    lightDimming.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightDimming)));
                } else if (deviceType == DeviceType.LightMixDimming.ToString ()) {
                    LightMixDimming lightDimming = Newtonsoft.Json.JsonConvert.DeserializeObject<LightMixDimming> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (null == lightDimming) {
                        return "";
                    }
                    lightDimming.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightDimming)));
                } else if (deviceType == DeviceType.LightRGB.ToString ()) {
                    LightLogic lightRGB = Newtonsoft.Json.JsonConvert.DeserializeObject<LightLogic> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (null == lightRGB) {
                        return "";
                    }
                    lightRGB.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightRGB)));
                } else if (deviceType == DeviceType.CurtainModel.ToString () || deviceType == DeviceType.CurtainTrietex.ToString () || deviceType == DeviceType.CurtainRoller.ToString ()) {
                    if (deviceType == DeviceType.CurtainModel.ToString ()) {
                        #region CurtainModelView
                        CurtainModel curtainmodel = Newtonsoft.Json.JsonConvert.DeserializeObject<CurtainModel> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                        if (curtainmodel == null) {
                            return "";
                        }
                        curtainmodel.Name = newName;
                        IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (curtainmodel)));
                        #endregion
                    } else if (deviceType == DeviceType.CurtainTrietex.ToString ()) {
                        #region CurtainTrietexlView
                        CurtainTrietex curtaintretex = Newtonsoft.Json.JsonConvert.DeserializeObject<CurtainTrietex> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                        if (curtaintretex == null) {
                            return "";
                        }
                        curtaintretex.Name = newName;
                        IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (curtaintretex)));
                        #endregion
                    } else if (deviceType == DeviceType.CurtainRoller.ToString ()) {
                        #region CurtainRollerlView
                        CurtainRoller curtainroller = Newtonsoft.Json.JsonConvert.DeserializeObject<CurtainRoller> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                        if (curtainroller == null) {
                            return "";
                        };
                        curtainroller.Name = newName;
                        IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (curtainroller)));
                    } else {
                        return "";
                    }
                    #endregion
                } else if (deviceType == DeviceType.HVAC.ToString () || deviceType == DeviceType.ACInfrared.ToString () || deviceType == DeviceType.ACPanel.ToString ()) {
                    AC ac = Newtonsoft.Json.JsonConvert.DeserializeObject<AC> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (ac == null) {
                        return "";
                    }
                    ac.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (ac)));
                } else if (deviceType == DeviceType.FoolHeat.ToString () || deviceType == DeviceType.FoolHeatPanel.ToString ()) {
                    FoolHeat fh = Newtonsoft.Json.JsonConvert.DeserializeObject<FoolHeat> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (fh == null)
                        return "";
                    fh.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (fh)));
                } else if (deviceType == DeviceType.DryContact.ToString ()) {
                } else if (deviceType == DeviceType.MusicModel.ToString ()) {
                } else if (deviceType == DeviceType.FanModule.ToString ()) {
                    #region FanModuleView
                    FanModule fanModule = Newtonsoft.Json.JsonConvert.DeserializeObject<FanModule> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (fanModule == null) {
                        return "";
                    }
                    fanModule.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (fanModule)));
                    #endregion
                } else if (deviceType == DeviceType.UniversalDevice.ToString ()) {
                    #region UniversalDevice
                    UniversalDevice udDevice = Newtonsoft.Json.JsonConvert.DeserializeObject<UniversalDevice> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                    if (udDevice == null) {
                        return "";
                    }
                    udDevice.Name = newName;
                    IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (udDevice)));
                    #endregion
                } else {
                    return "";
                }
                return newName;
            } catch {
                return "";
            }
        }
    }
}
Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs
@@ -362,10 +362,10 @@
                            Timer timer = new Timer ();
                            var jay = jArray [a];
                            timer.id = jay ["id"].ToString ();
                            timer.timerName =jay ["timerName"].ToString ();
                            timer.timerName = jay ["timerName"].ToString ();
                            timer.userId = jay ["userId"].ToString ();
                            timer.isEnable = Boolean.Parse (jay ["isEnable"].ToString ());
                            timer.executeUtcTime =SmartHome.Method.GetLocalUtcTime(jay ["executeUtcTime"].ToString ());
                            timer.executeUtcTime = SmartHome.Method.GetLocalUtcTime(jay ["executeUtcTime"].ToString ());
                            timer.timerType = (TimerType)System.Enum.Parse (typeof (TimerType), jay ["timerType"].ToString ());
                            var whichDayJson = jay ["whichDay"].ToString ();
                            var whichDayAry = Newtonsoft.Json.Linq.JArray.Parse (whichDayJson);