public override IOperationResult <T> GetResultWithValue() { var result = new DocumentFragment <T>(Builder); try { var status = GetResponseStatus(); result.Success = GetSuccess(); result.Message = GetMessage(); result.Status = GetParentStatus(status); result.Cas = Header.Cas; result.Exception = Exception; CurrentSpec.Value = GetValue(); CurrentSpec.Status = status; result.Value = new List <OperationSpec> { CurrentSpec }; // Read MutationToken after GetValue(), which may fill it with a value result.Token = MutationToken ?? DefaultMutationToken; //clean up and set to null if (!result.IsNmv()) { Dispose(); } } catch (Exception e) { result.Exception = e; result.Success = false; result.Status = ResponseStatus.ClientFailure; } finally { if (!result.IsNmv()) { Dispose(); } } return(result); }
public override IOperationResult <T> GetResultWithValue() { var result = new DocumentFragment <T>(Builder); try { result.Success = GetSuccess(); result.Message = GetMessage(); result.Status = GetResponseStatus(); result.Cas = Header.Cas; result.Exception = Exception; result.Token = MutationToken ?? DefaultMutationToken; result.Value = (IList <OperationSpec>)GetValue(); //clean up and set to null if (!result.IsNmv()) { Dispose(); } } catch (Exception e) { result.Exception = e; result.Success = false; result.Status = ResponseStatus.ClientFailure; } finally { if (!result.IsNmv()) { Dispose(); } } return(result); }