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); }
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); }
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); }