From a800b3b9f18ae3e8ab030c30c5d7b6504f2a5ebb Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Sat, 1 Aug 2020 20:14:34 +0200 Subject: Initial commit --- src/server/Models/DbSetOverrides.cs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/server/Models/DbSetOverrides.cs (limited to 'src/server/Models/DbSetOverrides.cs') diff --git a/src/server/Models/DbSetOverrides.cs b/src/server/Models/DbSetOverrides.cs new file mode 100644 index 0000000..24622bc --- /dev/null +++ b/src/server/Models/DbSetOverrides.cs @@ -0,0 +1,25 @@ +using System; +using System.Linq; +using Microsoft.EntityFrameworkCore; +using Dough.Models.Database; + +namespace Dough.Models +{ + public static class DbSetOverrides + { + public static T SingleOrDefault(this DbSet entity, Guid id, + bool includeHidden = false) where T : BaseModel + { + if (includeHidden) + return entity.SingleOrDefault(c => c.Id == id); + return entity.SingleOrDefault(c => c.Id == id && !c.Hidden); + } + + public static User SingleByNameOrDefault(this DbSet users, string username, bool includeHidden = false) + { + if (includeHidden) + return users.SingleOrDefault(c => c.Username == username); + return users.SingleOrDefault(c => c.Username == username && !c.Hidden); + } + } +} -- cgit v1.3