예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="objektid"></param>
        /// <returns></returns>
        public List <RattighetMemberType> GetRattighetData(string objektid)
        {
            RattighetPortTypeClient client = new RattighetPortTypeClient();

            using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))
            {
                HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty();

                httpRequestProperty.Headers.Add("Authorization", "Bearer " + "StringToken");

                OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;

                List <RattighetMemberType> privileges = new List <RattighetMemberType>();

                RegisterenhetFilterType filter = new RegisterenhetFilterType()
                {
                    ItemElementName = ItemChoiceType1.objektidentitet,
                    Item            = objektid
                };
                FindRattighetRequestType findRequest = new FindRattighetRequestType()
                {
                    Item = filter
                };

                List <RattighetsreferensType>  rattigheter = new List <RattighetsreferensType>();
                RattighetsreferensResponseType rattighet   = client.FindRattighet(findRequest);
                if (rattighet.Items != null)
                {
                    foreach (var item in rattighet.Items)
                    {
                        if (item is RattighetsreferensArrayPropertyType)
                        {
                            RattighetsreferensArrayPropertyType ans = item as RattighetsreferensArrayPropertyType;
                            rattigheter.AddRange(ans.Rattighetsreferens);
                        }
                        if (item is RattighetsreferensType)
                        {
                            RattighetsreferensType ans = item as RattighetsreferensType;
                            rattigheter.Add(ans);
                        }
                    }
                }

                rattigheter.ToList().ForEach(ratt =>
                {
                    GetRattighetRequestType request = new GetRattighetRequestType();
                    request.IncludeData             = new RattighetDatasetType()
                    {
                        Items            = new bool[] { true },
                        ItemsElementName = new ItemsChoiceType[] { ItemsChoiceType.total }
                    };
                    request.Items = new string[] { ratt.objektidentitet };
                    privileges.Add(client.GetRattighet(request).RattighetMember.FirstOrDefault());
                });

                return(privileges);
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="objektid"></param>
        /// <returns></returns>
        public List <MarkregleringMemberType> GetMarkregleringData(string objektid)
        {
            MarkregleringPortTypeClient client = new MarkregleringPortTypeClient();

            using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))
            {
                HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty();

                httpRequestProperty.Headers.Add("Authorization", "Bearer " + "StringToken");

                OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;

                List <MarkregleringMemberType> croundControls = new List <MarkregleringMemberType>();

                RegisterenhetFilterType filter = new RegisterenhetFilterType()
                {
                    ItemElementName = ItemChoiceType2.objektidentitet,
                    Item            = objektid
                };
                FindMarkregleringRequestType findRequest = new FindMarkregleringRequestType()
                {
                    Item = filter
                };

                MarkregleringsreferensType[] markregleringar = client.FindMarkreglering(findRequest);

                markregleringar.ToList().ForEach(markreglering =>
                {
                    GetMarkregleringRequestType request = new GetMarkregleringRequestType();
                    request.IncludeData = new MarkregleringDatasetType()
                    {
                        Items            = new bool[] { true },
                        ItemsElementName = new ItemsChoiceType1[] { ItemsChoiceType1.total }
                    };
                    request.ItemsElementName = new ItemsChoiceType[] { ItemsChoiceType.objektidentitet };
                    request.Items            = new string[] { markreglering.objektidentitet };
                    croundControls.Add(client.GetMarkreglering(request).MarkregleringMember.FirstOrDefault());
                });

                return(croundControls);
            }
        }