黄学彪
2020-03-11 06802250b4b9041d39d568c1dbe77684075006b2
ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
@@ -52,7 +52,6 @@
            this.room = curRoom;
            InitFrame();
            InitStatu();
        }
        /// <summary>
@@ -68,7 +67,6 @@
                Tag = scene
            };
            AddChidren(sceneRowLayout);
            sceneRowLayout.SubViewWidth = Application.GetRealWidth(199);
            sceneImg = new ImageView()
            {
@@ -84,6 +82,7 @@
            btnShadow.X = sceneImg.X - Application.GetRealWidth(14);
            btnShadow.UnSelectedImagePath = "Scene/SceneShadow.png";
            sceneRowLayout.AddChidren(btnShadow);
            btnShadow.ButtonClickEvent += this.SceneUpHandler;
            var leftFL = new FrameLayout
            {
@@ -167,103 +166,90 @@
                UnSelectedImagePath = "Scene/Delaying.png",
                Visible=false
            };
            sceneRowLayout.AddChidren(delayImgBtn);
            //定时
            var delayBtn = new RowLayoutDeleteButton
            {
                TextID = R.MyInternationalizationString.Delay,
                Tag = scene.SceneDelayTime,
                BackgroundColor=ZigbeeColor.Current.GXCTextSelectedColor,
            };
            delayBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
            sceneRowLayout.AddLeftView(delayBtn);
            sceneRowLayout.AddChidren(delayImgBtn);
            sceneRowLayout.SubViewWidth = Application.GetRealWidth(199);
            //定时
            var btnDelay = new NormalViewControl(Application.GetRealWidth(199), sceneRowLayout.Height, false);
            btnDelay.BackgroundColor = ZigbeeColor.Current.GXCTextSelectedColor;
            btnDelay.TextID = R.MyInternationalizationString.Delay;
            btnDelay.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
            btnDelay.TextAlignment = TextAlignment.Center;
            btnDelay.Tag = scene.SceneDelayTime;
            btnDelay.Radius = (uint)Application.GetRealHeight(17);
            sceneRowLayout.AddLeftView(btnDelay);
            //变更按钮的高度
            delayBtn.Height = sceneImg.Height;
            //编辑
            var settingBtn = new Device.CommonForm.RowLayoutEditButton()
            {
                TextID = R.MyInternationalizationString.Editor,
                Tag = scene.SceneDelayTime
            };
            settingBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerTopLeft);
            //删除
            var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
            {
                Tag = scene
            };
            deleteBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
            if (room.IsSharedRoom)
            {
            }
            else
            {
                if (room.IsLove)
                {
                    sceneRowLayout.AddRightView(deleteBtn);
                    //变更按钮的高度
                    deleteBtn.Height = sceneImg.Height;
                }
                else
                {
                    sceneRowLayout.AddRightView(settingBtn);
                    sceneRowLayout.AddRightView(deleteBtn);
                    //变更按钮的高度
                    settingBtn.Height = sceneImg.Height;
                    deleteBtn.Height = sceneImg.Height;
                }
            btnDelay.Height = sceneImg.Height;
             //编辑
             var btnEditor = new NormalViewControl(Application.GetRealWidth(199), sceneImg.Height, false);
            btnEditor.BackgroundColor = ZigbeeColor.Current.GXCEditBackGroundColor;
            btnEditor.TextID = R.MyInternationalizationString.Edit;
            btnEditor.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
            btnEditor.TextAlignment = TextAlignment.Center;
            btnEditor.Tag = scene.SceneDelayTime;
            btnEditor.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerTopLeft);
            //删除
            var btnDelete = new NormalViewControl(Application.GetRealWidth(199), sceneImg.Height, false);
            btnDelete.Tag = scene;
            btnDelete.BackgroundColor = ZigbeeColor.Current.GXCRedColor;
            btnDelete.TextID = R.MyInternationalizationString.Delete;
            btnDelete.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
            btnDelete.TextAlignment = TextAlignment.Center;
            btnDelete.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
            if (room.IsSharedRoom == false && room.IsLove == false)
            {
                //不是分享,并且不是收藏
                sceneRowLayout.AddRightView(btnEditor);
                sceneRowLayout.AddRightView(btnDelete);
                //变更按钮的高度
                btnEditor.Height = sceneImg.Height;
                btnDelete.Height = sceneImg.Height;
            }
            //删除场景
            EventHandler<MouseEventArgs> delEvent = (sender, e) =>
            {
                if (room.IsLove)
                {
                    HdlSceneLogic.Current.DeleteScene(HdlRoomLogic.Current.GetLoveRoom(), scene);
                    RemoveFromParent();
                }
                else
                {
                    var alert = new UserCenter.ShowMsgControl(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
                    alert.Show();
                    alert.ConfirmClickEvent += async () =>
                    {
                        //0 移除失败 1 移除成功 2 没有该场景
                        var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
                        if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
                        {
                            CommonPage.Instance.FailureToServer();
                            return;
                        }
                        //1成功
                        if (removeSceneAllData.removeSceneData.Result == 1)
                        {
                            HdlSceneLogic.Current.RemoveScene(scene);
                            //RefreshBodyView();
                            RemoveFromParent();
                        }
                        //0 移除失败
                        else if (removeSceneAllData.removeSceneData.Result == 0)
                        {
                            CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain));
                            return;
                        }
                        //2 没有该场景
                        else if (removeSceneAllData.removeSceneData.Result == 2)
                        {
                            HdlSceneLogic.Current.RemoveScene(scene);
                            //RefreshBodyView();
                            RemoveFromParent();
                            CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneIsNull));
                            return;
                        }
                    };
                }
            btnDelete.ButtonClickEvent += (sender, e) =>
            {
                var alert = new ShowMsgControl(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
                alert.Show();
                alert.ConfirmClickEvent += async () =>
                {
                    //0 移除失败 1 移除成功 2 没有该场景
                    var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
                    if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
                    {
                        CommonPage.Instance.FailureToServer();
                        return;
                    }
                    //1成功
                    if (removeSceneAllData.removeSceneData.Result == 1)
                    {
                        HdlSceneLogic.Current.RemoveScene(scene);
                        //RefreshBodyView();
                        RemoveFromParent();
                    }
                    //0 移除失败
                    else if (removeSceneAllData.removeSceneData.Result == 0)
                    {
                        CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain));
                        return;
                    }
                    //2 没有该场景
                    else if (removeSceneAllData.removeSceneData.Result == 2)
                    {
                        HdlSceneLogic.Current.RemoveScene(scene);
                        //RefreshBodyView();
                        RemoveFromParent();
                        CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneIsNull));
                        return;
                    }
                };
            };
            deleteBtn.MouseUpEventHandler += delEvent;
            //编辑场景
            settingBtn.MouseUpEventHandler += async (sender, e) =>
            btnEditor.ButtonClickEvent += async (sender, e) =>
            {
                try
                {
@@ -367,7 +353,7 @@
                }
            };
            //编辑延时
            delayBtn.MouseUpEventHandler += (sender, e) =>
            btnDelay.ButtonClickEvent += (sender, e) =>
            {
                if (scene.RemainTime > 0)
                {
@@ -384,14 +370,6 @@
                    delayTimeBtn.Text = CommonFormResouce.GetTimeString(t);
                };
            };
        }
        /// <summary>
        /// InitStatu
        /// </summary>
        private void InitStatu()
        {
            sceneImg.MouseUpEventHandler += SceneUpHandler;
        }
        /// <summary>