82 lines
4.5 KiB
C#
82 lines
4.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Newtonsoft.Json;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels;
|
|
using LCU.Library.Internal.CoreApiWrapperLib.Utilities;
|
|
using LCU.Library.Internal.CoreApiWrapperLib.Configuration;
|
|
using LCU.Library.Internal.CoreApiWrapperLib.CoreApiUtilities;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.Constants;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Accounts;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests;
|
|
|
|
namespace LCU.Library.Internal.CoreApiWrapperLib.DataAccess
|
|
{
|
|
public class AccountUserFieldDao : BaseCoreDao, IAccountUserFieldDao
|
|
{
|
|
private readonly CoreConfiguration _coreConfiguration;
|
|
private readonly CoreApiConfiguration _coreApiConfiguration;
|
|
|
|
public AccountUserFieldDao(ICoreRequest coreRequest, CoreConfiguration coreConfiguration) : base(coreRequest)
|
|
{
|
|
_coreConfiguration = coreConfiguration;
|
|
_coreApiConfiguration = _coreConfiguration.CoreApiConfiguration;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Calls Core API to update Accounts UserField.
|
|
/// Default Included: Graph
|
|
/// </summary>
|
|
/// <param name="accountUserFieldUpdateRequest"></param>
|
|
/// <param name="accountId"></param>
|
|
/// <param name="userFieldId"></param>
|
|
/// <returns>AccountUserField</returns>
|
|
public async Task<AccountUserField> UpdateAccountUserField(CoreApiMessage<AccountUserFieldRequest> accountUserFieldUpdateRequest,
|
|
string accountId,
|
|
string userFieldId)
|
|
{
|
|
var endpoint = HttpUtilities.ReplaceRootParameter(_coreApiConfiguration.CoreEndPointConfiguration.PutAccountUserField,
|
|
RequestRootParameters.AccountId,
|
|
accountId);
|
|
endpoint = HttpUtilities.ReplaceRootParameter(endpoint, RequestRootParameters.UserFieldId, userFieldId);
|
|
var jsonBody = JsonConvert.SerializeObject(accountUserFieldUpdateRequest);
|
|
var result = await _coreRequest.PutRequestObject<CoreApiMessage<AccountUserField>>(endpoint, null, jsonBody);
|
|
return result?.MessageBody;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Calls Core API to insert Accounts UserField.
|
|
/// Default Included: Graph
|
|
/// </summary>
|
|
/// <param name="accountUserFieldRequest"></param>
|
|
/// <param name="accountId"></param>
|
|
/// <param name="userFieldId"></param>
|
|
/// <returns>AccountUserField</returns>
|
|
public async Task<AccountUserField> InsertAccountUserField(CoreApiMessage<AccountUserFieldRequest> accountUserFieldRequest,
|
|
string accountId)
|
|
{
|
|
var endpoint = HttpUtilities.ReplaceRootParameter(_coreApiConfiguration.CoreEndPointConfiguration.AccountUserFields,
|
|
RequestRootParameters.AccountId,
|
|
accountId);
|
|
var jsonBody = JsonConvert.SerializeObject(accountUserFieldRequest);
|
|
var result = await _coreRequest.PostRequestObject<CoreApiMessage<AccountUserField>>(endpoint, null, jsonBody);
|
|
return result?.MessageBody;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Calls Core API to search for UserFields based AccountId.
|
|
/// Default Included: Graph
|
|
/// </summary>
|
|
/// <param name="coreRequestParameters"></param>
|
|
/// <param name="accountId"></param>
|
|
/// <returns>IEnumerable<AccountUserField></returns>
|
|
public async Task<CoreApiMessage<IEnumerable<AccountUserField>>> FindAccountUserFieldCoreApiResponseByAccountId(CoreRequestParameters coreRequestParameters, string accountId)
|
|
{
|
|
var endpointParameters = HttpUtilities.BuildDictionaryOfNonNullValues(coreRequestParameters);
|
|
var endpoint = HttpUtilities.ReplaceRootParameter(_coreApiConfiguration.CoreEndPointConfiguration.AccountUserFields,
|
|
RequestRootParameters.AccountId,
|
|
accountId);
|
|
return await _coreRequest.GetRequestObject<CoreApiMessage<IEnumerable<AccountUserField>>>(endpoint, endpointParameters);
|
|
}
|
|
}
|
|
}
|