| | |
| | | #endregion |
| | | |
| | | #region 场景延时row |
| | | if (DB_ResidenceData.residenceData.GatewayType == 1) |
| | | if (DB_ResidenceData.Instance.GatewayType == 1) |
| | | { |
| | | FrameLayout sceneDelayRow = new FrameLayout() |
| | | { |
| | |
| | | bodyView.AddChidren(btnComplete); |
| | | |
| | | LoadEventList(); |
| | | |
| | | var waitPage = new Loading(); |
| | | new Thread(() => { |
| | | Application.RunOnMainThread(() => { |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | }); |
| | | var pm = new HttpServerRequest(); |
| | | var pack = pm.GetSceneInfo(scene.userSceneId); |
| | | if (pack.Code == StateCode.SUCCESS) |
| | | { |
| | | var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString()); |
| | | var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId); |
| | | if(tempScene!= null) |
| | | { |
| | | scene.functions = tempScene.functions; |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.Hide(); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.Hide(); |
| | | IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); |
| | | }); |
| | | } |
| | | }).Start(); |
| | | } |
| | | /// <summary> |
| | | /// 加载功能列表 |
| | |
| | | row.AddRightView(btnDelSceneFunction); |
| | | btnDelSceneFunction.MouseUpEventHandler = (sender, e) => { |
| | | scene.functions.Remove(scenefunction); |
| | | scene.SaveSceneData(); |
| | | scene.SaveSceneData(true); |
| | | row.RemoveFromParent(); |
| | | functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); |
| | | //LoadFunctionRow(functionListView); |
| | |
| | | if (sfs.value == "off") |
| | | return Language.StringByID(StringId.Close); |
| | | } |
| | | if (sfs.key == FunctionAttributeKey.Mode) |
| | | { |
| | | |
| | | } |
| | | } |
| | | FunctionAttributes perTrait; |
| | | |
| | | switch (sceneFunction.localFunction.functionType) |
| | | if (sceneFunction.status.Count == 0) |
| | | { |
| | | case FunctionType.AC: |
| | | sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText(); |
| | | sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").curValue.ToString() + |
| | | sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").uintString; |
| | | sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText(); |
| | | break; |
| | | case FunctionType.FloorHeating: |
| | | sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText(); |
| | | sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").curValue.ToString() + |
| | | sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").uintString; |
| | | break; |
| | | case FunctionType.Dimmer: |
| | | perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness"); |
| | | if (perTrait != null) |
| | | { |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; |
| | | } |
| | | else |
| | | { |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | } |
| | | break; |
| | | case FunctionType.Relay: |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | break; |
| | | case FunctionType.RGB: |
| | | perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"); |
| | | if (perTrait != null) |
| | | { |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; |
| | | } |
| | | else |
| | | { |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | } |
| | | break; |
| | | case FunctionType.Curtain: |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | break; |
| | | case FunctionType.MotorCurtain: |
| | | perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"); |
| | | if (perTrait != null) |
| | | { |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%"; |
| | | } |
| | | else |
| | | { |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | } |
| | | break; |
| | | return sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | } |
| | | |
| | | var modeState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode); |
| | | var tempState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp); |
| | | var fanState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed); |
| | | if (modeState != null) |
| | | { |
| | | sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value); |
| | | } |
| | | if (tempState != null) |
| | | { |
| | | sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value); |
| | | sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key); |
| | | } |
| | | if (fanState != null) |
| | | { |
| | | sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value); |
| | | } |
| | | var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); |
| | | if (briState != null) |
| | | { |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + briState.value + "%"; |
| | | } |
| | | var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent); |
| | | if (perState != null) |
| | | { |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + perState.value + "%"; |
| | | } |
| | | //FunctionAttributes perTrait; |
| | | |
| | | //switch (sceneFunction.localFunction.functionType) |
| | | //{ |
| | | // case FunctionType.AC: |
| | | // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText(); |
| | | // sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() + |
| | | // sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString; |
| | | // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText(); |
| | | // break; |
| | | // case FunctionType.FloorHeating: |
| | | // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText(); |
| | | // sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() + |
| | | // sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString; |
| | | // break; |
| | | // case FunctionType.Dimmer: |
| | | // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness"); |
| | | // if (perTrait != null) |
| | | // { |
| | | // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; |
| | | // } |
| | | // else |
| | | // { |
| | | // sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | // } |
| | | // break; |
| | | // case FunctionType.Relay: |
| | | // sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | // break; |
| | | // case FunctionType.RGB: |
| | | // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"); |
| | | // if (perTrait != null) |
| | | // { |
| | | // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; |
| | | // } |
| | | // else |
| | | // { |
| | | // sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | // } |
| | | // break; |
| | | // case FunctionType.Curtain: |
| | | // sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | // break; |
| | | // case FunctionType.MotorCurtain: |
| | | // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"); |
| | | // if (perTrait != null) |
| | | // { |
| | | // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%"; |
| | | // } |
| | | // else |
| | | // { |
| | | // sceneFunctionInfo += Language.StringByID(StringId.Open); |
| | | // } |
| | | // break; |
| | | //} |
| | | return sceneFunctionInfo; |
| | | } |
| | | |
| | |
| | | addSceneImageView.ImagePath = scene.ImagePath; |
| | | if (pageTitleId == StringId.EditScene) |
| | | { |
| | | scene.SaveSceneData(); |
| | | scene.SaveSceneData(true); |
| | | } |
| | | }; |
| | | |
| | |
| | | scene.ImagePath = imageUrl; |
| | | if (pageTitleId == StringId.EditScene) |
| | | { |
| | | scene.SaveSceneData(); |
| | | scene.SaveSceneData(true); |
| | | } |
| | | }; |
| | | //上传图片到云端 |
| | |
| | | }.Show(bodyView); |
| | | return; |
| | | } |
| | | foreach (var tempRoom in DB_ResidenceData.functionList.scenes) |
| | | foreach (var tempRoom in FunctionList.List.scenes) |
| | | { |
| | | if (scene.name == tempRoom.name) |
| | | { |
| | |
| | | return; |
| | | } |
| | | } |
| | | scene.SaveSceneData(); |
| | | DB_ResidenceData.functionList.scenes.Add(scene); |
| | | scene.SaveSceneData(true); |
| | | FunctionList.List.scenes.Add(scene); |
| | | backAction(); |
| | | this.RemoveFromParent(); |
| | | } |
| | |
| | | { |
| | | Action action = () => |
| | | { |
| | | DB_ResidenceData.DelSceneFunction(scene.sid); |
| | | FunctionList.List.DeleteScene(scene,true); |
| | | backAction(); |
| | | this.RemoveFromParent(); |
| | | }; |
| | | new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteSceneTip, action); |
| | | new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteSceneTip, action); |
| | | }; |
| | | }; |
| | | } |
| | |
| | | scene.name = str; |
| | | if (pageTitleId == StringId.EditScene) |
| | | { |
| | | scene.SaveSceneData(); |
| | | scene.SaveSceneData(true); |
| | | } |
| | | }; |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | List<string> sceneNameList = new List<string>(); |
| | | foreach (var tempScene in DB_ResidenceData.functionList.scenes) |
| | | foreach (var tempScene in FunctionList.List.scenes) |
| | | { |
| | | sceneNameList.Add(tempScene.name); |
| | | } |
| | |
| | | { |
| | | try |
| | | { |
| | | MainPage.Log("SelectPicture 裁剪图片返回路径: " + selectImagePath); |
| | | //MainPage.Log("SelectPicture 裁剪图片返回路径: " + selectImagePath); |
| | | //1.读取裁剪后的图片,然后删除 |
| | | var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath); |
| | | System.IO.File.Delete(selectImagePath); |
| | |
| | | var newImageName = mScene.name.Trim() + ".png"; |
| | | var uploadImageObj = new UploadImageObj() |
| | | { |
| | | prefix = "ONS", |
| | | prefix = "Scene" + Utlis.GetTimestamp(), |
| | | fileName = newImageName, |
| | | uid = mScene.sid, |
| | | content = imageBytes, |
| | |
| | | //上传成功 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | Utlis.WriteLine("上传成功:" + imageUrl); |
| | | //Utlis.WriteLine("上传成功:" + imageUrl); |
| | | //1.2如果是自定义图片删除之前的 |
| | | if (!imageView.ImagePath.Contains("Classification/Room/Roombg")) |
| | | if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("Classification/Room/Roombg")) |
| | | { |
| | | Utlis.WriteLine("删除: " + imageView.ImagePath); |
| | | //Utlis.WriteLine("删除: " + imageView.ImagePath); |
| | | System.IO.File.Delete(imageView.ImagePath); |
| | | } |
| | | //重命名保存 |
| | | FileUtils.WriteFileByBytes(imageUrl, imageBytes); |
| | | ImageUtlis.Current.WriteFileByBytes(imageUrl, imageBytes); |
| | | imageView.ImagePath = null; |
| | | imageView.ImageBytes = imageBytes; |
| | | //上传成功 |