using ArchestrAServices.Contract; namespace ArchestrAServices.ASBContract; public static class ResultFactory { public static ArchestrAResult MakeGoodResult() { return new ArchestrAResult { ErrorCode = EnumASBFactory.ArchestrAErrorToInt(ArchestrAError.Success), Status = 0u, SpecificErrorCode = 0u, Success = true }; } public static ArchestrAResult MakeResult(ArchestrAError error, ushort status) { return new ArchestrAResult { ErrorCode = EnumASBFactory.ArchestrAErrorToInt(error), Status = status, Success = (error == ArchestrAError.Success) }; } public static ArchestrAResult MakeResult(ArchestrAError error, ushort status, uint specificError) { return new ArchestrAResult { ResultCode = EnumASBFactory.ArchestrAErrorToInt(error), Status = status, SpecificErrorCode = specificError, Success = (error == ArchestrAError.Success) }; } public static void AddExtension(this ArchestrAResult Result, string Name, object Value, ItemChoiceType ValueType) { NamedValue[] array = null; array = ((Result.Extensions != null) ? Result.Extensions : new NamedValue[0]); Result.Extensions = new NamedValue[array.Length + 1]; for (int i = 0; i < array.Length; i++) { Result.Extensions[i] = array[i]; } NamedValue namedValue = new NamedValue(); namedValue.Name = Name; namedValue.Value = new ResultVariant(); namedValue.Value.Item = Value; namedValue.Value.ItemElementName = ValueType; Result.Extensions[Result.Extensions.Length - 1] = namedValue; } public static ArchestrAResult MakeResult(int Error) { return new ArchestrAResult { ResultCode = Error, Success = (Error == 0) }; } public static ArchestrAResult MakeResult(int Error, string Location) { return new ArchestrAResult { Location = Location, ResultCode = Error, Success = (Error == 0) }; } public static ArchestrAResult MakeResult(ArchestrAServices.Contract.ArchestrAResult result) { ArchestrAResult result2 = default(ArchestrAResult); result2.ResultCode = result.ErrorCode; result2.Status = result.Status; result2.SpecificErrorCode = result.SpecificErrorCode; result2.Success = result2.ResultCode == 0; return result2; } }