Moved projects to their own separate subdirectories

This commit is contained in:
2023-03-27 21:48:25 -05:00
parent baf38aa3cd
commit 9b590bb4fa
134 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,35 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using System.Collections.Generic;
using System.Linq;
using YABA.Models.Interfaces;
namespace YABA.Data.Extensions
{
public static class GenericDbSetExtensions
{
public static void Upsert<T>(this DbSet<T> dbSet, T entity) where T : class, IIdentifiable
{
var entityInList = new List<T>() { entity };
dbSet.UpsertRange(entityInList);
}
public static void UpsertRange<T>(this DbSet<T> dbSet, IEnumerable<T> entities) where T : class, IIdentifiable
{
foreach (var entity in entities)
{
var entityExists = dbSet.Any(x => x.Id == entity.Id);
if (entityExists)
{
EntityEntry<T> attachedEntity = dbSet.Attach(entity);
attachedEntity.State = EntityState.Modified;
}
else
{
dbSet.Add(entity);
}
}
}
}
}

View File

@ -0,0 +1,23 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YABA.Models;
namespace YABA.Data.Extensions
{
public static class UsersDbSetExtensions
{
public static async Task<bool> UserExistsAsync(this DbSet<User> userDbSet, int userId)
{
return await userDbSet.AnyAsync(x => x.Id == userId);
}
public static bool UserExists(this DbSet<User> userDbSet, int userId)
{
return userDbSet.Any(x => x.Id == userId);
}
}
}