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.
 
 
 

73 lines
3.2 KiB

using Common;
using Common.Helper;
using Common.KFTC;
using Common.Model;
using Common.Model.Config;
using log4net;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Runtime.Remoting.Messaging;
namespace Repository.TrustDoc
{
public class TrustDocRepository : ITrustDocRepository
{
private readonly Dao _dao = null;
private static readonly ILog Log = LogManager.GetLogger(typeof(TrustDocRepository));
public TrustDocRepository()
{
_dao = new Dao();
}
public JsonRxResponse Webhook(TrustDocModel doc)
{
var lang = Convert.ToString(CallContext.GetData(Constants.Language));
JsonRxResponse jsonRx = new JsonRxResponse();
try
{
var sql = "EXEC PROC_TRUSTDOC_CUSTOMER";
sql += " @flag =" + _dao.FilterString("i");
sql += " ,@id =" +"'"+ doc.Data.Id + "'";
sql += " ,@publicId=" + "'" + doc.Data.PublicId + "'";
sql += " ,@verificationType =" + _dao.FilterString(doc.Type);
sql += " ,@state =" + _dao.FilterString(doc.Data.State.ToString());
sql += " ,@result =" + _dao.FilterString( !string.IsNullOrEmpty(doc.Data.Result)? doc.Data.Result:"");
sql += " ,@acceptedDate =" + _dao.FilterString( doc.Data.AcceptedAt.HasValue? doc.Data.AcceptedAt.ToString():"");
sql += " ,@planSelectedDate =" + _dao.FilterString(doc.Data.PlansSelectedAt.HasValue? doc.Data.PlansSelectedAt.ToString():"");
sql += " ,@documentSubmittedDate =" + _dao.FilterString(doc.Data.DocumentSubmittedAt.HasValue? doc.Data.DocumentSubmittedAt.ToString():"");
sql += " ,@trustDocRequest =" + _dao.FilterString(JsonConvert.SerializeObject(doc));
if (doc.Data.Records != null)
{
sql += " ,@planId1=" + "'" + doc.Data.Records[0].Plan.Id.ToString() + "'";
sql += " ,@planName1= " + "N'" + doc.Data.Records[0].Plan.Name + "'";
if (doc.Data.Records.Length > 1)
{
sql += " ,@planId2 = " +_dao.FilterString( doc.Data.Records[1].Plan.Id.ToString());
sql += " ,@planName2= " + "N'" + doc.Data.Records[1].Plan.Name + "'";
}
}
Log.DebugFormat("SaveTrustDoc | SQL : {0}", sql);
var dataSet = _dao.ParseDbResult(sql);
string enumString = string.Empty;
jsonRx.ErrorCode = dataSet.ResponseCode;
jsonRx.Id = dataSet.Id;
//return jsonRx;
var map = Utilities.GetLanguageMapping(enumString, lang);
return new JsonRxResponse { ErrorCode = dataSet.ResponseCode.Equals("0") ? "0" : "1", Msg = map.Message, Id = dataSet.Id };
}
catch (Exception e)
{
Log.DebugFormat($"Exception : {e.StackTrace.ToString()}");
jsonRx.ErrorCode = "1";
jsonRx.Msg = e.Message.ToString();
return jsonRx;
}
}
}
}