/// <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);
     }
 }
Exemple #2
0
        /// <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);
            }));
        }