/// <summary> /// Loads deposit balances details by project id /// </summary> /// <param name="startRow"></param> /// <param name="pageSize"></param> /// <param name="forceRefresh"></param> /// <returns>Retrieves deposit balances details by project id</returns> public BalancesSearchItem[] LoadDepositBalancesDetails(int startRow, int pageSize, bool forceRefresh) { AccountsServiceClient accountsService = null; BalancesSearchItem[] depositBalances = null; try { if (Session[SessionName.ProjectId] != null) { accountsService = new AccountsServiceClient(); CollectionRequest collectionRequest = new CollectionRequest(); collectionRequest.ForceRefresh = forceRefresh; collectionRequest.StartRow = startRow; collectionRequest.RowCount = pageSize; Guid projectId = (Guid)Session[SessionName.ProjectId]; Guid logonId = ((LogonReturnValue)HttpContext.Current.Session[SessionName.LogonSettings]).LogonId; BalancesSearchReturnValue returnValue = accountsService.GetDepositBalancesDetails(logonId, collectionRequest, projectId); if (returnValue.Success) { _depositRowCount = returnValue.Balances.TotalRowCount; depositBalances = returnValue.Balances.Rows; } else { _lblMessage.CssClass = "errorMessage"; _lblMessage.Text = returnValue.Message; } } } catch (Exception ex) { throw ex; } finally { if (accountsService != null) { if (accountsService.State != System.ServiceModel.CommunicationState.Faulted) { accountsService.Close(); } } } return(depositBalances); }