From 68b20be91e83c74b6012bef8fed7bbcd6ab93bb5 Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Sat, 1 Jun 2024 21:58:40 +0200 Subject: [PATCH] DbSetExtension Address, Profile, User --- .../Addresses/AcAddressDbSetExtensions.cs | 22 +++++++++++++++++-- .../Profiles/AcProfileDbSetExtensions.cs | 9 +++++--- .../DbSets/Users/AcUserDbSetExtensions.cs | 3 +++ 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/AyCode.Database/DbSets/Addresses/AcAddressDbSetExtensions.cs b/AyCode.Database/DbSets/Addresses/AcAddressDbSetExtensions.cs index 3c27815..c94fc84 100644 --- a/AyCode.Database/DbSets/Addresses/AcAddressDbSetExtensions.cs +++ b/AyCode.Database/DbSets/Addresses/AcAddressDbSetExtensions.cs @@ -1,18 +1,36 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using AyCode.Interfaces.Addresses; +using AyCode.Interfaces.Addresses.Dtos; +using AyCode.Interfaces.Profiles; +using Microsoft.EntityFrameworkCore; namespace AyCode.Database.DbSets.Addresses { public static class AcAddressDbSetExtensions { - public static IQueryable GetAddresses(this IAcAddressDbSetBase ctx) where TAddress : class, IAcAddress + public static IQueryable GetAddresses(this IAcAddressDbSetBase ctx) where TAddress : class, IAcAddressDtoBase => ctx.Addresses; - public static TAddress? GetAddressById(this IAcAddressDbSetBase ctx, Guid addressId) where TAddress : class, IAcAddress + public static TAddress? GetAddressById(this IAcAddressDbSetBase ctx, Guid addressId) where TAddress : class, IAcAddressDtoBase => ctx.GetAddresses().FirstOrDefault(x => x.Id == addressId); + + public static bool UpdateAddress(this IAcAddressDbSetBase ctx, TAddress address) where TAddress : class, IAcAddressDtoBase + => ctx.Addresses.Update(address).State == EntityState.Modified; + + public static bool RemoveAddress(this IAcAddressDbSetBase ctx, TAddress address) where TAddress : class, IAcAddressDtoBase + => ctx.Addresses.Remove(address).State == EntityState.Deleted; + + public static bool RemoveAddress(this IAcAddressDbSetBase ctx, Guid addressId) where TAddress : class, IAcAddressDtoBase + { + var address = ctx.GetAddressById(addressId); + + return address != null && ctx.RemoveAddress(address); + } } + } diff --git a/AyCode.Database/DbSets/Profiles/AcProfileDbSetExtensions.cs b/AyCode.Database/DbSets/Profiles/AcProfileDbSetExtensions.cs index 27b5490..c464dbe 100644 --- a/AyCode.Database/DbSets/Profiles/AcProfileDbSetExtensions.cs +++ b/AyCode.Database/DbSets/Profiles/AcProfileDbSetExtensions.cs @@ -6,6 +6,8 @@ using AyCode.Interfaces.Profiles.Dtos; using AyCode.Interfaces.Profiles; using Microsoft.EntityFrameworkCore; using AyCode.Interfaces.Addresses.Dtos; +using AyCode.Database.DbSets.Users; +using AyCode.Interfaces.Users; namespace AyCode.Database.DbSets.Profiles; @@ -15,9 +17,10 @@ public static class AcProfileDbSetExtensions => ctx.Profiles.FirstOrDefault(u => u.Id == profileId); public static bool AddProfile(this IAcProfileDbSetBase ctx, TProfile profile) where TProfile : class, IAcProfileDtoBase - { - return ctx.Profiles.Add(profile).State == EntityState.Added; - } + => ctx.Profiles.Add(profile).State == EntityState.Added; + + public static bool UpdateProfile(this IAcProfileDbSetBase ctx, TProfile profile) where TProfile : class, IAcProfileDtoBase + => ctx.Profiles.Update(profile).State == EntityState.Modified; public static bool RemoveProfile(this IAcProfileDbSetBase ctx, TProfile profile) where TProfile : class, IAcProfile diff --git a/AyCode.Database/DbSets/Users/AcUserDbSetExtensions.cs b/AyCode.Database/DbSets/Users/AcUserDbSetExtensions.cs index 8390f65..736291b 100644 --- a/AyCode.Database/DbSets/Users/AcUserDbSetExtensions.cs +++ b/AyCode.Database/DbSets/Users/AcUserDbSetExtensions.cs @@ -69,6 +69,9 @@ public static class AcUserDbSetExtensions return ctx.Users.Add(user).State == EntityState.Added; } + public static bool UpdateUser(this IAcUserDbSetBase ctx, TUser user) where TUser : class, IAcUserBase + => ctx.Users.Update(user).State == EntityState.Modified; + public static bool RemoveUser(this IAcUserDbSetBase ctx, TUser user) where TUser : class, IAcUser where TProfile : class, IAcProfile