aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudService.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudService.cs15
1 files changed, 15 insertions, 0 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudService.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudService.cs
index 796761e..65085fd 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudService.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudService.cs
@@ -26,6 +26,8 @@ public class CrudService<TEntity> : IDisposable where TEntity : class
}
}
+ public EntityJsonHelper<TEntity> JsonHelper => _jsonHelper;
+
public virtual void DoInitializeDatabase(IDbConnection connection)
{
using var transaction = connection.BeginTransaction();
@@ -43,4 +45,17 @@ public class CrudService<TEntity> : IDisposable where TEntity : class
var result = _table.Select<TEntity>(_dbConnection, null);
return result;
}
+
+ public TEntity GetByKey(string key)
+ {
+ var result = _table.Select<TEntity>(_dbConnection, null, WhereClause.Create().Eq(_table.KeyColumn.ColumnName, key));
+ return result.Single();
+ }
+
+ public string Create(JsonElement jsonElement)
+ {
+ var insertClauses = _jsonHelper.ConvertJsonElementToInsertClauses(jsonElement);
+ var key = _table.Insert(_dbConnection, insertClauses);
+ return (string)key;
+ }
}