/// <summary> /// Método invocado cuando el hilo que guarda termina la llamada al servicio web. /// </summary> /// <param name="args">Los argumentos del hilo que guarda.</param> protected void OnSaveFinished(SaverArgs args) { Load(); if (!args.Succeed) { Util.ShowErrorDialog(UtnEmall.ServerManager.Properties.Resources.SaveError, args.Message); } }
/// <summary> /// Realiza el proceso /// </summary> /// <param name="sParams">El objeto de parámetro</param> static private void DoSave(object sParams) { SaverParameters saverParams = (SaverParameters)sParams; bool succeed; Collection <Error> message = new Collection <Error>(); try { saverParams.Entity = saverParams.Saver(saverParams.Entity, saverParams.Session); if (saverParams.Entity != null) { succeed = false; message = saverParams.Entity.Errors; } else { succeed = true; } } catch (TargetInvocationException) { message.Add(new Error(Resources.ConnectionError, string.Empty, UtnEmall.ServerManager.Properties.Resources.SaveError)); succeed = false; } catch (EndpointNotFoundException) { message.Add(new Error(Resources.ConnectionError, string.Empty, UtnEmall.ServerManager.Properties.Resources.SaveError)); succeed = false; } catch (CommunicationException) { message.Add(new Error(Resources.ConnectionError, string.Empty, UtnEmall.ServerManager.Properties.Resources.UnknownError)); succeed = false; } SaverArgs args = new SaverArgs(succeed, message); saverParams.Control.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new VoidCallback(delegate() { saverParams.OnFinished(args); })); }