You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.5 KiB
44 lines
1.5 KiB
using Dapper;
|
|
using DealerSelection.Api.Infrastructure.Mulesoft;
|
|
using DealerSelection.Api.Models;
|
|
using DealerSelection.Api.Models.Enum;
|
|
using DealerSelection.Common.Data.Dapper;
|
|
using Microsoft.Extensions.Logging;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
|
|
namespace DealerSelection.Api.Infrastructure.YellowAI;
|
|
|
|
public class Repository : RepositoryBaseDapperAsync, IRepository
|
|
{
|
|
private readonly ILogger _logger;
|
|
public Repository(string cxnName, ILogger<Repository> logger) : base(cxnName)
|
|
{
|
|
_logger = logger;
|
|
}
|
|
|
|
public async Task<ModelDetailDto> GetModelDetails(string mobileNumber, string buCode, string buSubType)
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection cxn = await OpenCxnAsync())
|
|
{
|
|
IEnumerable<ModelDetailDto> cusotmerInfo = await cxn.QueryAsync<ModelDetailDto>(Procedure.GetModelDetails,
|
|
new
|
|
{
|
|
buCode,
|
|
buSubType,
|
|
mobileNumber
|
|
},
|
|
commandType: CommandType.StoredProcedure);
|
|
return cusotmerInfo.ToList().FirstOrDefault();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError($"DS Repo:Error at Repository:YellowAi in GetModelDetails for MobileNumber: {mobileNumber}, BuName: {buCode}.", ex.StackTrace);
|
|
throw new UnexpectedDataException("Error at Repository:YellowAi in GetModelDetails for MobileNumber: {mobileNumber}, BuName: {buName}.", ex);
|
|
}
|
|
}
|
|
|
|
}
|