Skip to content

Commit

Permalink
Merge pull request #50 from Payadel/dev
Browse files Browse the repository at this point in the history
Merge dev into main
  • Loading branch information
HamidMolareza authored Dec 21, 2024
2 parents bef286f + 2b8a675 commit af95666
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 40 deletions.
4 changes: 2 additions & 2 deletions src/OnRails/Extensions/Bind/BindExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public static async Task<Result> Bind(
int numOfTry = 1
) {
foreach (var task in tasks) {
var result = await TryExtensions.Try(task, numOfTry);
var result = await task.Try(numOfTry);
if (!result.Success)
return result;
}
Expand All @@ -28,7 +28,7 @@ public static Task<Result<List<T>>> Bind<T>(
var result = new List<T>(items.Count);

foreach (var task in items) {
var taskResult = await TryExtensions.Try(task, numOfTry);
var taskResult = await task.Try(numOfTry);
if (!taskResult.Success)
return Result<List<T>>.Fail(taskResult.Detail as ErrorDetail);
result.Add(taskResult.Value!);
Expand Down
4 changes: 2 additions & 2 deletions src/OnRails/Extensions/ForEach/ForEachExtensions.Async.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public static Task<Result> ForEachUntilIsSuccess<T>(
this Task<IEnumerable<T>> source,
Func<T, Task<Result>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(async items => {
foreach (var item in items) {
var result = await item.Try(function, numOfTry)
Expand All @@ -58,7 +58,7 @@ public static Task<Result> ForEachUntilIsSuccess<T>(
Func<T, Task<Result>> function,
int numOfTry = 1
) =>
TryExtensions.Try(source, numOfTry)
source.Try(numOfTry)
.OnSuccess(async items => {
foreach (var item in items) {
var result = await item.OnSuccess(function, numOfTry)
Expand Down
46 changes: 23 additions & 23 deletions src/OnRails/Extensions/Map/MapExtensions.Async.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public static Task<Result<TResult>> Map<TSource, TResult>(
Func<TResult> onSuccessFunction,
Func<Result<TResult>, Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -19,23 +19,23 @@ public static Task<Result<TResult>> Map<TSource, TResult>(
Func<TSource, TResult> onSuccessFunction,
Func<Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

public static Task<Result<TResult>> Map<TSource, TResult>(
this Task<TSource> source,
Func<TSource, TResult> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(function, numOfTry);

public static Task<Result> Map<T>(
this Task<T> source,
Action<T> onSuccessAction,
Func<Result, Result> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessAction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -44,7 +44,7 @@ public static Task<Result> Map<TSource>(
Action onSuccessAction,
Func<Result, Result> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessAction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -53,7 +53,7 @@ public static Task<Result> Map<TSource>(
Action<TSource> onSuccessFunction,
Func<Result> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -62,7 +62,7 @@ public static Task<Result<TResult>> Map<TResult>(
Func<TResult> onSuccessFunction,
Func<Result<TResult>, Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -71,22 +71,22 @@ public static Task<Result<TResult>> Map<TResult>(
Func<TResult> onSuccessFunction,
Func<Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

public static Task<Result<TResult>> Map<TResult>(
this Task source,
Func<TResult> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(function, numOfTry);

public static Task<Result<TResult>> Map<TResult>(
this Task source,
Func<Task<TResult>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(function, numOfTry);

public static Task<Result<TResult>> Map<TSource, TResult>(
Expand All @@ -99,14 +99,14 @@ public static Task<Result<TResult>> Map<TResult>(
this Task source,
Func<Result<TResult>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(function, numOfTry);

public static Task<Result<TResult>> Map<TResult>(
this Task source,
Func<Task<Result<TResult>>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(function, numOfTry);

public static Task<Result<TResult>> Map<TSource, TResult>(
Expand All @@ -121,7 +121,7 @@ public static Task<Result> Map(
Action onSuccessAction,
Func<Result, Result> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessAction)
.OnFail(onFailFunction);

Expand All @@ -130,7 +130,7 @@ public static Task<Result> Map(
Action onSuccessAction,
Func<Result> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessAction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -139,7 +139,7 @@ public static Task<Result<TResult>> Map<TSource, TResult>(
Func<TSource, Result<TResult>> onSuccessFunction,
Func<Result<TResult>, Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -148,7 +148,7 @@ public static Task<Result<TResult>> Map<TSource, TResult>(
Func<Result<TResult>> onSuccessFunction,
Func<Result<TResult>, Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -157,7 +157,7 @@ public static Task<Result<TResult>> Map<TSource, TResult>(
Func<TSource, Result<TResult>> onSuccessFunction,
Func<Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -166,7 +166,7 @@ public static Task<Result> Map<TSource>(
Func<Result> onSuccessFunction,
Func<Result, Result> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -175,7 +175,7 @@ public static Task<Result<TResult>> Map<TResult>(
Func<Result<TResult>> onSuccessFunction,
Func<Result<TResult>, Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -184,7 +184,7 @@ public static Task<Result<TResult>> Map<TResult>(
Func<Result<TResult>> onSuccessFunction,
Func<Result<TResult>> onFailFunction,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(onSuccessFunction, numOfTry)
.OnFail(onFailFunction, numOfTry);

Expand All @@ -204,7 +204,7 @@ public static Task<Result<TResult>> Map<TSource, TResult>(
this Task<TSource> source,
Func<TSource, Task<TResult>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(result => result.Try(function, numOfTry));

public static Task<Result<TResult>> Map<TSource, TResult>(
Expand All @@ -217,14 +217,14 @@ public static Task<Result<TResult>> Map<TSource, TResult>(
this Task<TSource> source,
Func<TSource, Task<Result<TResult>>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(result => result.Try(function, numOfTry));

public static Task<Result<TResult>> Map<TSource, TResult>(
this Task<TSource> source,
Func<TSource, Result<TResult>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(result => result.Try(function, numOfTry));

public static Task<Result<TResult>> Map<TSource, TResult>(
Expand Down
2 changes: 1 addition & 1 deletion src/OnRails/Extensions/OnFail/OnFailExtensions.Tee.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public static async Task<Result> OnFailTee(
var result = await TryExtensions.Try(source, numOfTry);
return result.Success
? result
: await TryExtensions.Try(task, numOfTry);
: await task.Try(numOfTry);
}

public static Task<Result> OnFailTee(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public static Task<Result<T>> OperateWhen<T>(
bool condition,
Func<Task<T>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(t => t.OperateWhen(condition, function, numOfTry), numOfTry: 1);

public static Task<Result<T>> OperateWhen<T>(
Expand All @@ -62,15 +62,15 @@ public static Task<Result<T>> OperateWhen<T>(
bool condition,
Func<Task<Result<T>>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(t => t.OperateWhen(condition, function, numOfTry), numOfTry: 1);

public static Task<Result<T>> OperateWhen<T>(
this Task<T> source,
bool condition,
Func<T, Task<Result<T>>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(t => t.OperateWhen(condition, function, numOfTry), numOfTry: 1);

public static Task<Result<T>> OperateWhen<T>(
Expand All @@ -94,23 +94,23 @@ public static Task<Result<T>> OperateWhen<T>(
bool condition,
Func<T, Result<T>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(t => t.OperateWhen(condition, function, numOfTry), numOfTry: 1);

public static Task<Result<T>> OperateWhen<T>(
this Task<T> source,
Func<bool> predicate,
Func<T, Result<T>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(t => t.OperateWhen(predicate, function, numOfTry), numOfTry: 1);

public static Task<Result<T>> OperateWhen<T>(
this Task<T> source,
Func<T, bool> predicate,
Func<T, Result<T>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(t => t.OperateWhen(predicate, function, numOfTry), numOfTry: 1);

public static async Task<Result<T>> OperateWhen<T>(
Expand Down Expand Up @@ -178,15 +178,15 @@ public static Task<Result<T>> OperateWhen<T>(
Func<bool> predicate,
Func<Task<Result<T>>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(t => t.OperateWhen(predicate, function, numOfTry), numOfTry: 1);

public static Task<Result<T>> OperateWhen<T>(
this Task<T> source,
Func<T, bool> predicate,
Func<Task<Result<T>>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(t => t.OperateWhen(predicate, function, numOfTry), numOfTry: 1);

public static async Task<Result<T>> OperateWhen<T>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public static Task<Result<List<TResult>>> SelectResults<TSource, TResult>(
this Task<IEnumerable<TSource>> source,
Func<TSource, Result<TResult>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(items => {
var list = items.ToList();
var selectedResult = new List<TResult>(list.Count);
Expand Down Expand Up @@ -50,7 +50,7 @@ public static Task<Result<List<TResult>>> SelectResults<TSource, TResult>(
this Task<IEnumerable<TSource>> source,
Func<TSource, Task<Result<TResult>>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(async items => {
var list = items.ToList();
var selectedResult = new List<TResult>(list.Count);
Expand All @@ -70,7 +70,7 @@ public static Task<Result<List<TResult>>> SelectResults<TSource, TResult>(
this Task<IEnumerable<TSource>> source,
Func<TSource, TResult> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(items => {
var list = items.ToList();
var selectedResult = new List<TResult>(list.Count);
Expand Down Expand Up @@ -110,7 +110,7 @@ public static Task<Result<List<TResult>>> SelectResults<TSource, TResult>(
this Task<IEnumerable<TSource>> source,
Func<TSource, Task<TResult>> function,
int numOfTry = 1
) => TryExtensions.Try(source, numOfTry)
) => source.Try(numOfTry)
.OnSuccess(async items => {
var list = items.ToList();
var selectedResult = new List<TResult>(list.Count);
Expand Down
11 changes: 11 additions & 0 deletions src/OnRails/ResultDetails/ResultDetail.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,17 @@ public List<T> GetMoreDetailProperties<T>(string? name = null) {
{ nameof(Message), Message }
};

public virtual string ToStringViewModel() {
var sb = new StringBuilder();
sb.AppendLine(Message is null ? Title : $"{Title}: {Message}");

var customFields = CustomFieldsToString();
if (!string.IsNullOrEmpty(customFields))
sb.AppendLine(customFields);

return sb.ToString();
}

public override string ToString() {
var sb = new StringBuilder();

Expand Down

0 comments on commit af95666

Please sign in to comment.