using Shared.Common;
|
using System;
|
using System.Collections.Generic;
|
|
namespace Shared.Phone.UserCenter.Residence
|
{
|
/// <summary>
|
/// 住宅管理的画面★
|
/// </summary>
|
public class ResidenceManagementForm : EditorCommonForm
|
{
|
#region ■ 变量声明___________________________
|
|
/// <summary>
|
/// 列表控件
|
/// </summary>
|
private VerticalScrolViewLayout listView = null;
|
/// <summary>
|
/// 住宅数据
|
/// </summary>
|
private Dictionary<string, Common.ResponseEntity.ResidenceObj> dicResidenceData = null;
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
public void ShowForm()
|
{
|
//设置标题信息
|
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.ResidenceManagement));
|
|
if (UserCenterResourse.UserInfo.AuthorityNo == 1)
|
{
|
//右上添加按钮
|
var btnTopIcon = new MostRightIconControl(69, 69);
|
btnTopIcon.UnSelectedImagePath = "Item/Add.png";
|
topFrameLayout.AddChidren(btnTopIcon);
|
btnTopIcon.InitControl();
|
btnTopIcon.ButtonClickEvent += (sender, e) =>
|
{
|
//var info = new Common.ResponseEntity.ResidenceObj();
|
//this.ShowEditorForm(info);
|
};
|
}
|
|
//初始化中部控件
|
//this.InitMiddleFrame();
|
}
|
|
///// <summary>
|
///// 初始化中部控件
|
///// </summary>
|
//private void InitMiddleFrame()
|
//{
|
// //清空bodyFrame
|
// this.ClearBodyFrame();
|
|
// listView = new VerticalScrolViewLayout();
|
// listView.Height = bodyFrameLayout.Height;
|
// bodyFrameLayout.AddChidren(listView);
|
|
// new System.Threading.Thread(() =>
|
// {
|
// //设置住宅信息
|
// this.SetResidenceInfo();
|
// })
|
// { IsBackground = true }.Start();
|
//}
|
|
///// <summary>
|
///// 设置住宅信息
|
///// </summary>
|
//private async void SetResidenceInfo()
|
//{
|
// //开启进度条
|
// this.ShowProgressBar();
|
|
// Application.RunOnMainThread(() =>
|
// {
|
// this.listView?.RemoveAll();
|
// });
|
// //获取住宅信息
|
// var Pra = new GetResidenceInfoPra();
|
// string resultData = await UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomePager", false, Pra);
|
// if (resultData == null)
|
// {
|
// //关闭进度条
|
// this.CloseProgressBar(ShowReLoadMode.YES);
|
// return;
|
// }
|
// this.dicResidenceData = new Dictionary<string, Common.ResponseEntity.ResidenceObj>();
|
|
// var pageData = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResidenceRes>(resultData);
|
// foreach (Common.ResponseEntity.ResidenceObj info in pageData.PageData)
|
// {
|
// if (info.IsOthreShare == false)
|
// {
|
// //收集该账号所拥有的自己的住宅的数据
|
// this.dicResidenceData[info.Id] = info;
|
// }
|
|
// Application.RunOnMainThread(() =>
|
// {
|
// if (this.Parent != null)
|
// {
|
// this.AddRowLayout(info);
|
// }
|
// });
|
// }
|
// //关闭进度条
|
// this.CloseProgressBar();
|
//}
|
|
#endregion
|
|
//#region ■ 添加住宅的行_______________________
|
|
///// <summary>
|
///// 添加住宅的行
|
///// </summary>
|
///// <param name="info"></param>
|
//private void AddRowLayout(Common.ResponseEntity.ResidenceObj info)
|
//{
|
// if (info.IsOthreShare == true)
|
// {
|
// return;
|
// }
|
// var rowLayout = new RowLayout();
|
// rowLayout.Height = ControlCommonResourse.ListViewRowHeight;
|
// this.listView.AddChidren(rowLayout);
|
|
// //图标
|
// var btnIcon = new RowLeftIconView();
|
// btnIcon.ChangedControlInPointMode();
|
// rowLayout.AddChidren(btnIcon);
|
|
// //住宅
|
// var txtResidence = new RowCenterView(true);
|
// txtResidence.Text = info.Name;
|
// rowLayout.AddChidren(txtResidence);
|
// txtResidence.X -= ControlCommonResourse.PointXXLeft;
|
|
// //不是分享过来的住宅
|
// if (info.IsOthreShare == false)
|
// {
|
// //编辑
|
// var btnEditor = new RowEditorButton();
|
// rowLayout.AddRightView(btnEditor);
|
// btnEditor.MouseUpEventHandler += (sender, e) =>
|
// {
|
// this.ShowEditorForm(info);
|
// };
|
|
// //不能删除当前正在操作的住宅
|
// if (Common.Config.Instance.HomeId != info.Id)
|
// {
|
// //删除
|
// var btnDelete = new RowDeleteButton();
|
// rowLayout.AddRightView(btnDelete);
|
// btnDelete.MouseUpEventHandler += (sender, e) =>
|
// {
|
// //检测能否删除住宅
|
// if (this.CheckIsCanDeleteResidence(info) == false)
|
// {
|
// return;
|
// }
|
// //确认要删除吗?
|
// string msg = Language.StringByID(R.MyInternationalizationString.uShowDoDeleteMsg);
|
// this.ShowConfirmMsg(msg, "DeleteResidence", info);
|
// };
|
// }
|
// }
|
// //成员的管理员权限,只能编辑,不能删除
|
// //if (info.AccountType == 1)
|
// //{
|
// // //编辑
|
// // var btnEditor = new RowEditorButton();
|
// // rowLayout.AddRightView(btnEditor);
|
// // btnEditor.MouseUpEventHandler += (sender, e) =>
|
// // {
|
// // this.ShowEditorForm(info);
|
// // };
|
// //}
|
//}
|
|
//#endregion
|
|
//#region ■ 显示编辑画面_______________________
|
|
///// <summary>
|
///// 显示编辑画面
|
///// </summary>
|
///// <param name="info"></param>
|
//private void ShowEditorForm(Common.ResponseEntity.ResidenceObj info)
|
//{
|
// //生成一个弹窗画面
|
// var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
|
|
// if (string.IsNullOrEmpty(info.Name) == true)
|
// {
|
// //添加住宅
|
// dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddResidence));
|
// }
|
// else
|
// {
|
// //编辑住宅
|
// dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorResidence));
|
// }
|
|
// //请输入住宅名称
|
// dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputResidenceName));
|
// if (info.Name != null)
|
// {
|
// dialogForm.InputText = info.Name;
|
// }
|
|
// //按下确认按钮
|
// dialogForm.ComfirmClickEvent += (()=>
|
// {
|
// string resiName = dialogForm.InputText;
|
// if (resiName == string.Empty)
|
// {
|
// //请输入住宅名称
|
// string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInputResidenceName);
|
// this.ShowErrorMsg(msg);
|
// return;
|
// }
|
// //画面关闭
|
// dialogForm.CloseDialog();
|
|
// if (info.Name != resiName)
|
// {
|
// //保存住宅
|
// this.SaveResidence(resiName, info, string.IsNullOrEmpty(info.Name) == false);
|
// }
|
// });
|
//}
|
|
//#endregion
|
|
//#region ■ 保存住宅___________________________
|
|
///// <summary>
|
///// 保存住宅
|
///// </summary>
|
///// <param name="ResidenceName"></param>
|
///// <param name="info"></param>
|
///// <param name="isEditor"></param>
|
///// <returns></returns>
|
//private async void SaveResidence(string ResidenceName, Common.ResponseEntity.ResidenceObj info, bool isEditor)
|
//{
|
// //检测能否保存住宅
|
// if (this.CheckIsCanSaveResidence(info.Id, ResidenceName, isEditor) == false)
|
// {
|
// return;
|
// }
|
// //开启进度条
|
// this.ShowProgressBar();
|
|
// if (isEditor == true)
|
// {
|
// var Pra = new EditorResidencePra();
|
// Pra.HomeId = info.Id;
|
// Pra.Name = ResidenceName;
|
// //编辑住宅
|
// bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("App/EditHome", false, Pra);
|
// if (flage == false)
|
// {
|
// //关闭进度条
|
// this.CloseProgressBar();
|
// return;
|
// }
|
// //刷新内存的住宅名
|
// House.EditorHouseByHouseId(info.Id, ResidenceName);
|
// //重新刷新列表
|
// this.SetResidenceInfo();
|
// }
|
// else
|
// {
|
// var Pra = new AddResidencePra();
|
// Pra.Name = ResidenceName;
|
// //添加住宅
|
// string resultData = await UserCenterLogic.GetResponseDataByRequestHttps("App/AddHome", false, Pra);
|
// if (resultData == null)
|
// {
|
// //关闭进度条
|
// this.CloseProgressBar();
|
// return;
|
// }
|
|
// var newInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<NewResidenceInfo>>(resultData);
|
|
// House.AddHouse(newInfo[0].Id, ResidenceName, 0);
|
// //重新刷新列表
|
// this.SetResidenceInfo();
|
// }
|
//}
|
|
//#endregion
|
|
//#region ■ 删除住宅___________________________
|
|
///// <summary>
|
///// 删除住宅
|
///// </summary>
|
///// <param name="info"></param>
|
//public async void DeleteResidence(Common.ResponseEntity.ResidenceObj info)
|
//{
|
// //开启进度条
|
// this.ShowProgressBar();
|
|
// var Pra = new DeleteResidencePra();
|
// Pra.HomeId = info.Id;
|
|
// bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", false, Pra);
|
// if (result == false)
|
// {
|
// //关闭进度条
|
// this.CloseProgressBar();
|
// return;
|
// }
|
// House.DeleteHouseByHouseId(info.Id);
|
|
// this.SetResidenceInfo();
|
//}
|
|
//#endregion
|
|
//#region ■ 一般方法___________________________
|
|
///// <summary>
|
///// 检测能否删除住宅
|
///// </summary>
|
///// <param name="info"></param>
|
///// <returns></returns>
|
//private bool CheckIsCanDeleteResidence(Common.ResponseEntity.ResidenceObj info)
|
//{
|
// if (this.dicResidenceData.Count == 1)
|
// {
|
// //如果此账号下只剩下唯一一个自己的住宅,当删除这个住宅时,提示不能删除
|
// //因为最少要有一个住宅
|
// if (this.dicResidenceData.ContainsKey(info.Id) == true)
|
// {
|
// //不能删除最后唯一的住宅
|
// string msg = Language.StringByID(R.MyInternationalizationString.uDoNotDeleteLastResidence);
|
// this.ShowErrorMsg(msg);
|
// return false;
|
// }
|
// }
|
// return true;
|
//}
|
|
///// <summary>
|
///// 检测能否保存住宅
|
///// </summary>
|
///// <param name="residenceId">住宅ID</param>
|
///// <param name="residenceName">住宅名</param>
|
///// <param name="isEditor">isEditor</param>
|
///// <returns></returns>
|
//private bool CheckIsCanSaveResidence(string residenceId, string residenceName, bool isEditor)
|
//{
|
// //住宅名字重复检测
|
// foreach (string strId in this.dicResidenceData.Keys)
|
// {
|
// if (residenceId != strId && residenceName == this.dicResidenceData[strId].Name)
|
// {
|
// //住宅名字已经存在
|
// int msgId = isEditor == true ? R.MyInternationalizationString.EditZigbeeHome_Exist : R.MyInternationalizationString.AddZigbeeHome_Exist;
|
// string msg = Language.StringByID(msgId);
|
// this.ShowErrorMsg(msg);
|
// return false;
|
// }
|
// }
|
// return true;
|
//}
|
|
//#endregion
|
|
//#region ■ 结构体_____________________________
|
|
///// <summary>
|
///// 访问住宅信息接口的启动参数(查询专用)
|
///// </summary>
|
//public class GetResidenceInfoPra:IfacePraCommon
|
//{
|
// /// <summary>
|
// /// RequestVersion
|
// /// </summary>
|
// public string RequestVersion = Common.CommonPage.RequestVersion;
|
// /// <summary>
|
// /// ReqDto
|
// /// </summary>
|
// public TokenInfo ReqDto = new TokenInfo();
|
//}
|
|
///// <summary>
|
///// 访问住宅信息接口的启动参数(查询专用)
|
///// </summary>
|
//public class TokenInfo
|
//{
|
// /// <summary>
|
// /// LoginAccessToken
|
// /// </summary>
|
// public string LoginAccessToken = Common.Config.Instance.Token;
|
// /// <summary>
|
// /// PageSetting
|
// /// </summary>
|
// public PageSettingInfo PageSetting = new PageSettingInfo()
|
// {
|
// Page = 1,
|
// PageSize = 500
|
// };
|
//}
|
|
///// <summary>
|
///// 添加住宅的启动参数
|
///// </summary>
|
//public class AddResidencePra:IfacePraCommon
|
//{
|
// /// <summary>
|
// /// RequestVersion
|
// /// </summary>
|
// public string RequestVersion = Common.CommonPage.RequestVersion;
|
// /// <summary>
|
// /// LoginAccessToken
|
// /// </summary>
|
// public string LoginAccessToken = Common.Config.Instance.Token;
|
// /// <summary>
|
// /// Name
|
// /// </summary>
|
// public string Name = string.Empty;
|
//}
|
|
///// <summary>
|
///// 新住宅的信息
|
///// </summary>
|
//public class NewResidenceInfo
|
//{
|
// /// <summary>
|
// /// ZigbeeHomeGuid
|
// /// </summary>
|
// public string Id = string.Empty;
|
//}
|
|
///// <summary>
|
///// 编辑住宅的启动参数
|
///// </summary>
|
//public class EditorResidencePra : IfacePraCommon
|
//{
|
// /// <summary>
|
// /// RequestVersion
|
// /// </summary>
|
// public string RequestVersion = Common.CommonPage.RequestVersion;
|
// /// <summary>
|
// /// LoginAccessToken
|
// /// </summary>
|
// public string LoginAccessToken = Common.Config.Instance.Token;
|
// /// <summary>
|
// /// ZigbeeHomeId
|
// /// </summary>
|
// public string HomeId = "";
|
// /// <summary>
|
// /// Name
|
// /// </summary>
|
// public string Name = string.Empty;
|
//}
|
|
///// <summary>
|
///// 删除住宅的启动参数
|
///// </summary>
|
//public class DeleteResidencePra : IfacePraCommon
|
//{
|
// /// <summary>
|
// /// RequestVersion
|
// /// </summary>
|
// public string RequestVersion = Common.CommonPage.RequestVersion;
|
// /// <summary>
|
// /// LoginAccessToken
|
// /// </summary>
|
// public string LoginAccessToken = Common.Config.Instance.Token;
|
// /// <summary>
|
// /// ZigbeeHomeId
|
// /// </summary>
|
// public string HomeId = "";
|
//}
|
//#endregion
|
}
|
}
|