60 lines
3.2 KiB
C#
60 lines
3.2 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.CoreRequests;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.AccessChannelPersons;
|
|
|
|
namespace LCU.Library.Internal.CoreApiWrapperLib.DataAccess
|
|
{
|
|
public class AccessChannelPersonsDao : BaseCoreDao, IAccessChannelPersonsDao
|
|
{
|
|
private readonly CoreConfiguration _coreConfiguration;
|
|
private readonly CoreApiConfiguration _coreApiConfiguration;
|
|
|
|
public AccessChannelPersonsDao(ICoreRequest coreRequest,
|
|
CoreConfiguration coreConfiguration) : base(coreRequest)
|
|
{
|
|
_coreConfiguration = coreConfiguration;
|
|
_coreApiConfiguration = _coreConfiguration.CoreApiConfiguration;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Calls Core API to update Access Channel Person.
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns>AccessChannelPerson</returns>
|
|
public async Task<AccessChannelPerson> UpdateAccessChannelPerson(CoreApiMessage<AccessChannelPerson> request)
|
|
{
|
|
var endpoint = HttpUtilities.ReplaceRootParameter(_coreApiConfiguration.CoreEndPointConfiguration.AccessChannelPersonsAccessChannelPersonId,
|
|
RequestRootParameters.AccessChannelPersonId,
|
|
request.MessageBody.Id);
|
|
var jsonBody = JsonConvert.SerializeObject(request);
|
|
var result = await _coreRequest.PutRequestObject<CoreApiMessage<AccessChannelPerson>>(endpoint, null, jsonBody);
|
|
return result?.MessageBody;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Calls Core API to search for AccessChannelPersons based By Person.
|
|
/// Default Included: Graph
|
|
/// </summary>
|
|
/// <param name="coreRequestParameters"></param>
|
|
/// <param name="request"></param>
|
|
/// <returns>IEnumerable<AccessChannelPerson></returns>
|
|
public async Task<CoreApiMessage<IEnumerable<AccessChannelPerson>>> FindAccessChannelPersonsByPerson(CoreRequestParameters coreRequestParameters,
|
|
AccessChannelPersonsByPersonRequest request)
|
|
{
|
|
var endpointParameters = HttpUtilities.BuildDictionaryOfNonNullValues(coreRequestParameters);
|
|
var jsonBody = JsonConvert.SerializeObject(request);
|
|
return await _coreRequest.PostRequestObject<CoreApiMessage<IEnumerable<AccessChannelPerson>>>(
|
|
_coreApiConfiguration.CoreEndPointConfiguration.AccessChannelPersonsByPerson,
|
|
endpointParameters,
|
|
jsonBody);
|
|
}
|
|
}
|
|
}
|