117 lines
3.3 KiB
C#
117 lines
3.3 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 跨域加载
|
|
/// </summary>
|
|
internal class RemoteLoader : MarshalByRefObject
|
|
{
|
|
public LoginParamter _paramter;
|
|
private readonly ILog _logInfo = LogManager.GetLogger("logInfo");
|
|
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
/// <param name="paramter">登录参数</param>
|
|
internal RemoteLoader(LoginParamter paramter)
|
|
{
|
|
_paramter = paramter;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存
|
|
/// </summary>
|
|
/// <param name="cCardNum">单据类型编码</param>
|
|
/// <param name="input">数据包</param>
|
|
/// <returns></returns>
|
|
/// <exception cref="Exception"></exception>
|
|
internal async Task<BaseResult<string>> Save(string cCardNum, Dictionary<string, object> 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 bf.Save(baseLogin, cCardNum, input);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logInfo.Error(ex.Message, ex);
|
|
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量保存
|
|
/// </summary>
|
|
/// <param name="cCardNum">单据类型编码</param>
|
|
/// <param name="inputs">数据包</param>
|
|
/// <returns></returns>
|
|
/// <exception cref="Exception"></exception>
|
|
internal async Task<BaseResult<string>> Save(string cCardNum, List<Dictionary<string, object>> 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 bf.Save(baseLogin, cCardNum, inputs);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logInfo.Error(ex.Message, ex);
|
|
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
|
|
}
|
|
|
|
}
|
|
}
|
|
} |