Last active
December 26, 2015 21:29
-
-
Save eldewall/7216524 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public interface IResult<T> { | |
bool Success { get; } | |
T Data { get; } | |
string Error { get; } | |
} | |
public class ErrorResult<T> : Result<T> { | |
public ErrorResult(string error) : base(null, false, error) { | |
} | |
} | |
public class SuccessResult<T> : Result<T> { | |
public SuccessResult(T data) : base(data, true, "") { | |
} | |
} | |
public class Result<T> : IResult<T> { | |
public bool Success {get; private set;} | |
public T Data {get; private set;} | |
public string Error {get; private set; } | |
public Result(T data, bool success, string error) { | |
Data = data; | |
Success = success; | |
Error = error; | |
} | |
public static IResult<T> Success(T data) { | |
return new Result(data, true, ""); // ELLER return new SuccessResult(data); | |
} | |
public static IResult<T> Error(string error) { | |
return new Result(null, false, error); // ELLER return new ErrorResult(error); | |
} | |
} | |
public IResult<T> Execute() { | |
Query.Send(Param); | |
if (Query.Success) { | |
return new SuccessResult(Query.Data); | |
} else { | |
return new ErrorResult(Query.Message); | |
} | |
} | |
public IResult<T> Execute() { | |
Query.Send(Param); | |
if (Query.Success) { | |
return Result.Success(Query.Data); | |
} else { | |
return Result.Error(Query.Message); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment