Beispiel #1
0
 /// <summary>
 /// 异步保存单个实例
 /// <para>框架</para>
 /// </summary>
 /// <param name="addtional_execution"></param>
 protected void BeginSaveEntityFrame(Action addtional_execution = null)
 {
     if (Entity == null)
     {
         return;
     }
     TryCancelTask();
     TaskMgt = DHelper.StartTask(() =>
     {
         Window dlg = default;
         try
         {
             dlg = ShowDlgWait();
             if (SaveValidation())
             {
                 addtional_execution?.Invoke();
                 Task t = CtxEntity.SaveChangesAsync(TokenMgt.Token);
                 t.Wait();
                 if (TaskMgt.Status == TaskStatus.Canceled)
                 {
                     return;
                 }
                 IsNew     = false;
                 IsEditing = false;
                 Msg       = MsgSaveOK;
                 RaiseEntityChanged();
                 RaiseContentsNeedRefresh();
             }
         }
         catch (Exception ex) { SaveFailed(ex); }
         finally { TryCloseDlg(dlg); }
     });
 }
Beispiel #2
0
 /// <summary>
 /// 异步删除单个实例
 /// <para>框架</para>
 /// </summary>
 /// <param name="addtional_execution"></param>
 protected void BeginDeleteEntityFrame(Action addtional_execution = null)
 {
     if (Entity == null)
     {
         return;
     }
     if (!ShowOKCancel(MsgDeleteConfirm))
     {
         return;
     }
     TryCancelTask();
     TaskMgt = DHelper.StartTask(() =>
     {
         Window dlg = default;
         try
         {
             dlg = ShowDlgWait();
             CtxEntity.Set <T>().Remove(Entity);
             addtional_execution?.Invoke();
             Task t = CtxEntity.SaveChangesAsync(TokenMgt.Token);
             t.Wait();
             if (TaskMgt.Status == TaskStatus.Canceled)
             {
                 return;
             }
             IsNew     = false;
             IsEditing = false;
             Msg       = MsgDeleteOK;
             ClearEntityView();
             RaiseContentsNeedRefresh();
         }
         catch (Exception ex) { DeleteFailed(ex); }
         finally { TryCloseDlg(dlg); }
     });
 }
Beispiel #3
0
 /// <summary>
 /// 保存单个实例
 /// <para>框架</para>
 /// </summary>
 /// <param name="addtional_execution"></param>
 /// <returns></returns>
 protected bool SaveEntityFrame(Action addtional_execution = null)
 {
     if (Entity == null)
     {
         return(false);
     }
     try
     {
         if (SaveValidation())
         {
             addtional_execution?.Invoke();
             CtxEntity.SaveChanges();
             IsNew     = false;
             IsEditing = false;
             Msg       = MsgSaveOK;
             RaiseEntityChanged();
             RaiseContentsNeedRefresh();
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex) { return(SaveFailed(ex)); }
 }
Beispiel #4
0
 /// <summary>
 /// 删除单个实例
 /// <para>框架</para>
 /// </summary>
 /// <param name="addtional_execution"></param>
 /// <returns></returns>
 protected bool DeleteEntityFrame(Action addtional_execution = null)
 {
     if (Entity == null)
     {
         return(false);
     }
     if (!ShowOKCancel(MsgDeleteConfirm))
     {
         return(false);
     }
     try
     {
         CtxEntity.Set <T>().Remove(Entity);
         addtional_execution?.Invoke();
         CtxEntity.SaveChanges();
         IsNew     = false;
         IsEditing = false;
         Msg       = MsgDeleteOK;
         ClearEntityView();
         RaiseContentsNeedRefresh();
         return(true);
     }
     catch (Exception ex) { return(DeleteFailed(ex)); }
 }