TourIAm/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDalExtension.cs

142 lines
5.4 KiB
C#

//namespace TIAM.Database.DataLayers.ServiceProviders;
//public static class ServiceProviderDalExtension
//{
// //public static string ToJson<T>(this T source) where T : class, IEntity
// //{
// // JsonSerializerSettings options = new()
// // {
// // ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
// // NullValueHandling = NullValueHandling.Ignore
// // };
// // return JsonConvert.SerializeObject(source, options);
// //}
// //public static string ToJson<T>(this IQueryable<T> source) where T : class, IEntity
// //{
// // JsonSerializerSettings options = new()
// // {
// // ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
// // NullValueHandling = NullValueHandling.Ignore
// // };
// // return JsonConvert.SerializeObject(source, options);
// //}
// //public static IQueryable<UserProductMapping> GetUserProductMappingsByPermissionGroupId(this IServiceProviderDbContext ctx, Guid permissionGroupId)
// //{
// // return ctx.UserProductMappings
// // .Where(user => ctx.PermissionGroupUserMappings
// // .Where(x => x.PermissionGroupId == permissionGroupId)
// // .Select(x => x.SubjectId)
// // .Contains(user.Id));
// //}
// //public static void CleanUpAndRemoveUserProductMappings(this IServiceProviderDbContext ctx, IEnumerable<UserProductMapping> userProductMappings)
// //{
// // foreach (var userProductMapping in userProductMappings)
// // {
// // ctx.CleanUpAndRemoveAssignedUser(userProductMapping);
// // }
// //}
// //public static void CleanUpAndRemoveAssignedUser(this IServiceProviderDbContext ctx, UserProductMapping userProductMapping)
// //{
// // ctx.RemoveContextMappingBySubjectId(userProductMapping.Id);
// // ctx.RemoveAssingedUserFromPermissionGroups(userProductMapping.Id);
// // ctx.UserProductMappings.Remove(userProductMapping);
// //}
// //public static bool CleanUpAndRemoveUserProductMappings(this IServiceProviderDbContext ctx, Guid userProductMappingId)
// //{
// // var userProductMapping = ctx.GetUserProductMappingById(userProductMappingId);
// // if (userProductMapping == null) return false;
// // ctx.CleanUpAndRemoveAssignedUser(userProductMapping);
// // return true;
// //}
// //public static UserProductMapping UpdateUserProductMapping(this IServiceProviderDbContext context, UserProductMapping userProductMapping)
// //{
// // if(userProductMapping == null) return null;
// // var existingUserProductMapping = context.UserProductMappings.FirstOrDefault(u => u.Id == userProductMapping.Id);
// // if (existingUserProductMapping == null) return null;
// // existingUserProductMapping.Id = userProductMapping.Id;
// // existingUserProductMapping.UserId = userProductMapping.UserId;
// // existingUserProductMapping.ProductId = userProductMapping.ProductId;
// // return existingUserProductMapping;
// //}
// //public static Product UpdateProduct(this IServiceProviderDbContext ctx, Product product)
// //{
// // if (product == null) return null;
// // var existingProduct = ctx.Products.FirstOrDefault(u => u.Id == product.Id);
// // if (existingProduct == null) return null;
// // existingProduct.Name = product.Name;
// // existingProduct.ServiceProviderId = product.ServiceProviderId;
// // existingProduct.Description = product.Description;
// // existingProduct.Price = product.Price;
// // existingProduct.JsonDetails = product.JsonDetails;
// // //existingProduct.UserMediaId = product.UserMediaId;
// // existingProduct.ProductType = product.ProductType;
// // return existingProduct;
// //}
// //public static void DeleteProductById(this IServiceProviderDbContext ctx, Guid productId)
// //{
// // var product = ctx.Products.FirstOrDefault(u => u.Id == productId);
// // if (product == null) return;
// // ctx.CleanUpAndRemoveUserProductMappings(ctx.GetUserProductMappingsByProductId(productId));
// // ctx.Products.Remove(product);
// //}
// //public static bool CreatePermissionGroup(this IServiceProviderDbContext ctx, PermissionGroup permissionGroup)
// //{
// // if (permissionGroup == null) return false;
// // ctx.PermissionGroups.Add(permissionGroup);
// // return true;
// //}
// //public static bool CreatePermissionContextMapping(this IServiceProviderDbContext ctx, PermissionContextMapping permissionContextMapping)
// //{
// // if (permissionContextMapping == null) return false;
// // ctx.PermissionContextMappings.Add(permissionContextMapping);
// // return true;
// //}
// //public static bool CreatePermissionGroupUserMapping(this IServiceProviderDbContext ctx, PermissionGroupUserMapping permissionGroupUserMapping)
// //{
// // if (permissionGroupUserMapping == null) return false;
// // ctx.PermissionGroupUserMappings.Add(permissionGroupUserMapping);
// // return true;
// //}
// //public static bool CreatePermissionsType(this IServiceProviderDbContext ctx, PermissionsType permissionType)
// //{
// // if (permissionType == null) return false;
// // ctx.PermissionsTypes.Add(permissionType);
// // return true;
// //}
//}