Пример #1
0
        public AccountHierarchyResponse IsAccountAssignedToHierarchy(string accountId)
        {
            AccountHierarchyResponse response = new AccountHierarchyResponse();

            var query            = new BusinessPartnerHierarchyByIdentificationQueryMessage_sync();
            var ident            = new BusinessPartnerHierarchySelectionByIdentification();
            var queryMessage     = new BusinessPartnerHierarchySelectionByBusinessPartnerInternalID();
            var queryMessageName = new BusinessPartnerHierarchySelectionByBusinessPartnerInternalID[1];

            queryMessageName[0] = new BusinessPartnerHierarchySelectionByBusinessPartnerInternalID();
            queryMessageName[0].LowerBoundaryInternalID  = accountId;
            queryMessageName[0].IntervalBoundaryTypeCode = "1";
            queryMessageName[0].InclusionExclusionCode   = "I";
            ident.SelectionByBusinessPartnerInternalID   = queryMessageName;

            query.BusinessPartnerHierarchySelectionByIdentification = ident;

            var sapResponse = _queryClient.FindByIdentification(query);

            if (sapResponse.ProcessingConditions.ReturnedQueryHitsNumberValue > 0)
            {
                response.Errors = new List <string>();
                response.Errors.Add("Number of hierarchy hits = " + sapResponse.ProcessingConditions.ReturnedQueryHitsNumberValue);
                //return response;
                response.ParentId      = sapResponse.Hierarchy[0].ID.Value;
                response.ParentName    = sapResponse.Hierarchy[0].Name;
                response.ParentGroupId = sapResponse.Hierarchy[0].Group[0].ID;
                response.Children      = new List <AccountHierarchyChildResponse>();

                foreach (var group in sapResponse.Hierarchy[0].Group)
                {
                    if (group.BusinessPartner != null)
                    {
                        List <string> accountList = new List <string>();
                        if (group.BusinessPartner != null)
                        {
                            foreach (var account in group.BusinessPartner)
                            {
                                accountList.Add(account.InternalID);
                            }
                        }

                        bool accountIsAssigned = false;
                        if (accountList.Contains(accountId))
                        {
                            accountIsAssigned = true;
                        }

                        response.Children.Add(new AccountHierarchyChildResponse
                        {
                            ChildName         = group.Name,
                            ChildId           = group.ID,
                            AssignedToAccount = accountIsAssigned
                        });
                    }
                }
            }

            return(response);
        }
Пример #2
0
        public AccountHierarchyResponse GetAccountHierarchyByName(string hierarchyName)
        {
            AccountHierarchyResponse response = new AccountHierarchyResponse();
            var query            = new BusinessPartnerHierarchyByIdentificationQueryMessage_sync();
            var queryMessage     = new BusinessPartnerHierarchySelectionByIdentification();
            var queryMessageName = new BusinessPartnerHierarchySelectionByName[1];

            queryMessageName[0] = new BusinessPartnerHierarchySelectionByName();
            queryMessageName[0].LowerBoundaryName        = hierarchyName;
            queryMessageName[0].IntervalBoundaryTypeCode = "1";
            queryMessageName[0].InclusionExclusionCode   = "I";
            queryMessage.SelectionByName = queryMessageName;

            query.BusinessPartnerHierarchySelectionByIdentification = queryMessage;

            var sapResponse = _queryClient.FindByIdentification(query);

            response.ParentUUID = sapResponse.Hierarchy[0].UUID.Value;

            return(response);
        }
Пример #3
0
        public AccountHierarchyResponse GetAccountHierarchyById(string hierarchyId, string accountId)
        {
            var query          = new BusinessPartnerHierarchyByIdentificationQueryMessage_sync();
            var queryMessage   = new BusinessPartnerHierarchySelectionByIdentification();
            var queryMessageId = new BusinessPartnerHierarchySelectionByID[1];

            queryMessageId[0] = new BusinessPartnerHierarchySelectionByID();
            var queryHierarchyId = new AccountHierarchyQueryService.BusinessPartnerHierarchyID();

            queryHierarchyId.Value = hierarchyId;
            queryMessageId[0].LowerBoundaryHierarchyID = queryHierarchyId;
            queryMessageId[0].IntervalBoundaryTypeCode = "1";
            queryMessageId[0].InclusionExclusionCode   = "I";
            queryMessage.SelectionByID = queryMessageId;

            query.BusinessPartnerHierarchySelectionByIdentification = queryMessage;

            var sapResponse = _queryClient.FindByIdentification(query);
            AccountHierarchyResponse response = SetAccountHierarchyQueryResponse(sapResponse, accountId);

            return(response);
        }