public static async Task Remote <UserType>( Action <ISyncOprations, UserType> ServerSide, Func <IAsyncOprations, Task> ClientSide) where UserType : User <UserType> { await Connect(async (rq) => { await BaseLogin?.Invoke(rq); if (ShowMessages) { Publish.ShowAction("در حال ارسال درخواست"); } await rq.RunOnOtherSide(ServerSide); if (ShowMessages) { Publish.ShowAction("در حال انجام عملیات"); } await ClientSide(rq); }); if (ShowMessages) { Publish.HideAction(); } }
public static async Task Safe(Func <Task> Action) { try { await Action(); } catch (Exception ex) { var Message = ex.Message; try { Publish.HideAction(); { var ex2 = ex; ex = ex.InnerException; while (ex != null) { Message = " " + ex.Message; ex = ex.InnerException; } ex = ex2; } if (ex is ThisException) { Publish.ShowDangerMessage(Message); } else if (ex.StackTrace.IndexOf("Monsajem_Incs.Database") > -1 && ex.StackTrace.IndexOf("Monsajem_Incs.Database.Base.Extentions.<GetUpdate>") < 0) { Console.WriteLine("Database Error! need to cleare!"); ShowCrashOnDataBase?.Invoke(); //await Task.Delay(2000); //NavigationManager.NavigateTo(NavigationManager.Uri, true); } else { OnException(Message); } } catch { } Console.WriteLine(Message); Console.WriteLine(ex.StackTrace); throw; } }
public static async Task Remote(Action Ac) { await Connect(async (rq) => { await BaseLogin?.Invoke(rq); if (ShowMessages) { Publish.ShowAction("در حال انجام عملیات"); } await rq.RunOnOtherSide(Ac); }); if (ShowMessages) { Publish.HideAction(); } }