Ejemplo n.º 1
0
 public async Task SaveAsync()
 {
     await OnSave.InvokeAsync(Category);
 }
Ejemplo n.º 2
0
 void WatchCheckBoxClick(object sender, EventArgs e)
 {
     OnSave.Invoke(this);
 }
Ejemplo n.º 3
0
        private async Task SaveDataAsync(SaveAction saveAction)
        {
            if (DataType == null)
            {
                if (DataSource == null)
                {
                    throw new ElementException(2, "DataType 或 DataSource 必须设置一个");
                }
                DataType = DataSource.GetType().GetGenericArguments()[0];
            }
            var row = Activator.CreateInstance(DataType);

            foreach (var header in Headers)
            {
                if ((!header.IsEditable && header.EditorRenderConfig == null) || (saveAction != SaveAction.Create && !CanEdit(header)))
                {
                    if (header.Property != null && (header.Property.Name.Contains("Id") || header.Property.Name.Contains("Key")) && saveAction != SaveAction.Create)
                    {
                        header.Property.SetValue(row, header.Property.GetValue(header.RawValue));
                    }
                    Clear(header);
                    continue;
                }
                if (saveAction != SaveAction.Delete)
                {
                    object cell = Convert.ChangeType(header.EditorRenderConfig.EditingValue, header.Property.PropertyType);
                    if (header.EditorRenderConfig.IsRequired && cell == null)
                    {
                        Toast(header.EditorRenderConfig.RequiredMessage);
                        editingTaskCompletionSource?.TrySetResult(-1);
                        return;
                    }
                    header.Property.SetValue(row, cell);
                }
                Clear(header);
            }
            var tableSaveArg = new TableSaveEventArgs()
            {
                Action = saveAction,
                Data   = row,
                Table  = this,
            };

            if (!OnSave.HasDelegate)
            {
                if (DataType == typeof(KeyValueModel))
                {
                    OnSave = EventCallback.Factory.Create <TableSaveEventArgs>(this, TableRender.DefaultSaverAsync);
                }
                else if (!string.IsNullOrWhiteSpace(Key))
                {
                    OnSave = EventCallback.Factory.Create <TableSaveEventArgs>(this, TableRender.DefaultSaverAsync);
                }
                else
                {
                    Toast("OnSave 事件没有注册或数据源类型不是 KeyValueModel 或没指定 Key");
                    editingTaskCompletionSource?.TrySetResult(-1);
                    return;
                }
            }
            tableSaveArg.Key      = Key;
            tableSaveArg.DataType = DataType;
            if (editingTaskCompletionSource != null)
            {
                await OnSave.InvokeAsync(tableSaveArg);

                if (tableSaveArg.Cancel)
                {
                    editingTaskCompletionSource.TrySetResult(-1);
                    return;
                }
                editingRow        = null;
                dataSourceUpdated = true;
                await RefreshDataSourceAsync(false);

                editingTaskCompletionSource.TrySetResult(0);
                SyncFieldValue();
            }
            else
            {
                if (OnSave.HasDelegate)
                {
                    await OnSave.InvokeAsync(tableSaveArg);

                    if (tableSaveArg.Cancel)
                    {
                        editingTaskCompletionSource?.TrySetResult(-1);
                        return;
                    }
                    editingRow        = null;
                    dataSourceUpdated = true;
                    await RefreshDataSourceAsync(false);

                    editingTaskCompletionSource?.TrySetResult(0);
                    SyncFieldValue();
                    return;
                }
                editingTaskCompletionSource?.TrySetResult(-1);
            }
        }
Ejemplo n.º 4
0
 Task Save()
 {
     return(OnSave.InvokeAsync(Agent));
 }
Ejemplo n.º 5
0
 public void SaveAll()
 {
     OnSave?.Invoke();
 }
Ejemplo n.º 6
0
 public static void InvokeSave(ref string save) => OnSave?.Invoke(null, new StringEventArgs(ref save));
Ejemplo n.º 7
0
 protected void InvokeEvent()
 {
     OnSave?.Invoke(this, new EventArgs());
 }
Ejemplo n.º 8
0
 public async Task __ModelSave__()
 {
     OnSave?.Invoke();
 }
Ejemplo n.º 9
0
 protected void InvokeOnSave(object sender, IEnumerable <TrackFile> files)
 {
     OnSave?.Invoke(sender, files);
 }
Ejemplo n.º 10
0
        protected async Task Save()
        {
            await JsRuntime.InvokeVoidAsync("laterlist.collapse", $"#{CollapseCardId}", "hide");

            await OnSave.InvokeAsync(InternalTodoList);
        }
Ejemplo n.º 11
0
//Save / Load
    public void SaveGameData(int fileNum)
    {
        Debug.Log("Game Saved: " + Application.persistentDataPath);
        OnSave?.Invoke(fileNum);
    }