internal LogicTransactionObjectParam[] AddParams(IBaseObject obj, LogValueType recordType, BaseContext context) { return(obj.EnumerateObjectParams(context) .Select(p => { p.RecordType = recordType; return AddParam(p); }) .ToArray()); }
IEnumerable <LogicTransactionObjectParam> EnumerateParams(IBaseObject obj, LogValueType recordType, BaseContext context) { var rtc = recordType.GetFirstLetter(); return(obj.EnumerateObjectParams(context) .Select(p => { p.RecordType = recordType; return p; })); }
internal void AddNewParams(IBaseObject obj, BaseContext context) { foreach (var newParam in obj.EnumerateObjectParams(null)) { var oldParam = Params.FirstOrDefault(p => p.RecordTypeChar.Equals(oldParamChar) && p.ParamName.Equals(newParam.ParamName, StringComparison.Ordinal)); if (oldParam != null && oldParam.ValueEquals(newParam)) { this.Params.Remove(oldParam); } else { newParam.RecordType = LogValueType.New; this.Params.Add(newParam); } } FixParamsIid(context); }