ComplianceServer/code/Hg.Internal.Domain/OrderDomain.cs

59 lines
2.3 KiB
C#

using Hg.Core.Domain.Dto.Order;
using Hg.Core.Domain.Impl;
using Hg.Core.Entity;
using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using System.Web;
namespace Hg.Core.Domain
{
public class OrderDomain : IOrderDomain
{
private readonly IBaseRepository<HgCrmDbContext> _hgCrmRepository;
private readonly IHttpClient _httpClient;
private readonly IMapper _mapper;
private readonly IConfiguration _configuration;
private readonly SystemConfig _systemConfig;
public OrderDomain(IConfiguration configuration,
IBaseRepository<HgCrmDbContext> hgCrmRepository,
IHttpClient httpClient,
IMapper mapper
)
{
_systemConfig = configuration.GetSection("SystemConfig").Get<SystemConfig>();
_configuration = configuration;
_hgCrmRepository = hgCrmRepository;
_httpClient = httpClient;
_mapper = mapper;
}
public async Task<List<IsdealOutDto>> GetIsdeal(List<string> residList, List<string> eidList)
{
Console.WriteLine(string.Join(";", residList));
var p1 = string.Join(";", eidList);
var p2 = string.Join(";", residList);
var param = new OracleParameter[] {
new OracleParameter() { ParameterName = "v_eid", OracleDbType = OracleDbType.Varchar2, Value = p1},
new OracleParameter() { ParameterName = "v_resid", OracleDbType = OracleDbType.Varchar2, Value = p2 },
new OracleParameter(){ ParameterName="v_tab", OracleDbType = OracleDbType.RefCursor, Direction = ParameterDirection.Output}
};
var result = await _hgCrmRepository.ExecuteSqlCommandAsync<IsdealDbOutDto>(CommandType.StoredProcedure, "PACK_ISDEAL.GetdealsByResidAndEid", param);
return result.Select(item =>
{
return new IsdealOutDto { eid = item.EID, extuserid = item.EXTERNAL_USERID, resid = item.RESID, orderid = item.ORDERID.ToString(), isDeal = 1 };
}).ToList();
}
}
}