Ejemplo n.º 1
0
 private async Task PostSaveChangesAsync(PreSaveState pss)
 {
     Requires.NonNull(pss, nameof(pss));
     foreach (var item in pss.DeleteKeysByTableKey.AtomEnumerable)
     {
         var e = item.Value;
         e.State = EntityState.Detached;
         await SoftDeleteAsync(item.Key, e.Entity.DeleteKey, CurrentUserId);
     }
 }
Ejemplo n.º 2
0
 private void PostSaveChanges(PreSaveState pss)
 {
     Requires.NonNull(pss, nameof(pss));
     foreach (var item in pss.DeleteKeysByTableKey.AtomEnumerable)
     {
         var e = item.Value;
         e.State = EntityState.Detached;
         SoftDelete(item.Key, e.Entity.DeleteKey, null);
     }
 }
Ejemplo n.º 3
0
        private PreSaveState PreSaveChanges()
        {
            var pss = new PreSaveState();

            EntityList <ISoftDelete>().ForEach(z =>
            {
                var et = z.Entity.GetType();
                if (z.Entity.IsDeleted && z.State != EntityState.Detached)
                {
                    z.State = EntityState.Modified;
                    var tka = et.GetCustomAttribute <TableKeyAttribute>();
                    if (tka == null)
                    {
                        throw new Exception($"Developer should have specified the TableKeyAttribute on the entity type = {et.Name}");
                    }
                    pss.DeleteKeysByTableKey.Add(tka.Key, z);
                }
                else if (z.State == EntityState.Deleted)
                {
                    throw new Exception($"Developer should have used SoftDelete on object type = {et.Name}");
                }
            });
            return(pss);
        }