using log4net;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using UFIDA.U8.Framework.Api.ControlObject.Entity;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
namespace UFIDA.U8.Framework.Api.Unit
{
///
/// 跨域加载
///
internal class RemoteLoader : MarshalByRefObject
{
public LoginParamter _paramter;
private readonly ILog _logInfo = LogManager.GetLogger("logInfo");
///
/// 构造函数
///
/// 登录参数
internal RemoteLoader(LoginParamter paramter)
{
_paramter = paramter;
}
///
/// 保存
///
/// 单据类型编码
/// 数据包
///
///
internal async Task> Save(string cCardNum, Dictionary input)
{
try
{
IBaseBF bf;
switch (cCardNum)
{
case "FC90":
case "FC91":
case "FC92":
bf = new MoRoutingBill();
break;
default:
bf = null;
break;
}
if (bf == null)
{
throw new Exception("不支持的单据");
}
var baseLogin = new BaseLogin();
baseLogin.Init(_paramter);
return await bf.Save(baseLogin, cCardNum, input);
}
catch (Exception ex)
{
_logInfo.Error(ex.Message, ex);
return new BaseResult { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
///
/// 批量保存
///
/// 单据类型编码
/// 数据包
///
///
internal async Task> Save(string cCardNum, List> inputs)
{
try
{
IBaseBF bf;
switch (cCardNum)
{
case "FC90":
case "FC91":
case "FC92":
bf = new MoRoutingBill();
break;
default:
bf = null;
break;
}
if (bf == null)
{
throw new Exception("不支持的单据");
}
var baseLogin = new BaseLogin();
baseLogin.Init(_paramter);
return await bf.Save(baseLogin, cCardNum, inputs);
}
catch (Exception ex)
{
_logInfo.Error(ex.Message, ex);
return new BaseResult { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
}
}