public IntacctOperationResult ProcessResult(XElement resultElement) { // check operation status var success = resultElement.Element("status")?.Value == "success"; if (!success) { var errorMessageElement = resultElement.Element("errormessage"); return(IntacctOperationResult <T> .CreateFailure(ResponseParser.ParseErrors(errorMessageElement))); } // parse data var dataElement = resultElement.Element(_resultElementName); if (dataElement != null) { return(ProcessResponseData(dataElement)); } // if OK to have an empty result, return default value if (_mayHaveEmptyResult) { return(new IntacctOperationResult <T>(default(T))); } throw new Exception($"Element {_resultElementName} was not found in response."); }
internal void AddOperationResult(IntacctOperationResult result) { _operationResults.Add(result); }