| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.UI2.Intelligence.Automation.LogicView; |
| | | using Shared; |
| | |
| | | public PirMain() |
| | | { |
| | | Tag = "PirMain"; |
| | | GetPirDeviceList(); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 临时储存设备类型列表 |
| | |
| | | Text = "mini智能遥控器", |
| | | }; |
| | | deviceListFLayout.AddChidren(deviceNameBtn); |
| | | if (Pir.pirDeviceList.Count!=0) { |
| | | if (Pir.pirDeviceList.Count != 0) |
| | | { |
| | | deviceNameBtn.Text = Pir.pirDeviceList[0].name; |
| | | Pir.currPir = Pir.pirDeviceList[0]; |
| | | } |
| | |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | |
| | | FrameLayout iconFLyout = new FrameLayout |
| | | FrameLayout iconFLyout = new FrameLayout |
| | | { |
| | | X = Application.GetRealWidth(205), |
| | | Y = Application.GetRealHeight(314), |
| | |
| | | }; |
| | | fLayout.AddChidren(iconFLyout); |
| | | |
| | | FrameLayout textFLyout = new FrameLayout |
| | | FrameLayout textFLyout = new FrameLayout |
| | | { |
| | | X = Application.GetRealWidth(8), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(144), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | VerticalScrolViewLayout vv = new VerticalScrolViewLayout |
| | | VerticalScrolViewLayout vv = new VerticalScrolViewLayout |
| | | { |
| | | X = Application.GetRealWidth(8), |
| | | Y = Application.GetRealHeight(14), |
| | |
| | | Height = Application.GetRealHeight(44 * 4), |
| | | }; |
| | | |
| | | if (Pir.pirDeviceList.Count >4) |
| | | if (Pir.pirDeviceList.Count > 4) |
| | | { |
| | | iconFLyout.Height = Application.GetRealHeight(21 + 44 * 4); |
| | | iconFLyout.AddChidren(vv); |
| | |
| | | |
| | | for (int i = 0; i < Pir.pirDeviceList.Count; i++) |
| | | { |
| | | var pirJson = Pir.pirDeviceList[i]; |
| | | View.PirNameView pirNameView = new View.PirNameView(); |
| | | var pirJson = Pir.pirDeviceList[i]; |
| | | View.PirNameView pirNameView = new View.PirNameView(); |
| | | if (Pir.pirDeviceList.Count > 4) |
| | | { |
| | | vv.AddChidren(pirNameView.FLayoutView()); |
| | |
| | | if (if_value == 7) |
| | | { |
| | | Method method = new Method(); |
| | | method.AddControl(this,(control) => { |
| | | method.AddControl(this, (control) => |
| | | { |
| | | AddButton addButton = new AddButton(); |
| | | MainPage.BasePageView.AddChidren(addButton); |
| | | addButton.Show(control); |
| | |
| | | } |
| | | GetBrandList(jobDeviceType.id, (brandList) => |
| | | { |
| | | var brandSupportStrList= GetBrandSupport(if_value); |
| | | var brandSupportStrList = GetBrandSupport(if_value); |
| | | var strList = new List<string>(); |
| | | for (int str = 0; str < brandList.Count; str++) |
| | | { |
| | | string s = brandList[str].brandName; |
| | | var bool_if = brandSupportStrList.Find((c)=>s.Contains(c)); |
| | | if (bool_if!=null) |
| | | { |
| | | strList.Add(s); |
| | | } |
| | | //var bool_if = brandSupportStrList.Find((c) => s.Contains(c)); |
| | | //if (bool_if != null) |
| | | //{ |
| | | // strList.Add(s); |
| | | //} |
| | | strList.Add(s); |
| | | |
| | | } |
| | | Application.RunOnMainThread(()=> { |
| | | BrandList brandObj = new BrandList(); |
| | | MainPage.BasePageView.AddChidren(brandObj); |
| | | brandObj.Show(brandList, strList, strings[1]); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }); |
| | | |
| | | //Application.RunOnMainThread(() => |
| | | //{ |
| | | // BrandList brandObj = new BrandList(); |
| | | // MainPage.BasePageView.AddChidren(brandObj); |
| | | // brandObj.Show(brandList, strList, strings[1]); |
| | | // MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | |
| | | //}); |
| | | |
| | | GoToShowSortSelection(strList); |
| | | |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | }; |
| | | |
| | | } |
| | | GetDeviceTypeList(); |
| | | |
| | | |
| | | } |
| | | |
| | | void GoToShowSortSelection(List<string> dataList) |
| | | { |
| | | Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>(); |
| | | |
| | | foreach (var data in dataList) |
| | | { |
| | | //提取字符串第一位 |
| | | //string s = data.Substring(0, 1); |
| | | var key = GetCharSpellCode(data); |
| | | |
| | | if (dict.ContainsKey(key)) |
| | | { |
| | | var value = dict[key]; |
| | | if (value == null) |
| | | { |
| | | value = new List<string>(); |
| | | } |
| | | value.Add(data); |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | | var value = new List<string>(); |
| | | value.Add(data); |
| | | dict.Add(key, value); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | JLCountrycode.CountryCodeView.Current.ShowSortSelection("选择红外品牌", dict, (countryName) => |
| | | { |
| | | //Console.WriteLine("countryName: " + countryName); |
| | | Utlis.ShowTip("选中了:" + countryName); |
| | | |
| | | |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取汉字首字母 |
| | | /// </summary> |
| | | /// <param name="textValue"></param> |
| | | /// <returns></returns> |
| | | private string GetCharSpellCode(string textValue) |
| | | { |
| | | long iCnChar; |
| | | |
| | | byte[] ZW = Encoding.GetEncoding("gb2312").GetBytes(textValue); |
| | | |
| | | //如果是字母,则直接返回 |
| | | if (ZW.Length == 1) |
| | | { |
| | | return textValue.ToUpper(); |
| | | } |
| | | else |
| | | { |
| | | // get the array of byte from the single char |
| | | int i1 = (short)(ZW[0]); |
| | | int i2 = (short)(ZW[1]); |
| | | iCnChar = i1 * 256 + i2; |
| | | } |
| | | |
| | | |
| | | |
| | | // iCnChar match the constant |
| | | if ((iCnChar >= 45217) && (iCnChar <= 45252)) |
| | | { |
| | | return "A"; |
| | | } |
| | | else if ((iCnChar >= 45253) && (iCnChar <= 45760)) |
| | | { |
| | | return "B"; |
| | | } |
| | | else if ((iCnChar >= 45761) && (iCnChar <= 46317)) |
| | | { |
| | | return "C"; |
| | | } |
| | | else if ((iCnChar >= 46318) && (iCnChar <= 46825)) |
| | | { |
| | | return "D"; |
| | | } |
| | | else if ((iCnChar >= 46826) && (iCnChar <= 47009)) |
| | | { |
| | | return "E"; |
| | | } |
| | | else if ((iCnChar >= 47010) && (iCnChar <= 47296)) |
| | | { |
| | | return "F"; |
| | | } |
| | | else if ((iCnChar >= 47297) && (iCnChar <= 47613)) |
| | | { |
| | | return "G"; |
| | | } |
| | | else if ((iCnChar >= 47614) && (iCnChar <= 48118)) |
| | | { |
| | | return "H"; |
| | | } |
| | | else if ((iCnChar >= 48119) && (iCnChar <= 49061)) |
| | | { |
| | | return "J"; |
| | | } |
| | | else if ((iCnChar >= 49062) && (iCnChar <= 49323)) |
| | | { |
| | | return "K"; |
| | | } |
| | | else if ((iCnChar >= 49324) && (iCnChar <= 49895)) |
| | | { |
| | | return "L"; |
| | | } |
| | | else if ((iCnChar >= 49896) && (iCnChar <= 50370)) |
| | | { |
| | | return "M"; |
| | | } |
| | | |
| | | else if ((iCnChar >= 50371) && (iCnChar <= 50613)) |
| | | { |
| | | return "N"; |
| | | } |
| | | else if ((iCnChar >= 50614) && (iCnChar <= 50621)) |
| | | { |
| | | return "O"; |
| | | } |
| | | else if ((iCnChar >= 50622) && (iCnChar <= 50905)) |
| | | { |
| | | return "P"; |
| | | } |
| | | else if ((iCnChar >= 50906) && (iCnChar <= 51386)) |
| | | { |
| | | return "Q"; |
| | | } |
| | | else if ((iCnChar >= 51387) && (iCnChar <= 51445)) |
| | | { |
| | | return "R"; |
| | | } |
| | | else if ((iCnChar >= 51446) && (iCnChar <= 52217)) |
| | | { |
| | | return "S"; |
| | | } |
| | | else if ((iCnChar >= 52218) && (iCnChar <= 52697)) |
| | | { |
| | | return "T"; |
| | | } |
| | | else if ((iCnChar >= 52698) && (iCnChar <= 52979)) |
| | | { |
| | | return "W"; |
| | | } |
| | | else if ((iCnChar >= 52980) && (iCnChar <= 53640)) |
| | | { |
| | | return "X"; |
| | | } |
| | | else if ((iCnChar >= 53689) && (iCnChar <= 54480)) |
| | | { |
| | | return "Y"; |
| | | } |
| | | else if ((iCnChar >= 54481) && (iCnChar <= 55289)) |
| | | { |
| | | return "Z"; |
| | | } |
| | | else return (""); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取品牌支持 |
| | | /// </summary> |
| | |
| | | { |
| | | } |
| | | break; |
| | | |
| | | |
| | | |
| | | } |
| | | return strList; |
| | |
| | | case 1: |
| | | { |
| | | //空调 |
| | | type = "ac-"+SPK.AcIr; |
| | | type = "ac-" + SPK.AcIr; |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | //电视 |
| | | type = "tv-"+SPK.ElectricTV; |
| | | type = "tv-" + SPK.ElectricTV; |
| | | } |
| | | break; |
| | | case 3: |
| | |
| | | case 4: |
| | | { |
| | | //机顶盒 |
| | | // type = "set_top_box-" + SPK.ElectricTV; |
| | | // type = "set_top_box-" + SPK.ElectricTV; |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | //影碟机 |
| | | // type = "dvd-" + SPK.ElectricTV; |
| | | //影碟机 |
| | | // type = "dvd-" + SPK.ElectricTV; |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | //投影仪 |
| | | // type = "projector-" + SPK.ElectricTV; |
| | | // type = "projector-" + SPK.ElectricTV; |
| | | } |
| | | break; |
| | | |
| | | |
| | | |
| | | } |
| | | return type; |
| | |
| | | } |
| | | }, "", "设备类型列表"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读取红外设备类型的品牌列表 |
| | | /// </summary> |
| | | private void GetBrandList(string id,Action<List<Brand>> actionBrand) |
| | | private void GetBrandList(string id, Action<List<Brand>> actionBrand) |
| | | { |
| | | List<Brand> brandList = new List<Brand>(); |
| | | PirSend.GetDeviceTypesList(this, (responsePackNew) => |
| | |
| | | } |
| | | }, id, "品牌列表"); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取红外设备列表 |
| | | /// </summary> |
| | | private void GetPirDeviceList( ) |
| | | { |
| | | |
| | | //加载log |
| | | Loading loading = new Loading(); |
| | | this.AddChidren(loading); |
| | | HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null; |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | responsePackNew = PirSend.GetDeviceList("ir.module"); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | try { |
| | | if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") |
| | | { |
| | | var jobject = Newtonsoft.Json.Linq.JObject.Parse(responsePackNew.Data.ToString()); |
| | | string list = jobject["list"].ToString(); |
| | | |
| | | var jArray = Newtonsoft.Json.Linq.JArray.Parse(list); |
| | | for (int a = 0; a < jArray.Count; a++) |
| | | { |
| | | var jay = jArray[a]; |
| | | string spk = jay["spk"].ToString(); |
| | | if (spk == "ir.module") |
| | | { |
| | | //数据返序列化为Logic对象 |
| | | var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); |
| | | var pirJosn = Newtonsoft.Json.JsonConvert.DeserializeObject<Pir>(str); |
| | | if (pirJosn != null) |
| | | { |
| | | if (null == Pir.pirDeviceList.Find((c) => c.deviceId == pirJosn.deviceId)) |
| | | { |
| | | |
| | | Pir.pirDeviceList.Add(pirJosn); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Method method = new Method(); |
| | | method.ErrorShow(responsePackNew); |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |