コード例 #1
0
ファイル: KBDAPIService.cs プロジェクト: LProvalov/SUNTDLite
        public ClassificatorDescModel GetClassificatorExpDescRecursive(CardAttributeModel cardAttribute)
        {
            LOG_TRACE($"GetClassificatorExpDesc");
            if (_client != null && cardAttribute.AttributeType == AttributeType.ClassificatorExp)
            {
                ClassificatorDesc classificatorDesc = null;
                try
                {
                    using (OperationContextScope scope = new OperationContextScope(_client.InnerChannel))
                    {
                        HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty();
                        httpRequestProperty.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " +
                                                                                                  Convert.ToBase64String(Encoding.ASCII.GetBytes(_client.ClientCredentials.UserName.UserName + ":" + _client.ClientCredentials.UserName.Password));
                        OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
                        classificatorDesc = _client.GetClassificatorDesc((int)cardAttribute.AttributeNumber, 0);
                    }
                }
                catch (InvalidCastException)
                { }

                if (classificatorDesc != null)
                {
                    ClassificatorDescModel ret = new ClassificatorDescModel(classificatorDesc.type);

                    foreach (var item in classificatorDesc.values)
                    {
                        var addedItem = new ClassificatorDescModel.ClassificatorDescModelItem(item.name, item.oid);
                        ret.Values.Add(addedItem);
                        GetClassificatorDescModelItemRecursive((int)cardAttribute.AttributeNumber, item.oid, addedItem.Childrens);
                    }
                    return(ret);
                }
            }
            return(null);
        }
コード例 #2
0
ファイル: KBDAPIService.cs プロジェクト: LProvalov/SUNTDLite
        private void GetClassificatorDescModelItemRecursive(int attributeNumber, int oid, List <ClassificatorDescModel.ClassificatorDescModelItem> item)
        {
            ClassificatorDesc classificatorDesc = null;

            try
            {
                using (OperationContextScope scope = new OperationContextScope(_client.InnerChannel))
                {
                    HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty();
                    httpRequestProperty.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " +
                                                                                              Convert.ToBase64String(Encoding.ASCII.GetBytes(_client.ClientCredentials.UserName.UserName + ":" + _client.ClientCredentials.UserName.Password));
                    OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
                    classificatorDesc = _client.GetClassificatorDesc(attributeNumber, oid);
                }
            }
            catch (InvalidCastException)
            { }

            if (classificatorDesc != null)
            {
                foreach (var value in classificatorDesc.values)
                {
                    var subItem = new ClassificatorDescModel.ClassificatorDescModelItem(value.name, value.oid);
                    item.Add(subItem);
                    GetClassificatorDescModelItemRecursive(attributeNumber, value.oid, subItem.Childrens);
                }
            }
        }
コード例 #3
0
 public ClassificatorDescModel(ClassificatorDesc classificatorDesc)
 {
     Type = GetType(classificatorDesc.type);
     foreach (var item in classificatorDesc.values)
     {
         Values.Add(new ClassificatorDescModelItem(item.name, item.oid));
     }
 }