//public async void GetMaterialTypes()
        //{
        //    MDF.Framework.Db.HqlQuerySetting qs = new Framework.Db.HqlQuerySetting();
        //    string hql = "";

        //    if (MaterialTypeIdString == "All")
        //    {
        //        hql = string.Format("select r from SMES.FrameworkAdpt.MaterialChooseControl.MaterialTypeModelAdpt r where r.IsUsed = true");
        //    }
        //    else
        //    {
        //        hql = string.Format("select r from SMES.FrameworkAdpt.MaterialChooseControl.MaterialTypeModelAdpt r where r.IsUsed = true and id in ({0})", MaterialTypeIdString);
        //    }

        //    qs.QueryString = hql;

        //    MDF.Framework.Bus.SynInvokeWcfService wcf = new Framework.Bus.SynInvokeWcfService();
        //    var result = await wcf.Invoke<MDF.Framework.Db.IDatabaseService>(c => c.Query(qs));

        //    if (result.IsSuccess)
        //    {
        //        if (MaterialTypeIdString == "All")
        //        {
        //            var list = InfoExchange.DeConvert<List<MaterialTypeModelAdpt>>(result.InfoMessage, InfoExchange.SetingsKonwnTypesBinder);

        //            var firstLeaveNodes = list.Where(c => c.Parent == null).ToList();

        //            foreach (var item in firstLeaveNodes)
        //            {
        //                SetChilds(item, list);
        //            }

        //            MaterialTypes = firstLeaveNodes;
        //        }
        //        else
        //        {
        //            var list = InfoExchange.DeConvert<List<MaterialTypeModelAdpt>>(result.InfoMessage, InfoExchange.SetingsKonwnTypesBinder);
        //            MaterialTypes = list;
        //        }


        //    }
        //}

        public async void GetMaterialTypes()
        {
            var typeIds = QueryMaterialTypeIds;

            MDF.Framework.Bus.SynInvokeWcfService wcf = new Framework.Bus.SynInvokeWcfService();
            var result = await wcf.Invoke <IComMaterialTypeService>(c => c.GetMaterialTypes(typeIds));

            if (result.IsSuccess)
            {
                var list = InfoExchange.DeConvert <List <MaterialTypeModelAdpt> >(result.InfoMessage, InfoExchange.SetingsKonwnTypesBinder);
                MaterialTypes = list;
            }
        }
        public async void GetMaterialsBySelectType()
        {
            string typeId = SelectedType.Id.ToString();

            MDF.Framework.Db.HqlQuerySetting qsMaterial = new Framework.Db.HqlQuerySetting();
            qsMaterial.QueryString = string.Format("select r from SMES.FrameworkAdpt.MaterialChooseControl.MaterialModelAdpt r where r.MaterialType.Id = {0} and r.IsUsed = true", typeId);

            MDF.Framework.Bus.SynInvokeWcfService wcf = new Framework.Bus.SynInvokeWcfService();
            var resultMaterial = await wcf.Invoke <MDF.Framework.Db.IDatabaseService>(c => c.Query(qsMaterial));

            if (resultMaterial.IsSuccess)
            {
                var list = InfoExchange.DeConvert <List <MaterialModelAdpt> >(resultMaterial.InfoMessage, InfoExchange.SetingsKonwnTypesBinder);

                MaterialsTemp = list;

                QueryBySerachText();
            }
        }