Skip to content

Commit 31cb8c9

Browse files
committed
#51: Small refactor - change case for new enums, and rename params.
closes #51
1 parent e4bc688 commit 31cb8c9

6 files changed

Lines changed: 31 additions & 38 deletions

File tree

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
using System;
2-
using System.Collections.Generic;
3-
using System.Text;
42

53
namespace EssSharp
64
{
75
[Flags]
86
public enum EssMemberSearchOptions
97
{
10-
MEMBERSONLY = 1 << 0,
11-
MEMBERSANDALIASES = 1 << 1,
12-
FORCECASESENSITIVE = 1 << 2
8+
membersOnly = 1 << 0,
9+
membersAndAliases = 1 << 1,
10+
forceCaseSensitive = 1 << 2
1311
}
1412
}
Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Text;
4-
5-
namespace EssSharp.Concrete
1+
namespace EssSharp
62
{
73
public enum EssMemberSearchType
84
{
9-
SEARCH,
10-
WILDSEARCH,
11-
DTSMEMBERS
5+
search,
6+
wildSearch,
7+
dtsMembers
128
}
139
}

src/EssSharp.Abstractions/IEssCube.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.IO;
44
using System.Threading.Tasks;
55
using System.Threading;
6-
using EssSharp.Concrete;
6+
using EssSharp;
77

88
namespace EssSharp
99
{
@@ -437,21 +437,21 @@ public interface IEssCube : IEssObject
437437
/// </summary>
438438
/// <param name="search"></param>
439439
/// <param name="isCaseSensitive"></param>
440-
/// <param name="queryOptions"></param>
440+
/// <param name="searchOptions"></param>
441441
/// <param name="fields"></param>
442442
/// <param name="limit"></param>
443-
public List<IEssMember> GetMembersSelected(string search = null, string dimensionName = null, string aliasName = null, bool isCaseSensitive = false, EssMemberSearchType queryType = EssMemberSearchType.SEARCH, EssMemberSearchOptions queryOptions = EssMemberSearchOptions.MEMBERSONLY, EssMemberFields? fields = null, int limit = 50);
443+
public List<IEssMember> GetMembersSelected(string search = null, string dimensionName = null, string aliasName = null, bool isCaseSensitive = false, EssMemberSearchType searchType = EssMemberSearchType.search, EssMemberSearchOptions searchOptions = EssMemberSearchOptions.membersOnly, EssMemberFields? fields = null, int limit = 50);
444444

445445
/// <summary>
446446
///
447447
/// </summary>
448448
/// <param name="search"></param>
449449
/// <param name="isCaseSensitive"></param>
450-
/// <param name="queryOptions"></param>
450+
/// <param name="searchOptions"></param>
451451
/// <param name="fields"></param>
452452
/// <param name="limit"></param>
453453
/// <param name="cancellationToken"></param>
454-
public Task<List<IEssMember>> GetMembersSelectedAsync(string search = null, string dimensionName = null, string aliasName = null, bool isCaseSensitive = false, EssMemberSearchType queryType = EssMemberSearchType.SEARCH, EssMemberSearchOptions queryOptions = EssMemberSearchOptions.MEMBERSONLY, EssMemberFields? fields = null, int limit = 50, CancellationToken cancellationToken = default);
454+
public Task<List<IEssMember>> GetMembersSelectedAsync(string search = null, string dimensionName = null, string aliasName = null, bool isCaseSensitive = false, EssMemberSearchType searchType = EssMemberSearchType.search, EssMemberSearchOptions searchOptions = EssMemberSearchOptions.membersOnly, EssMemberFields? fields = null, int limit = 50, CancellationToken cancellationToken = default);
455455

456456
/// <summary>
457457
///

src/EssSharp.Integration/GetServerObjectTests.cs

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using System.Net;
33
using System.Threading.Tasks;
4-
using EssSharp.Concrete;
54
using EssSharp.Integration.Setup;
65

76
using Xunit;
@@ -226,10 +225,10 @@ public async Task Essbase_AfterReportCreation_CanGetMembersByAlias()
226225
.GetCubeAsync("Basic");
227226

228227
//Get all members that contain "100" in name.
229-
var queryType = EssMemberSearchType.WILDSEARCH;
230-
var queryOptions = EssMemberSearchOptions.MEMBERSONLY;
228+
var searchType = EssMemberSearchType.wildSearch;
229+
var queryOptions = EssMemberSearchOptions.membersOnly;
231230

232-
var members = await cube.GetMembersSelectedAsync(search: "100", isCaseSensitive: false, queryType: queryType, queryOptions: queryOptions, fields: null, limit:500);
231+
var members = await cube.GetMembersSelectedAsync(search: "100", isCaseSensitive: false, searchType: searchType, searchOptions: queryOptions, fields: null, limit:500);
233232

234233
Assert.Equal(6, members.Count);
235234
Assert.Equal("100-30", members[2].Name);
@@ -238,26 +237,26 @@ public async Task Essbase_AfterReportCreation_CanGetMembersByAlias()
238237
members.ForEach(mem => mem.Name.Contains("100"));
239238
});
240239

241-
queryType = EssMemberSearchType.DTSMEMBERS;
242-
queryOptions = EssMemberSearchOptions.MEMBERSANDALIASES;
240+
searchType = EssMemberSearchType.dtsMembers;
241+
queryOptions = EssMemberSearchOptions.membersAndAliases;
243242

244-
var dtsFromMembersSelected = await cube.GetMembersSelectedAsync(queryType: queryType, queryOptions: queryOptions);
243+
var dtsFromMembersSelected = await cube.GetMembersSelectedAsync(searchType: searchType, searchOptions: queryOptions);
245244
var dtsFromDTSMethod = await cube.GetDynamicTimeSeriesMembersAsync();
246245

247246
Assert.Equal(2, dtsFromMembersSelected.Count);
248247
Assert.Equal(dtsFromDTSMethod[0].Name, dtsFromMembersSelected[0].Name);
249248

250-
queryType = EssMemberSearchType.SEARCH;
251-
queryOptions = EssMemberSearchOptions.MEMBERSANDALIASES;
249+
searchType = EssMemberSearchType.search;
250+
queryOptions = EssMemberSearchOptions.membersAndAliases;
252251

253-
var memberByAlias = await cube.GetMembersSelectedAsync(search: "Cola", queryType: queryType, queryOptions: queryOptions);
252+
var memberByAlias = await cube.GetMembersSelectedAsync(search: "Cola", searchType: searchType, searchOptions: queryOptions);
254253

255254
Assert.Single(memberByAlias);
256255
Assert.Equal("Cola", memberByAlias[0].ActiveAliasName);
257256

258-
queryType = EssMemberSearchType.WILDSEARCH;
257+
searchType = EssMemberSearchType.wildSearch;
259258

260-
var memberByAliasCaseSensitive = await cube.GetMembersSelectedAsync(search: "cola", isCaseSensitive: true, queryType: queryType, queryOptions: queryOptions);
259+
var memberByAliasCaseSensitive = await cube.GetMembersSelectedAsync(search: "cola", isCaseSensitive: true, searchType: searchType, searchOptions: queryOptions);
261260

262261
Assert.Empty(memberByAliasCaseSensitive);
263262
}

src/EssSharp/EssCube.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using System.Threading.Tasks;
88

99
using EssSharp.Api;
10-
using EssSharp.Concrete;
10+
using EssSharp;
1111
using EssSharp.Model;
1212

1313
namespace EssSharp
@@ -786,11 +786,11 @@ public IEssGrid GetGrid() =>
786786

787787
/// <inheritdoc />
788788
/// <returns></returns>
789-
public List<IEssMember> GetMembersSelected( string search = null, string dimensionName = null, string aliasName = null, bool isCaseSensitive = false, EssMemberSearchType queryType = EssMemberSearchType.SEARCH, EssMemberSearchOptions queryOptions = EssMemberSearchOptions.MEMBERSONLY, EssMemberFields? fields = null, int limit = 50 ) => GetMembersSelectedAsync(search, dimensionName, aliasName, isCaseSensitive, queryType, queryOptions, fields, limit).GetAwaiter().GetResult();
789+
public List<IEssMember> GetMembersSelected( string search = null, string dimensionName = null, string aliasName = null, bool isCaseSensitive = false, EssMemberSearchType searchType = EssMemberSearchType.search, EssMemberSearchOptions searchOptions = EssMemberSearchOptions.membersOnly, EssMemberFields? fields = null, int limit = 50 ) => GetMembersSelectedAsync(search, dimensionName, aliasName, isCaseSensitive, searchType, searchOptions, fields, limit).GetAwaiter().GetResult();
790790

791791
/// <inheritdoc />
792792
/// <returns></returns>
793-
public async Task<List<IEssMember>> GetMembersSelectedAsync( string search = null, string dimensionName = null, string aliasName = null, bool isCaseSensitive = false, EssMemberSearchType queryType = EssMemberSearchType.SEARCH, EssMemberSearchOptions queryOptions = EssMemberSearchOptions.MEMBERSONLY, EssMemberFields? fields = null, int limit = 50, CancellationToken cancellationToken = default )
793+
public async Task<List<IEssMember>> GetMembersSelectedAsync( string search = null, string dimensionName = null, string aliasName = null, bool isCaseSensitive = false, EssMemberSearchType searchType = EssMemberSearchType.search, EssMemberSearchOptions searchOptions = EssMemberSearchOptions.membersOnly, EssMemberFields? fields = null, int limit = 50, CancellationToken cancellationToken = default )
794794
{
795795
try
796796
{
@@ -800,13 +800,13 @@ public IEssGrid GetGrid() =>
800800
if ( fields?.HasFlag(EssMemberFields.dataStorageType) is false )
801801
fields |= EssMemberFields.dataStorageType;
802802

803-
if (queryType == EssMemberSearchType.WILDSEARCH)
804-
search = $@"*{search}*";
803+
if (searchType == EssMemberSearchType.wildSearch)
804+
search = $@"*{search?.Trim('*')}*";
805805

806806
if ( isCaseSensitive )
807-
queryOptions |= EssMemberSearchOptions.FORCECASESENSITIVE;
807+
searchOptions |= EssMemberSearchOptions.forceCaseSensitive;
808808

809-
if ( await api.OutlineGetMembersSelectedAsync(app: _application?.Name, cube: _cube?.Name, queryType: queryType.ToString(), queryOptions: queryOptions.ToDelimitedString(), search: search, dimensionName: dimensionName, aliasName: aliasName, fields: fields?.ToDelimitedString(), limit: limit, cancellationToken: cancellationToken).ConfigureAwait(false) is not { } membersList )
809+
if ( await api.OutlineGetMembersSelectedAsync(app: _application?.Name, cube: _cube?.Name, queryType: searchType.ToString().ToUpperInvariant(), queryOptions: searchOptions.ToDelimitedString(), search: search, dimensionName: dimensionName, aliasName: aliasName, fields: fields?.ToDelimitedString(), limit: limit, cancellationToken: cancellationToken).ConfigureAwait(false) is not { } membersList )
810810
throw new Exception("Cannot get Members.");
811811

812812
return membersList.ToEssSharpList(this) ?? new List<IEssMember>();

src/EssSharp/Extensions/Extensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ internal static string ToDelimitedString( this EssMemberSearchOptions queryOptio
911911
{
912912
if ( queryOption.HasFlag(value) )
913913
{
914-
values.Add(value.ToString());
914+
values.Add(value.ToString().ToUpperInvariant());
915915
}
916916
}
917917

0 commit comments

Comments
 (0)