MgGridBase improvements, fixes
This commit is contained in:
parent
935b6abf9a
commit
650066becf
|
|
@ -10,8 +10,8 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DevExpress.Blazor" Version="25.1.3" />
|
||||
<PackageReference Include="DevExpress.Data" Version="25.1.3" />
|
||||
<PackageReference Include="DevExpress.Blazor" Version="24.2.3" />
|
||||
<PackageReference Include="MessagePack" Version="3.1.4" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="9.0.10" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.10" />
|
||||
|
|
|
|||
|
|
@ -17,9 +17,10 @@ public interface IMgGridBase
|
|||
|
||||
}
|
||||
|
||||
public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClient> : DxGrid, IMgGridBase
|
||||
public class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClient> : DxGrid, IMgGridBase
|
||||
where TSignalRDataSource : AcSignalRDataSource<TDataItem, TId, IList<TDataItem>>
|
||||
where TDataItem : class, IId<TId> where TId : struct
|
||||
where TDataItem : class, IId<TId>
|
||||
where TId : struct
|
||||
where TLoggerClient : AcLoggerBase
|
||||
{
|
||||
private readonly EqualityComparer<TId> _equalityComparer = EqualityComparer<TId>.Default;
|
||||
|
|
@ -167,17 +168,21 @@ public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClie
|
|||
await base.OnAfterRenderAsync(firstRender);
|
||||
}
|
||||
|
||||
private static void SetNewId(TDataItem dataItem)
|
||||
{
|
||||
//TODO: int !!! - J.
|
||||
if (dataItem.Id is Guid) TypeDescriptor.GetConverter(Guid.NewGuid()).ConvertTo(dataItem.Id, typeof(TId));
|
||||
}
|
||||
|
||||
public Task AddDataItem(TDataItem dataItem)
|
||||
{
|
||||
//TODO: !!! - J.
|
||||
//if (!HasIdValue(dataItem)) dataItem.Id = Guid.NewGuid();
|
||||
if (!HasIdValue(dataItem)) SetNewId(dataItem);
|
||||
return _dataSource.Add(dataItem, true);
|
||||
}
|
||||
|
||||
public Task AddDataItemAsync(TDataItem dataItem)
|
||||
{
|
||||
//TODO: !!! - J.
|
||||
//if (!HasIdValue(dataItem)) dataItem.Id = Guid.NewGuid();
|
||||
if (!HasIdValue(dataItem)) SetNewId(dataItem);
|
||||
_dataSource.Add(dataItem);
|
||||
|
||||
return SaveChangesToServerAsync();
|
||||
|
|
@ -187,8 +192,7 @@ public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClie
|
|||
{
|
||||
var dataItem = (e.EditModel as TDataItem)!;
|
||||
|
||||
//TODO: !!! - J.
|
||||
//if (e.IsNew && !HasIdValue(dataItem)) dataItem.Id = Guid.NewGuid();
|
||||
if (e.IsNew && !HasIdValue(dataItem)) SetNewId(dataItem);
|
||||
|
||||
var logText = e.IsNew ? "add" : "update";
|
||||
Logger.Debug($"{_gridLogName} OnItemSaving {logText}; Id: {dataItem.Id}");
|
||||
|
|
|
|||
Loading…
Reference in New Issue