public virtual void AddMultipleErrs(SmcErr err)
{
if (null == this.MultipleErrs)
{
this.MultipleErrs = new List<SmcErr>();
}
if (null != err)
{
SmcErr oldErr = this.MultipleErrs.Find(delegate(SmcErr target) { return target.ErrNo == err.ErrNo; });
if (oldErr != null)
{
try
{
if (err.ErrorInfoParam.ParametersDictionary != null && err.ErrorInfoParam.ParametersDictionary.Count > 0)
{
for (int i = 0; i < err.ErrorInfoParam.ParametersDictionary.Count; i++)
{
if (err.ErrorInfoParam.ParametersDictionary[i] != null && err.ErrorInfoParam.ParametersDictionary[i].Count > 0)
{
for (int j = 0; j < err.ErrorInfoParam.ParametersDictionary[i].Count; j++)
{
if (err.ErrorInfoParam.ParametersDictionary[i][j].Name == oldErr.ErrorInfoParam.ParametersDictionary[i][j].Name &&
err.ErrorInfoParam.ParametersDictionary[i][j].Value != oldErr.ErrorInfoParam.ParametersDictionary[i][j].Value)
{
//批量操作错误描述对象如果超过3个则用“...”代替
if (oldErr.ErrorInfoParam.ParametersDictionary[i][j].Value.Split(',').Length < 3)
{
oldErr.ErrorInfoParam.ParametersDictionary[i][j].Value += ", " + err.ErrorInfoParam.ParametersDictionary[i][j].Value;
}
else if (oldErr.ErrorInfoParam.ParametersDictionary[i][j].Value.Split(',').Length == 3)
{
oldErr.ErrorInfoParam.ParametersDictionary[i][j].Value += ", ...";
}
}
}
}
}
}
}
catch (Exception)
{
}
}
else
{
this.MultipleErrs.Add(err);
}
}
}