private void OnTableChanged(object sender, Watcher.Events.Args.TableChangedEventArgs <TModel> args) { var totalModels = args.TotalChangedModels; var sent = new List <TModel>(); foreach (var model in totalModels) { if (!_redisClient.TrySendModel(model, out var exception)) { Logger.LogWarning($"Can't sent model: UPDATE_ID: {model.UpdateId}"); Logger.LogWarning(exception.ToString()); continue; } Logger.LogDebug($"Model with UPDATE_ID: {model.UpdateId} sent to redis"); sent.Add(model); var tempTable = model.GetTempTableName(); var idProperty = model.GetDbProperty(nameof(model.UpdateId)); var command = $"DELETE FROM {tempTable} WHERE {idProperty} = {model.UpdateId}"; var isOk = _fbSqlExecuter.ExecuteNonQuery(command, (ex) => { Logger.LogWarning(ex.ToString()); }); if (isOk) { Logger.LogDebug($"Model with UPDATE_ID: {model.UpdateId} deleted from {tempTable}"); } } ModelsSentToRedis?.Invoke(this, new ModelsUpdatedEventArgs <TModel>() { Models = sent, }); }
private void _watcher_TableChanged(object sender, Watcher.Events.Args.TableChangedEventArgs <EmployeeActionModel> args) { var a = args.TotalChangedModels; }