diff --git a/Demo/Data/Exceptions/GroupNotFoundException.cs b/Demo/Data/Exceptions/GroupNotFoundException.cs new file mode 100644 index 0000000..0e15e02 --- /dev/null +++ b/Demo/Data/Exceptions/GroupNotFoundException.cs @@ -0,0 +1,10 @@ +using System; + +namespace Demo.Data.Exceptions +{ + public class GroupNotFoundException : RepositoryException + { + public GroupNotFoundException(int groupId) + : base($"Группа с ID {groupId} не найдена.") { } + } +} \ No newline at end of file diff --git a/Demo/Data/Exceptions/RepositoryException.cs b/Demo/Data/Exceptions/RepositoryException.cs new file mode 100644 index 0000000..5732bc4 --- /dev/null +++ b/Demo/Data/Exceptions/RepositoryException.cs @@ -0,0 +1,9 @@ +using System; + +namespace Demo.Data.Exceptions +{ + public class RepositoryException : Exception + { + public RepositoryException(string message) : base(message) { } + } +} \ No newline at end of file diff --git a/Demo/Data/Exceptions/UserNotFoundException.cs b/Demo/Data/Exceptions/UserNotFoundException.cs new file mode 100644 index 0000000..151102c --- /dev/null +++ b/Demo/Data/Exceptions/UserNotFoundException.cs @@ -0,0 +1,10 @@ +using System; + +namespace Demo.Data.Exceptions +{ + public class UserNotFoundException : RepositoryException + { + public UserNotFoundException(Guid userGuid) + : base($"Пользователь с GUID {userGuid} не найден.") { } + } +} \ No newline at end of file diff --git a/Demo/Data/LocalData/Entity/Group.cs b/Demo/Data/LocalData/Entity/Group.cs index 6041311..a83b490 100644 --- a/Demo/Data/LocalData/Entity/Group.cs +++ b/Demo/Data/LocalData/Entity/Group.cs @@ -1,15 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Demo.domain.Models +namespace Demo.domain.Models // Пространство имен для моделей { - public class GroupLocalEntity + public class GroupLocalEntity // Класс для локальной сущности группы { - public required int Id { get; set; } - public required string Name { get; set; } - + public required int Id { get; set; } // Обязательное свойство для идентификатора + public required string Name { get; set; } // Обязательное свойство для имени } } diff --git a/Demo/Data/LocalData/Entity/Presence.cs b/Demo/Data/LocalData/Entity/Presence.cs index 70b8d1e..12a9ad0 100644 --- a/Demo/Data/LocalData/Entity/Presence.cs +++ b/Demo/Data/LocalData/Entity/Presence.cs @@ -1,17 +1,11 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Demo.domain.Models +namespace Demo.domain.Models // Пространство имен для моделей { - internal class PresenceLocalEntity + public class PresenceLocalEntity // Класс для локальной сущности присутствия { - public required Guid UserGuid { get; set; } - public bool IsAttedance { get; set; } = true; - public required DateOnly Date { get; set; } - - public required int LessonNumber { get; set; } + public Guid UserGuid { get; set; } // Уникальный идентификатор пользователя (Guid) + public int GroupId { get; set; } // Идентификатор группы + public int LessonNumber { get; set; } // Номер урока + public DateTime Date { get; set; } // Дата + public bool IsAttedance { get; set; } // Признак присутствия } } diff --git a/Demo/Data/LocalData/Entity/User.cs b/Demo/Data/LocalData/Entity/User.cs index 9851aab..db96929 100644 --- a/Demo/Data/LocalData/Entity/User.cs +++ b/Demo/Data/LocalData/Entity/User.cs @@ -1,25 +1,16 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Demo.domain.Models +namespace Demo.domain.Models // Пространство имен для моделей { - public class UserLocalEnity : IEquatable + public class UserLocalEnity : IEquatable // Класс для локальной сущности пользователя, реализующий интерфейс IEquatable { - public required string FIO { get; set; } - public Guid Guid { get; set; } + public required string FIO { get; set; } // Обязательное свойство для ФИО + public Guid Guid { get; set; } // Свойство для уникального идентификатора - public required int GroupID { get; set; } + public required int GroupID { get; set; } // Обязательное свойство для идентификатора группы - - - public bool Equals(UserLocalEnity? other) + public bool Equals(UserLocalEnity? other) // Метод для сравнения двух объектов UserLocalEnity { - if (other == null) return false; - return this.Guid.Equals(other.Guid); + if (other == null) return false; // Если другой объект равен null, возвращаем false + return this.Guid.Equals(other.Guid); // Сравниваем Guid текущего и другого объекта } } } - diff --git a/Demo/Data/LocalData/LocalStaticData.cs b/Demo/Data/LocalData/LocalStaticData.cs index 50e54f7..14e58a9 100644 --- a/Demo/Data/LocalData/LocalStaticData.cs +++ b/Demo/Data/LocalData/LocalStaticData.cs @@ -1,24 +1,18 @@ -using Demo.domain.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.NetworkInformation; -using System.Text; -using System.Threading.Tasks; +using Demo.domain.Models; // Для доступа к моделям -namespace Demo.Data.LocalData +namespace Demo.Data.LocalData // Пространство имен для локальных данных { - public static class LocalStaticData + public static class LocalStaticData // Статический класс для локальных данных { public static List groups => new List - { - new GroupLocalEntity{ Id = 1, Name = "ИП1-21" }, - new GroupLocalEntity{ Id = 2, Name = "ИП1-22" }, - new GroupLocalEntity{ Id = 3, Name = "ИП1-23" }, + new GroupLocalEntity{ Id = 1, Name = "ИП1-21" }, // Группа с идентификатором 1 и именем "ИП1-21" + new GroupLocalEntity{ Id = 2, Name = "ИП1-22" }, // Группа с идентификатором 2 и именем "ИП1-22" + new GroupLocalEntity{ Id = 3, Name = "ИП1-23" }, // Группа с идентификатором 3 и именем "ИП1-23" }; - public static List users => new List + + public static List users => new List { new UserLocalEnity{Guid=Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "RandomFio", GroupID = 1 }, new UserLocalEnity{Guid=Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "RandomFio1", GroupID = 2 }, @@ -27,5 +21,10 @@ namespace Demo.Data.LocalData new UserLocalEnity{Guid=Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "RandomFio4", GroupID = 2 }, new UserLocalEnity{Guid=Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "RandomFio5", GroupID = 3 }, }; + + public static List presences => new List + { + + }; } } diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/Group.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/Group.cs new file mode 100644 index 0000000..45e9277 --- /dev/null +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/Group.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Data.RemoteData.RemoteDataBase.DAO +{ + public class GroupDao + { + public int Id { get; set; } + public required string Name { get; set; } + public IEnumerable Users { get; set; } + } +} diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs new file mode 100644 index 0000000..7b040a3 --- /dev/null +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Data.RemoteData.RemoteDataBase.DAO +{ + public class PresenceDao + { + public Guid UserGuid { get; set; } + public bool IsAttedance { get; set; } = true; + public DateOnly Date { get; set; } + public int LessonNumber { get; set; } + public UserDao UserDao { get; set; } + public int GroupId { get; set; } + } +} diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs new file mode 100644 index 0000000..d40697a --- /dev/null +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Data.RemoteData.RemoteDataBase.DAO +{ + public class UserDao + { + public required string FIO { get; set; } + public Guid Guid { get; set; } + + public required int GroupID { get; set; } + + public GroupDao Group { get; set; } + } +} diff --git a/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs b/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs new file mode 100644 index 0000000..a8f2607 --- /dev/null +++ b/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs @@ -0,0 +1,33 @@ +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Microsoft.EntityFrameworkCore; + + +namespace Demo.Data.RemoteData.RemoteDataBase +{ + public class RemoteDatabaseContext: DbContext + { + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Username=user11;Database=user11;Password=JSZHJyg1"); + } + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity().HasKey(group => group.Id); + modelBuilder.Entity().Property(group => group.Id).ValueGeneratedOnAdd(); + modelBuilder.Entity().HasKey(user => user.Guid); + modelBuilder.Entity().Property(user => user.Guid).ValueGeneratedOnAdd(); + modelBuilder.Entity().HasKey(presense => new { + presense.UserGuid, + presense.Date, + presense.IsAttedance, + presense.LessonNumber + }); + } + public DbSet Groups { get; set; } + public DbSet Users { get; set; } + public DbSet PresenceDaos { get; set; } + + } + +} diff --git a/Demo/Data/Repository/GroupRepositoryImpl.cs b/Demo/Data/Repository/GroupRepositoryImpl.cs index eb38d69..faa2ab4 100644 --- a/Demo/Data/Repository/GroupRepositoryImpl.cs +++ b/Demo/Data/Repository/GroupRepositoryImpl.cs @@ -1,41 +1,51 @@ -using Demo.Data.LocalData; +using Demo.Data.Exceptions; +using Demo.Data.LocalData; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.Data.Repository; using Demo.domain.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading.Tasks; -namespace Demo.Data.Repository +public class GroupRepositoryImpl : IGroupRepository { - public class GroupRepositoryImpl : IGroupRepository + private List _groups = LocalStaticData.groups; + + public GroupLocalEntity? GetGroupById(int groupId) { - public bool AddGroup(GroupLocalEntity newGroup) - { - throw new NotImplementedException(); - } + return _groups.FirstOrDefault(g => g.Id == groupId); + } - public List GetAllGroup() - { - throw new NotImplementedException(); - } + // Метод для получения всех групп + public List GetAllGroup() => _groups; - public List GetAllGroups() => LocalStaticData.groups; + // Метод для добавления новой группы + public bool AddGroup(GroupLocalEntity group) + { + if (_groups.Any(g => g.Id == group.Id)) + return false; - public GroupLocalEntity GetGroupById(int groupID) - { - throw new NotImplementedException(); - } + group.Id = _groups.Any() ? _groups.Max(g => g.Id) + 1 : 1; + _groups.Add(group); + return true; + } - public bool RemoveGroupById(int groupID) - { - throw new NotImplementedException(); - } + // Метод для обновления существующей группы + public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup) + { + var existingGroup = GetGroupById(groupID); + if (existingGroup == null) + return false; - public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup) - { - throw new NotImplementedException(); - } + existingGroup.Name = updatedGroup.Name; + return true; + } + + + public bool RemoveGroupById(int groupID) + { + var existingGroup = GetGroupById(groupID); + if (existingGroup == null) + return false; + + _groups.Remove(existingGroup); + return true; } } diff --git a/Demo/Data/Repository/IGroupRepository.cs b/Demo/Data/Repository/IGroupRepository.cs index 4abaa92..21bd947 100644 --- a/Demo/Data/Repository/IGroupRepository.cs +++ b/Demo/Data/Repository/IGroupRepository.cs @@ -1,9 +1,5 @@ -using Demo.domain.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.domain.Models; namespace Demo.Data.Repository { diff --git a/Demo/Data/Repository/IPresenceRepository.cs b/Demo/Data/Repository/IPresenceRepository.cs new file mode 100644 index 0000000..5cc8100 --- /dev/null +++ b/Demo/Data/Repository/IPresenceRepository.cs @@ -0,0 +1,16 @@ +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.domain.Models; +using System; +using System.Collections.Generic; + +namespace Demo.Data.Repository +{ + public interface IPresenceRepository + { + void SavePresence(List presences); + List GetPresenceByGroup(int groupId); + List GetPresenceByGroupAndDate(int groupId, DateTime date); + void MarkUserAsAbsent(Guid userGuid, int groupId, int firstLessonNumber, int lastLessonNumber); + void AddPresence(PresenceLocalEntity presence); + } +} diff --git a/Demo/Data/Repository/IUserRepository.cs b/Demo/Data/Repository/IUserRepository.cs new file mode 100644 index 0000000..de88740 --- /dev/null +++ b/Demo/Data/Repository/IUserRepository.cs @@ -0,0 +1,18 @@ +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Data.Repository +{ + public interface IUserRepository + { + IEnumerable GetAllUsers { get; } + bool RemoveUserById(Guid userGuid); + UserLocalEnity? UpdateUser(UserLocalEnity user); + + } +} diff --git a/Demo/Data/Repository/PresenceRepositoryImpl.cs b/Demo/Data/Repository/PresenceRepositoryImpl.cs new file mode 100644 index 0000000..9f203c4 --- /dev/null +++ b/Demo/Data/Repository/PresenceRepositoryImpl.cs @@ -0,0 +1,62 @@ +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Demo.Data.Repository +{ + public class PresenceRepositoryImpl : IPresenceRepository + { + private readonly List _presences = new List(); + + public void SavePresence(List presences) + { + foreach (var presence in presences) + { + var existing = _presences.FirstOrDefault(p => + p.Date == presence.Date && + p.UserGuid == presence.UserGuid && + p.LessonNumber == presence.LessonNumber); + + if (existing == null) + { + _presences.Add(presence); + } + else + { + existing.IsAttedance = presence.IsAttedance; + } + } + } + + public void AddPresence(PresenceLocalEntity presence) + { + if (presence == null) throw new ArgumentNullException(nameof(presence)); + + _presences.Add(presence); + } + + public List GetPresenceByGroup(int groupId) + { + return _presences.Where(p => p.GroupId == groupId).ToList(); + } + + public List GetPresenceByGroupAndDate(int groupId, DateTime date) + { + return _presences.Where(p => p.GroupId == groupId && p.Date.Date == date.Date).ToList(); + } + + public void MarkUserAsAbsent(Guid userGuid, int groupId, int firstLessonNumber, int lastLessonNumber) + { + foreach (var lesson in Enumerable.Range(firstLessonNumber, lastLessonNumber - firstLessonNumber + 1)) + { + var presence = _presences.FirstOrDefault(p => p.UserGuid == userGuid && p.GroupId == groupId && p.LessonNumber == lesson); + if (presence != null) + { + presence.IsAttedance = false; // Помечаем как отсутствующего + } + } + } + } +} diff --git a/Demo/Data/Repository/SQLGroupRepositoryImpl.cs b/Demo/Data/Repository/SQLGroupRepositoryImpl.cs new file mode 100644 index 0000000..8824dae --- /dev/null +++ b/Demo/Data/Repository/SQLGroupRepositoryImpl.cs @@ -0,0 +1,71 @@ +using Demo.Data.Exceptions; +using Demo.Data.LocalData; +using Demo.Data.RemoteData.RemoteDataBase; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.Data.Repository; +using Demo.domain.Models; +using System.Collections.Generic; +using System.Linq; + +public class SQLGroupRepositoryImpl : IGroupRepository +{ + private readonly RemoteDatabaseContext _remoteDatabaseContext; + + public SQLGroupRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) + { + _remoteDatabaseContext = remoteDatabaseContext; + } + + // Метод для получения группы по ID + public GroupLocalEntity? GetGroupById(int groupId) + { + var groupDao = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupId); + return groupDao != null ? new GroupLocalEntity { Id = groupDao.Id, Name = groupDao.Name } : null; + } + + // Метод для получения всех групп + public List GetAllGroup() + { + return _remoteDatabaseContext.Groups + .Select(group => new GroupLocalEntity { + Id = group.Id, + Name = group.Name + }).ToList(); + } + + // Метод для добавления новой группы + public bool AddGroup(GroupLocalEntity group) + { + if (_remoteDatabaseContext.Groups.Any(g => g.Id == group.Id)) + return false; + + var groupDao = new GroupDao { Id = group.Id, Name = group.Name }; + _remoteDatabaseContext.Groups.Add(groupDao); + _remoteDatabaseContext.SaveChanges(); + return true; + } + + // Метод для обновления существующей группы + public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup) + { + var existingGroup = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupID); + if (existingGroup == null) + return false; + + existingGroup.Name = updatedGroup.Name; + _remoteDatabaseContext.SaveChanges(); + return true; + } + + // Метод для удаления группы по ID + public bool RemoveGroupById(int groupID) + { + var existingGroup = _remoteDatabaseContext.Groups.FirstOrDefault(g => g.Id == groupID); + if (existingGroup == null) + return false; + + _remoteDatabaseContext.Groups.Remove(existingGroup); + _remoteDatabaseContext.SaveChanges(); + return true; + } +} diff --git a/Demo/Data/Repository/SQLPresenceRepositoryImpl.cs b/Demo/Data/Repository/SQLPresenceRepositoryImpl.cs new file mode 100644 index 0000000..db9c1ca --- /dev/null +++ b/Demo/Data/Repository/SQLPresenceRepositoryImpl.cs @@ -0,0 +1,105 @@ +using Demo.Data.RemoteData.RemoteDataBase; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.domain.Models; + +namespace Demo.Data.Repository +{ + public class SQLPresenceRepositoryImpl : IPresenceRepository + { + private readonly RemoteDatabaseContext _remoteDatabaseContext; + + public SQLPresenceRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) + { + _remoteDatabaseContext = remoteDatabaseContext; + } + + public void SavePresence(List presences) + { + foreach (var presence in presences) + { + var existing = _remoteDatabaseContext.PresenceDaos.FirstOrDefault(p => + p.Date == DateOnly.FromDateTime(presence.Date) && + p.UserGuid == presence.UserGuid && + p.LessonNumber == presence.LessonNumber); + + if (existing == null) + { + var newPresence = new PresenceDao + { + Date = DateOnly.FromDateTime(presence.Date), + UserGuid = presence.UserGuid, + LessonNumber = presence.LessonNumber, + IsAttedance = presence.IsAttedance, + GroupId = presence.GroupId + }; + _remoteDatabaseContext.PresenceDaos.Add(newPresence); + } + else + { + existing.IsAttedance = presence.IsAttedance; + } + } + } + + public void AddPresence(PresenceLocalEntity presence) + { + if (presence == null) throw new ArgumentNullException(nameof(presence)); + + var newPresence = new PresenceDao + { + Date = DateOnly.FromDateTime(presence.Date), + UserGuid = presence.UserGuid, + LessonNumber = presence.LessonNumber, + IsAttedance = presence.IsAttedance, + GroupId = presence.GroupId // Если у вас есть это свойство + }; + _remoteDatabaseContext.PresenceDaos.Add(newPresence); + } + + public List GetPresenceByGroup(int groupId) + { + return _remoteDatabaseContext.PresenceDaos + .Where(p => p.GroupId == groupId) + .Select(p => new PresenceLocalEntity + { + Date = p.Date.ToDateTime(TimeOnly.MinValue), + UserGuid = p.UserGuid, + LessonNumber = p.LessonNumber, + IsAttedance = p.IsAttedance, + GroupId = p.GroupId + }) + .ToList(); + } + + public List GetPresenceByGroupAndDate(int groupId, DateTime date) + { + return _remoteDatabaseContext.PresenceDaos + .Where(p => p.GroupId == groupId && p.Date == DateOnly.FromDateTime(date)) + .Select(p => new PresenceLocalEntity + { + Date = p.Date.ToDateTime(TimeOnly.MinValue), + UserGuid = p.UserGuid, + LessonNumber = p.LessonNumber, + IsAttedance = p.IsAttedance, + GroupId = p.GroupId + }) + .ToList(); + } + + public void MarkUserAsAbsent(Guid userGuid, int groupId, int firstLessonNumber, int lastLessonNumber) + { + foreach (var lesson in Enumerable.Range(firstLessonNumber, lastLessonNumber - firstLessonNumber + 1)) + { + var presence = _remoteDatabaseContext.PresenceDaos.FirstOrDefault(p => + p.UserGuid == userGuid && + p.GroupId == groupId && + p.LessonNumber == lesson); + + if (presence != null) + { + presence.IsAttedance = false; // Помечаем как отсутствующего + } + } + } + } +} diff --git a/Demo/Data/Repository/SQLUserRepositoryImpl.cs b/Demo/Data/Repository/SQLUserRepositoryImpl.cs new file mode 100644 index 0000000..260691d --- /dev/null +++ b/Demo/Data/Repository/SQLUserRepositoryImpl.cs @@ -0,0 +1,61 @@ +using Demo.Data.Exceptions; +using Demo.Data.RemoteData.RemoteDataBase; +using Demo.Data.RemoteData.RemoteDataBase.DAO; +using Demo.domain.Models; + + +namespace Demo.Data.Repository +{ + public class SQLUserRepositoryImpl : IUserRepository + { + private readonly RemoteDatabaseContext _remoteDatabaseContext; + + public SQLUserRepositoryImpl(RemoteDatabaseContext remoteDatabaseContext) + { + _remoteDatabaseContext = remoteDatabaseContext; + } + + // Метод для получения всех пользователей + public IEnumerable GetAllUsers => _remoteDatabaseContext.Users.Select(u => new UserLocalEnity + { + Guid = u.Guid, + FIO = u.FIO, + GroupID = u.GroupID + }).ToList(); + + // Метод для удаления пользователя по GUID + public bool RemoveUserById(Guid userGuid) + { + var user = _remoteDatabaseContext.Users.FirstOrDefault(u => u.Guid == userGuid); + if (user == null) throw new UserNotFoundException(userGuid); + + _remoteDatabaseContext.Users.Remove(user); // Удаление + + _remoteDatabaseContext.SaveChanges(); // Сохранение изменений в базе данных + return true; + } + + // Метод для обновления данных пользователя + public UserLocalEnity? UpdateUser(UserLocalEnity user) + { + var existingUser = _remoteDatabaseContext.Users.FirstOrDefault(u => u.Guid == user.Guid); + if (existingUser == null) throw new UserNotFoundException(user.Guid); + + existingUser.FIO = user.FIO; + existingUser.GroupID = user.GroupID; + + _remoteDatabaseContext.SaveChanges(); // Сохранение изменений в базе данных + + // Возвращаем обновленный объект UserLocalEnity + return new UserLocalEnity + { + Guid = existingUser.Guid, + FIO = existingUser.FIO, + GroupID = existingUser.GroupID + }; + } + + public IEnumerable GetAllUsersDao => _remoteDatabaseContext.Users.ToList(); // Дополнительный метод для DAO, если требуется + } +} + diff --git a/Demo/Data/Repository/UserRepositoryImpl.cs b/Demo/Data/Repository/UserRepositoryImpl.cs index bf9ae8c..135c9e1 100644 --- a/Demo/Data/Repository/UserRepositoryImpl.cs +++ b/Demo/Data/Repository/UserRepositoryImpl.cs @@ -1,47 +1,41 @@ -using Demo.Data.LocalData; +using Demo.Data.Exceptions; +using Demo.Data.LocalData; using Demo.domain.Models; using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Demo.Data.Repository { - public class UserRepositoryImpl + public class UserRepositoryImpl : IUserRepository { - public UserRepositoryImpl() { + private List _users; - GetAllUsers = LocalStaticData.users; - } - public List GetAllUsers - { get; set; } - - public bool RemoveUserByGuid(Guid userGuid) + public UserRepositoryImpl() { - UserLocalEnity? userLocal = GetAllUsers - .Where(x => x.Guid == userGuid).FirstOrDefault(); - if (userLocal == null) return false; - - return GetAllUsers.Remove(userLocal); + _users = LocalStaticData.users; } - public UserLocalEnity? GetUserByGuid(Guid userGuid) { - UserLocalEnity? userLocal = GetAllUsers - .Where(x => x.Guid == userGuid).FirstOrDefault(); - if (userLocal == null) return null; + public IEnumerable GetAllUsers => _users; - return userLocal; + public bool RemoveUserById(Guid userGuid) // Оставил Guid + { + var user = _users.FirstOrDefault(u => u.Guid == userGuid); + if (user == null) throw new UserNotFoundException(userGuid); + + _users.Remove(user); + return true; } - public UserLocalEnity? UpdateUser(UserLocalEnity userUpdateLocalEnity) { - UserLocalEnity? userLocal = GetAllUsers - .Where(x => x.Guid == userUpdateLocalEnity.Guid).FirstOrDefault(); - if (userLocal == null) return null; - userLocal.FIO = userUpdateLocalEnity.FIO; - userLocal.GroupID = userUpdateLocalEnity.GroupID; - return userLocal; + public UserLocalEnity? UpdateUser(UserLocalEnity user) + { + var existingUser = _users.FirstOrDefault(u => u.Guid == user.Guid); + if (existingUser == null) throw new UserNotFoundException(user.Guid); + existingUser.FIO = user.FIO; + existingUser.GroupID = user.GroupID; + + return existingUser; } } } diff --git a/Demo/Demo.csproj b/Demo/Demo.csproj index 1ea2759..899a44e 100644 --- a/Demo/Demo.csproj +++ b/Demo/Demo.csproj @@ -11,4 +11,14 @@ + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + diff --git a/Demo/Domain/Models/Group.cs b/Demo/Domain/Models/Group.cs index ce0914b..67cb89b 100644 --- a/Demo/Domain/Models/Group.cs +++ b/Demo/Domain/Models/Group.cs @@ -1,14 +1,12 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Demo.domain.Models +namespace Demo.domain.Models // Пространство имен для моделей { + // Класс для представления группы public class Group { - public required int Id { get; set; } - public required string Name { get; set; } + // Комментарий: + // - Id: Идентификатор группы. + // - Name: Название группы. + public required int Id { get; set; } // Идентификатор группы + public required string Name { get; set; } // Название группы } } diff --git a/Demo/Domain/Models/Presence.cs b/Demo/Domain/Models/Presence.cs index a5fe7a0..c347b95 100644 --- a/Demo/Domain/Models/Presence.cs +++ b/Demo/Domain/Models/Presence.cs @@ -1,18 +1,17 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Demo.domain.Models +namespace Demo.domain.Models // Пространство имен для моделей { - public class Presence + public class Presence // Класс для представления присутствия пользователя в группе { + // - User: Ссылка на пользователя, который присутствует. + // - GroupId: Идентификатор группы, в которой пользователь присутствует. + // - IsAttedance: Флаг, указывающий на присутствие пользователя. + // - Date: Дата присутствия. + // - LessonNumber: Номер урока, на котором присутствует пользователь. + public required User User { get; set; } // Ссылка на пользователя + public required int GroupId { get; set; } // Идентификатор группы + public bool IsAttedance { get; set; } = true; // Флаг присутствия + public required DateTime Date { get; set; } // Дата присутствия - public required User User { get; set; } - public bool IsAttedance { get; set; } = true; - public required DateOnly Date { get; set; } - - public required int LessonNumber { get; set; } + public required int LessonNumber { get; set; } // Номер урока } } diff --git a/Demo/Domain/Models/ResponseModels/GroupResponse.cs b/Demo/Domain/Models/ResponseModels/GroupResponse.cs new file mode 100644 index 0000000..4dce692 --- /dev/null +++ b/Demo/Domain/Models/ResponseModels/GroupResponse.cs @@ -0,0 +1,6 @@ +public class GroupResponse +{ + public int Id { get; set; } + + public string Name { get; set; } +} \ No newline at end of file diff --git a/Demo/Domain/Models/User.cs b/Demo/Domain/Models/User.cs index cffca41..449f907 100644 --- a/Demo/Domain/Models/User.cs +++ b/Demo/Domain/Models/User.cs @@ -1,16 +1,13 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Demo.domain.Models +namespace Demo.domain.Models // Пространство имен для моделей { + // Класс для представления пользователя public class User { - public required string FIO { get; set; } - public Guid Guid { get; set; } - - public required Group Group { get; set; } + // - FIO: Полное имя пользователя. + // - Guid: Уникальный идентификатор пользователя. + // - Group: Ссылка на группу, к которой принадлежит пользователь. + public required string FIO { get; set; } // Полное имя пользователя + public Guid Guid { get; set; } // Уникальный идентификатор пользователя + public required Group Group { get; set; } // Ссылка на группу пользователя } } diff --git a/Demo/Domain/UseCase/GroupAttendanceService.cs b/Demo/Domain/UseCase/GroupAttendanceService.cs new file mode 100644 index 0000000..c233cf4 --- /dev/null +++ b/Demo/Domain/UseCase/GroupAttendanceService.cs @@ -0,0 +1,69 @@ +using Demo.Data.Repository; // Для доступа к репозиториям данных + +namespace Demo.Domain.UseCase +{ + public class GroupAttendanceService + { + private readonly IPresenceRepository _presenceRepository; + private readonly IUserRepository _userRepository; // Добавляем репозиторий пользователей + + public GroupAttendanceService(IPresenceRepository presenceRepository, IUserRepository userRepository) + { + _presenceRepository = presenceRepository; + _userRepository = userRepository; // Инициализируем репозиторий пользователей + } + + public void DisplayGroupAttendanceInfo(int groupId) + { + // Получаем данные о посещаемости для группы с ID groupId + var presences = _presenceRepository.GetPresenceByGroup(groupId); + + // Проверяем, есть ли данные о посещаемости для группы + if (presences == null || !presences.Any()) + { + Console.WriteLine("Нет данных о посещаемости для группы с ID: " + groupId); + return; + } + + // Вычисление количества студентов + var totalStudents = presences.Select(p => p.UserGuid).Distinct().Count(); // Предполагается, что в PresenceLocalEntity есть UserGuid + var totalSessions = presences.Select(p => p.Date).Distinct().Count();// Вычисление количества проведенных занятий + var totalAttendance = presences.Count(p => p.IsAttedance);// Общее количество присутствий + + // Общий процент посещаемости + double overallAttendancePercentage = totalSessions > 0 ? (double)totalAttendance / (totalSessions * totalStudents) * 100 : 0; + + Console.WriteLine($"Группа ID: {groupId}"); + Console.WriteLine($"Количество студентов: {totalStudents}"); + Console.WriteLine($"Количество проведенных занятий: {totalSessions}"); + Console.WriteLine($"Общий процент посещаемости: {overallAttendancePercentage:F2}%"); + Console.WriteLine("Студенты:"); + + // Вывод информации по каждому студенту + var studentAttendances = presences.GroupBy(p => p.UserGuid).Select(g => new + { + StudentName = GetStudentNameByGuid(g.Key), // Получение имени студента по его GUID + AttendedCount = g.Count(p => p.IsAttedance), // Подсчет количества посещений + MissedCount = g.Count(p => !p.IsAttedance) // Подсчет количества пропусков + }); + + foreach (var student in studentAttendances) + { + // Процент посещаемости студента + double attendancePercentage = totalSessions > 0 + ? (double)student.AttendedCount / totalSessions * 100 + : 0; + + var attendanceColor = attendancePercentage < 40 ? "\u001b[31m" : "\u001b[0m"; // Красный для низкого процента + Console.WriteLine($"{attendanceColor}{student.StudentName} - Посещено: {student.AttendedCount}, Пропущено: {student.MissedCount}, Процент посещаемости: {attendancePercentage:F2}%\u001b[0m"); + } + } + + // Метод для получения имени студента по его GUID + private string GetStudentNameByGuid(Guid userGuid) + { + var user = _userRepository.GetAllUsers.FirstOrDefault(u => u.Guid == userGuid); + return user != null ? user.FIO : "Неизвестный студент"; // Возвращаем имя студента или "Неизвестный студент" + } + } +} diff --git a/Demo/Domain/UseCase/GroupUseCase.cs b/Demo/Domain/UseCase/GroupUseCase.cs index f9e42b9..3530fbe 100644 --- a/Demo/Domain/UseCase/GroupUseCase.cs +++ b/Demo/Domain/UseCase/GroupUseCase.cs @@ -1,45 +1,133 @@ -using Demo.Data.Repository; +using Demo.Data.LocalData; +using Demo.Data.Repository; using Demo.domain.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using Demo.domain.Models.RequestModels; namespace Demo.Domain.UseCase { - internal class GroupUseCase + public class GroupUseCase { - private readonly GroupRepositoryImpl _repositoryGroupImpl; + private readonly IGroupRepository _repositoryGroupImpl; - public GroupUseCase(GroupRepositoryImpl repositoryGroupImpl) + public GroupUseCase(IGroupRepository repositoryGroupImpl) { _repositoryGroupImpl = repositoryGroupImpl; } - // Вывести все группы + // Приватный метод для валидации имени группы + private void ValidateGroupName(string groupName) + { + if (string.IsNullOrWhiteSpace(groupName)) + { + throw new ArgumentException("Имя группы не может быть пустым."); + } + } + + private void ValidateGroupId(int GroupId) + { + if (GroupId < 1) + { + throw new ArgumentException("Введите корректный ID группы."); + } + } + + // Приватный метод для валидации существования группы по ID + private GroupLocalEntity ValidateGroupExistence(int groupId) + { + var existingGroup = _repositoryGroupImpl.GetAllGroup().FirstOrDefault(g => g.Id == groupId); + + if (existingGroup == null) + { + throw new ArgumentException("Группа не найдена."); + } + + return existingGroup; + } + + + // Метод для получения списка всех групп public List GetAllGroups() { - return _repositoryGroupImpl.GetAllGroups().Select(it => new Group { Id = it.Id, Name = it.Name }).ToList(); + return [.. _repositoryGroupImpl.GetAllGroup().Select(it => new Group { Id = it.Id, Name = it.Name })]; } - // Создать новую группу + + public void FindGroupById(int IdGroup) + { + List GetAllGroups() + { + return [.. _repositoryGroupImpl.GetAllGroup().Select( + it => new Group + { Id = it.Id, Name = it.Name } + ) + ]; + } + foreach (var group in GetAllGroups()) + { + if (IdGroup == group.Id) + { + Console.WriteLine($"ID группы: {group.Id} Название группы: {group.Name}"); + } + } + } + + + // Метод для добавления новой группы public void AddGroup(string groupName) { - var newId = _repositoryGroupImpl.GetAllGroups().Max(g => g.Id) + 1; + ValidateGroupName(groupName); + + var newId = _repositoryGroupImpl.GetAllGroup().Any() ? _repositoryGroupImpl.GetAllGroup().Max(g => g.Id) + 1 : 1; + GroupLocalEntity newGroup = new GroupLocalEntity { Id = newId, Name = groupName }; + _repositoryGroupImpl.AddGroup(newGroup); } - // Изменить название группы по ID + public void RemoveGroupById(int groupId) + { + ValidateGroupId(groupId); + var existingGroup = ValidateGroupExistence(groupId); + List _groups = GetAllGroups(); + + // Находим группу по ID и удаляем ее + var groupToRemove = _groups.FirstOrDefault(g => g.Id == existingGroup.Id); + if (groupToRemove != null) + { + _groups.Remove(groupToRemove); + _repositoryGroupImpl.RemoveGroupById(existingGroup.Id); + } + else + { + throw new ArgumentException("Группа не найдена."); + // Обработка случая, если группа не найдена (например, выброс исключения) + } + } + + + // Метод для изменения названия группы public void UpdateGroup(int groupId, string newGroupName) { - GroupLocalEntity existingGroup = _repositoryGroupImpl.GetAllGroups().FirstOrDefault(g => g.Id == groupId); + ValidateGroupName(newGroupName); + var existingGroup = ValidateGroupExistence(groupId); + existingGroup.Name = newGroupName; - _repositoryGroupImpl.UpdateGroup(existingGroup); + _repositoryGroupImpl.UpdateGroupById(existingGroup.Id, existingGroup); + + + } + + public List getAllGroup() + { + return _repository.GetAllGroup().Select(Group => new GroupResponse + { + Id = Group.Id, + Name = Group.Name, + } + ).ToList(); } } -} +} \ No newline at end of file diff --git a/Demo/Domain/UseCase/UseCaseGeneratePresence.cs b/Demo/Domain/UseCase/UseCaseGeneratePresence.cs new file mode 100644 index 0000000..d1f9072 --- /dev/null +++ b/Demo/Domain/UseCase/UseCaseGeneratePresence.cs @@ -0,0 +1,78 @@ +using Demo.Data.Repository; +using Demo.domain.Models; + +namespace Demo.Domain.UseCase +{ + public class UseCaseGeneratePresence + { + public readonly IUserRepository _userRepository; + public readonly IPresenceRepository _presenceRepository; + + public List GetPresenceByDateAndGroup(int groupId, DateTime date) + { + return _presenceRepository.GetPresenceByGroupAndDate(groupId, date); + } + + + public UseCaseGeneratePresence(IUserRepository userRepository, IPresenceRepository presenceRepository) + { + _userRepository = userRepository; + _presenceRepository = presenceRepository; + } + + + public void GeneratePresenceDaily(int firstLesson, int lastLesson, int groupId, DateTime currentDate) + { + var users = _userRepository.GetAllUsers.Where(u => u.GroupID == groupId).ToList(); + List presences = new List(); + for (int lessonNumber = firstLesson; lessonNumber <= lastLesson; lessonNumber++) + { + foreach (var user in users) + { + presences.Add(new PresenceLocalEntity + { + UserGuid = user.Guid, + GroupId = user.GroupID, + Date = currentDate, + LessonNumber = lessonNumber, + IsAttedance = true + }); + } + _presenceRepository.SavePresence(presences); + } + } + + public void GenerateWeeklyPresence(int firstLesson, int lastLesson, int groupId, DateTime startTime) + { + for (int i = 0; i < 7; i++) + { + DateTime currentTime = startTime.AddDays(i); + GeneratePresenceDaily(firstLesson, lastLesson, groupId, currentTime); + } + } + + + + // Отметить пользователя как отсутствующего на диапазоне занятий + public void MarkUserAbsentForLessons(Guid userGuid, int groupId, int firstLesson, int lastLesson, DateTime date) + { + var presences = _presenceRepository.GetPresenceByGroupAndDate(groupId, date); + foreach (var presence in presences.Where(p => p.UserGuid == userGuid && p.LessonNumber >= firstLesson && p.LessonNumber <= lastLesson)) + { + presence.IsAttedance = false; + } + _presenceRepository.SavePresence(presences); + } + + + // Возвращаем список объектов PresenceLocalEntity на основе groupId + public List GetAllPresenceByGroup(int groupId) + { + return _presenceRepository.GetPresenceByGroup(groupId); + } + + + + + } +} diff --git a/Demo/Domain/UseCase/UserUseCase.cs b/Demo/Domain/UseCase/UserUseCase.cs index 942665f..de74fe9 100644 --- a/Demo/Domain/UseCase/UserUseCase.cs +++ b/Demo/Domain/UseCase/UserUseCase.cs @@ -1,75 +1,128 @@ -using Demo.Data.Repository; +using Demo.Data.Exceptions; +using Demo.Data.Repository; using Demo.domain.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Demo.Domain.UseCase { public class UserUseCase { - private readonly UserRepositoryImpl _repositoryUserImpl; + private readonly IUserRepository _repositoryUserImpl; private readonly IGroupRepository _repositoryGroupImpl; - public UserUseCase(UserRepositoryImpl repositoryImpl, IGroupRepository repositoryGroupImpl) + public UserUseCase(IUserRepository repositoryImpl, IGroupRepository repositoryGroupImpl) { _repositoryUserImpl = repositoryImpl; _repositoryGroupImpl = repositoryGroupImpl; } - private List GetAllGroups() => _repositoryGroupImpl.GetAllGroup() - .Select(it => new Group { Id = it.Id, Name = it.Name }).ToList(); - - public List GetAllUsers() => _repositoryUserImpl.GetAllUsers - .Join(_repositoryGroupImpl.GetAllGroup(), - user => user.GroupID, - group => group.Id, - (user, group) => - new User - { - FIO = user.FIO, - Guid = user.Guid, - Group = new Group { Id = group.Id, Name = group.Name } - } - ).ToList(); - - // удалить пользователя по Giud - public bool RemoveUserByGuid(Guid userGuid) + // Приватный метод для валидации ФИО пользователя + private void ValidateUserFIO(string fio) { - return _repositoryUserImpl.RemoveUserByGuid(userGuid); + if (string.IsNullOrWhiteSpace(fio)) + { + throw new ArgumentException("ФИО не может быть пустым."); + } } + // Приватный метод для валидации существования пользователя по ID + private UserLocalEnity ValidateUserExistence(Guid userGuid) + { + var user = _repositoryUserImpl.GetAllUsers + .FirstOrDefault(u => u.Guid == userGuid); - // Обновить пользователя по Guid + if (user == null) + { + throw new Exception("Пользователь не найден."); + } + + return user; + } + + // Приватный метод для валидации существования группы по ID + private GroupLocalEntity ValidateGroupExistence(int groupId) + { + var group = _repositoryGroupImpl.GetAllGroup() + .FirstOrDefault(g => g.Id == groupId); + + if (group == null) + { + throw new Exception("Группа не найдена."); + } + + return group; + } + + // Вывести всех пользователей + public List GetAllUsers() => _repositoryUserImpl.GetAllUsers + .Join(_repositoryGroupImpl.GetAllGroup(), + user => user.GroupID, + group => group.Id, + (user, group) => + new User + { + FIO = user.FIO, + Guid = user.Guid, + Group = new Group { Id = group.Id, Name = group.Name } + }).ToList(); + + // Удалить пользователя по id + public bool RemoveUserById(Guid userGuid) + { + try + { + return _repositoryUserImpl.RemoveUserById(userGuid); + } + catch (UserNotFoundException ex) + { + Console.WriteLine($"Ошибка: {ex.Message}"); + return false; + } + catch (RepositoryException ex) + { + Console.WriteLine($"Ошибка в репозитории: {ex.Message}"); + return false; + } + } + + // Обновить пользователя по guid public User UpdateUser(User user) { - UserLocalEnity userLocalEnity = new UserLocalEnity { FIO = user.FIO, GroupID = user.Group.Id, Guid = user.Guid }; + ValidateUserFIO(user.FIO); + ValidateGroupExistence(user.Group.Id); + + UserLocalEnity userLocalEnity = new UserLocalEnity + { + FIO = user.FIO, + GroupID = user.Group.Id, + Guid = user.Guid + }; + UserLocalEnity? result = _repositoryUserImpl.UpdateUser(userLocalEnity); if (result == null) { - throw new Exception(""); + throw new Exception("Ошибка при обновлении пользователя."); } - Group? group = GetAllGroups().FirstOrDefault(it => it.Id == result!.GroupID); - if (group == null) - { - throw new Exception(""); - } - return new User { FIO = user.FIO, Guid = user.Guid, Group = group }; + var groupEntity = ValidateGroupExistence(result.GroupID); + + return new User + { + FIO = result.FIO, + Guid = result.Guid, + Group = new Group + { + Id = groupEntity.Id, + Name = groupEntity.Name + } + }; } - // Найти пользователя по Guid - public User FindUserByGuid(Guid userGuid) + // Найти пользователя по id + public User FindUserById(Guid userGuid) { - var user = _repositoryUserImpl.GetAllUsers - .FirstOrDefault(u => u.Guid == userGuid); - if (user == null) throw new Exception("Пользователь не найден"); - - var group = _repositoryGroupImpl.GetAllGroup() - .FirstOrDefault(g => g.Id == user.GroupID); + var user = ValidateUserExistence(userGuid); + var group = ValidateGroupExistence(user.GroupID); return new User { @@ -78,7 +131,5 @@ namespace Demo.Domain.UseCase Group = new Group { Id = group.Id, Name = group.Name } }; } - - //public List GetAllGroups() => _repositoryGroupImpl.GetAllGroups().Select(it => new Group { Id = it.Id, Name = it.Name }).ToList(); } } diff --git a/Demo/Migrations/20241031103935_InitialCrete.Designer.cs b/Demo/Migrations/20241031103935_InitialCrete.Designer.cs new file mode 100644 index 0000000..8c1682f --- /dev/null +++ b/Demo/Migrations/20241031103935_InitialCrete.Designer.cs @@ -0,0 +1,121 @@ +// +using System; +using Demo.Data.RemoteData.RemoteDataBase; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Demo.Migrations +{ + [DbContext(typeof(RemoteDatabaseContext))] + [Migration("20241031103935_InitialCrete")] + partial class InitialCrete + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Groups"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => + { + b.Property("UserGuid") + .HasColumnType("uuid"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("IsAttedance") + .HasColumnType("boolean"); + + b.Property("LessonNumber") + .HasColumnType("integer"); + + b.Property("GroupId") + .HasColumnType("integer"); + + b.Property("UserDaoGuid") + .HasColumnType("uuid"); + + b.HasKey("UserGuid", "Date", "IsAttedance", "LessonNumber"); + + b.HasIndex("UserDaoGuid"); + + b.ToTable("PresenceDaos"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b => + { + b.Property("Guid") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("FIO") + .IsRequired() + .HasColumnType("text"); + + b.Property("GroupID") + .HasColumnType("integer"); + + b.HasKey("Guid"); + + b.HasIndex("GroupID"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => + { + b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", "UserDao") + .WithMany() + .HasForeignKey("UserDaoGuid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("UserDao"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b => + { + b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", "Group") + .WithMany("Users") + .HasForeignKey("GroupID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", b => + { + b.Navigation("Users"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Demo/Migrations/20241031103935_InitialCrete.cs b/Demo/Migrations/20241031103935_InitialCrete.cs new file mode 100644 index 0000000..ef6a0d7 --- /dev/null +++ b/Demo/Migrations/20241031103935_InitialCrete.cs @@ -0,0 +1,93 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Demo.Migrations +{ + /// + public partial class InitialCrete : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Groups", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Name = table.Column(type: "text", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Groups", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Users", + columns: table => new + { + Guid = table.Column(type: "uuid", nullable: false), + FIO = table.Column(type: "text", nullable: false), + GroupID = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Users", x => x.Guid); + table.ForeignKey( + name: "FK_Users_Groups_GroupID", + column: x => x.GroupID, + principalTable: "Groups", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "PresenceDaos", + columns: table => new + { + UserGuid = table.Column(type: "uuid", nullable: false), + IsAttedance = table.Column(type: "boolean", nullable: false), + Date = table.Column(type: "date", nullable: false), + LessonNumber = table.Column(type: "integer", nullable: false), + UserDaoGuid = table.Column(type: "uuid", nullable: false), + GroupId = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PresenceDaos", x => new { x.UserGuid, x.Date, x.IsAttedance, x.LessonNumber }); + table.ForeignKey( + name: "FK_PresenceDaos_Users_UserDaoGuid", + column: x => x.UserDaoGuid, + principalTable: "Users", + principalColumn: "Guid", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_PresenceDaos_UserDaoGuid", + table: "PresenceDaos", + column: "UserDaoGuid"); + + migrationBuilder.CreateIndex( + name: "IX_Users_GroupID", + table: "Users", + column: "GroupID"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "PresenceDaos"); + + migrationBuilder.DropTable( + name: "Users"); + + migrationBuilder.DropTable( + name: "Groups"); + } + } +} diff --git a/Demo/Migrations/RemoteDatabaseContextModelSnapshot.cs b/Demo/Migrations/RemoteDatabaseContextModelSnapshot.cs new file mode 100644 index 0000000..40bc526 --- /dev/null +++ b/Demo/Migrations/RemoteDatabaseContextModelSnapshot.cs @@ -0,0 +1,118 @@ +// +using System; +using Demo.Data.RemoteData.RemoteDataBase; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Demo.Migrations +{ + [DbContext(typeof(RemoteDatabaseContext))] + partial class RemoteDatabaseContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Groups"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => + { + b.Property("UserGuid") + .HasColumnType("uuid"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("IsAttedance") + .HasColumnType("boolean"); + + b.Property("LessonNumber") + .HasColumnType("integer"); + + b.Property("GroupId") + .HasColumnType("integer"); + + b.Property("UserDaoGuid") + .HasColumnType("uuid"); + + b.HasKey("UserGuid", "Date", "IsAttedance", "LessonNumber"); + + b.HasIndex("UserDaoGuid"); + + b.ToTable("PresenceDaos"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b => + { + b.Property("Guid") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("FIO") + .IsRequired() + .HasColumnType("text"); + + b.Property("GroupID") + .HasColumnType("integer"); + + b.HasKey("Guid"); + + b.HasIndex("GroupID"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => + { + b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", "UserDao") + .WithMany() + .HasForeignKey("UserDaoGuid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("UserDao"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b => + { + b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", "Group") + .WithMany("Users") + .HasForeignKey("GroupID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", b => + { + b.Navigation("Users"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Demo/Program.cs b/Demo/Program.cs index 7a28990..1f274d0 100644 --- a/Demo/Program.cs +++ b/Demo/Program.cs @@ -1,13 +1,34 @@ - +using Demo.Data.RemoteData.RemoteDataBase; // Подключаем необходимые пространства имен using Demo.Data.Repository; using Demo.Domain.UseCase; using Demo.UI; +using Microsoft.Extensions.DependencyInjection; +// Создаем экземпляр репозиториев +IServiceCollection services = new ServiceCollection(); // Создаем коллекцию сервисов +// Добавляем контекст базы данных +services.AddDbContext(); -GroupRepositoryImpl groupRepositoryImpl = new GroupRepositoryImpl(); -UserRepositoryImpl userRepositoryImpl = new UserRepositoryImpl(); -UserUseCase userUseCase = new UserUseCase(userRepositoryImpl, groupRepositoryImpl); -GroupUseCase groupUseCase = new GroupUseCase(groupRepositoryImpl); +// Добавляем репозитории +services.AddSingleton(); +services.AddSingleton(); +services.AddSingleton(); -MainMenuUI mainMenuUI = new MainMenuUI(userUseCase, groupUseCase); \ No newline at end of file +// Добавляем юз-кейсы +services.AddSingleton(); +services.AddSingleton(); +services.AddSingleton(); + +// Добавляем пользовательские интерфейсы +services.AddSingleton(); +services.AddSingleton(); +services.AddSingleton(); + +var serviceProvider = services.BuildServiceProvider(); // Создаем провайдер сервисов + +// Создаем пользовательский интерфейс +MainMenuUI mainMenuUI = serviceProvider.GetService(); + +// Выводим главное меню +mainMenuUI.DisplayMenu(); // Выводим меню diff --git a/Demo/UI/GroupConsole.cs b/Demo/UI/GroupConsole.cs index 6fb5be3..dab1660 100644 --- a/Demo/UI/GroupConsole.cs +++ b/Demo/UI/GroupConsole.cs @@ -1,41 +1,64 @@ using Demo.Domain.UseCase; -using Demo.domain.Models; using System; -using System.Collections.Generic; -using System.Linq; using System.Text; -using System.Threading.Tasks; -using System.Xml.Linq; -using System.Text.RegularExpressions; namespace Demo.UI { - internal class GroupConsoleUI + public class GroupConsoleUI { - GroupUseCase _groupUseCase; + private readonly GroupUseCase _groupUseCase; public GroupConsoleUI(GroupUseCase groupUseCase) { _groupUseCase = groupUseCase; } - - public void AllGroups() + public void FindGroupById(int IdGroup) { - foreach (var Group in _groupUseCase.GetAllGroups()) + _groupUseCase.FindGroupById(IdGroup); + } + + // Метод для отображения всех групп + public void DisplayAllGroups() + { + Console.WriteLine("\n=== Список всех групп ==="); + StringBuilder groupOutput = new StringBuilder(); + + foreach (var group in _groupUseCase.GetAllGroups()) { - Console.WriteLine($"{Group.Id}\t{Group.Name}"); + groupOutput.AppendLine($"{group.Id}\t{group.Name}"); + } + + Console.WriteLine(groupOutput); + Console.WriteLine("===========================\n"); + } + + // Метод для добавления новой группы + public void AddGroup(string groupName) + { + try + { + _groupUseCase.AddGroup(groupName); + Console.WriteLine($"\nГруппа {groupName} добавлена.\n"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка: {ex.Message}\n"); } } - public void CreateGroup(string NameGroup) + public void RemoveGroup(string groupIdStr) { - _groupUseCase.AddGroup(NameGroup); + int groupId = int.Parse(groupIdStr); + _groupUseCase.RemoveGroupById(groupId); + Console.WriteLine($"Группа с ID: {groupId} удалена"); } - public void UpdateNameGroup(int id, string name) + // Метод для обновления названия группы + public void UpdateGroupName(int groupId, string newGroupName) { - _groupUseCase.UpdateGroup(id, name); + _groupUseCase.UpdateGroup(groupId, newGroupName); + Console.WriteLine($"\nНазвание группы с ID {groupId} изменено на {newGroupName}.\n"); } } } diff --git a/Demo/UI/MainMenu.cs b/Demo/UI/MainMenu.cs index e3dd376..e709081 100644 --- a/Demo/UI/MainMenu.cs +++ b/Demo/UI/MainMenu.cs @@ -1,85 +1,225 @@ -using Demo.domain.Models; -using Demo.Domain.UseCase; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using Demo.Domain.UseCase; namespace Demo.UI { public class MainMenuUI { + private readonly UserConsoleUI _userConsoleUI; + private readonly GroupConsoleUI _groupConsoleUI; + private readonly PresenceConsole _presenceConsoleUI; - UserConsoleUI _userConsoleUI; - GroupConsoleUI _groupConsoleUI; - - - public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase) + public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase, UseCaseGeneratePresence presenceUseCase) { _userConsoleUI = new UserConsoleUI(userUseCase); _groupConsoleUI = new GroupConsoleUI(groupUseCase); - DisplayMenu(); + _presenceConsoleUI = new PresenceConsole(presenceUseCase); } - private void DisplayMenu() { + public void DisplayMenu() + { + Console.WriteLine("Начало работы"); while (true) { + Console.WriteLine("УПРАВЛЕНИЕ ПОЛЬЗОВАТЕЛЯМИ"); + Console.WriteLine("1. Показать список всех пользователей"); + Console.WriteLine("2. Удалить пользователя по его ID"); + Console.WriteLine("3. Обновить данные пользователя по ID"); + Console.WriteLine("4. Найти пользователя по его ID"); + Console.WriteLine(); + Console.WriteLine("УПРАВЛЕНИЕ ГРУППАМИ"); + Console.WriteLine("5. Показать список всех групп"); + Console.WriteLine("6. Создать новую группу"); + Console.WriteLine("7. Удалить группу по ID"); + Console.WriteLine("8. Изменить название существующей группы"); + Console.WriteLine("9. Найти группу по ее ID"); + Console.WriteLine(); + Console.WriteLine("УПРАВЛЕНИЕ ПОСЕЩАЕМОСТЬЮ"); + Console.WriteLine("10. Сгенерировать посещаемость на текущий день"); + Console.WriteLine("11. Сгенерировать посещаемость на текущую неделю"); + Console.WriteLine("12. Показать посещаемость всех пользователей"); + Console.WriteLine("13. Отметить пользователя как отсутствующего"); + Console.WriteLine("14. Вывести посещаемость группы по ID"); + Console.WriteLine(); + Console.WriteLine("0. Выход из программы"); + Console.WriteLine(); + Console.WriteLine(); + Console.Write("Выберите команду: "); + string command = Console.ReadLine(); + Console.WriteLine(); - Console.WriteLine("1 - Вывести всех пользователей"); - Console.WriteLine("2 - Удалить пользователя по guid"); - Console.WriteLine("3 - Обновить пользователя по guid"); - Console.WriteLine("4 - Найти пользователя по guid"); - Console.WriteLine("5 - Вывести все группы"); - Console.WriteLine("6 - Добавить группу"); - Console.WriteLine("7 - Изменить название группы"); - Console.Write("Введите номер команды: "); - - switch (Convert.ToInt32(Console.ReadLine())) + switch (command) { - // вывести всех пользователей - case 1: _userConsoleUI.DisplayAllUsers(); break; - - // удалить пользователя по guid - case 2: - Console.Write("Введите guid пользователя: "); - _userConsoleUI.RemoveUserByGuid(Guid.Parse(Console.ReadLine())); + case "1": + // Отображение всех пользователей + _userConsoleUI.DisplayAllUsers(); break; - // обновить пользователя по guid - case 3: - Console.Write("Введите GUID пользователя для обновления: "); - _userConsoleUI.UpdateUserGuid(Guid.Parse(Console.ReadLine())); + case "2": + // Удаление пользователя по ID + Console.Write("Введите ID пользователя для удаления: "); + string inputGuid = Console.ReadLine(); + if (Guid.TryParse(inputGuid, out Guid userGuid)) + { + _userConsoleUI.RemoveUserById(userGuid); + } + else + { + Console.WriteLine("Неверный формат ID"); + } break; - // найти пользователя по guid - case 4: - Console.Write("Введите GUID пользователя: "); - _userConsoleUI.GetUserByGuid(Guid.Parse(Console.ReadLine())); break; + case "3": + // Обновление пользователя по ID + Console.Write("Введите ID пользователя для обновления: "); + string updateGuidInput = Console.ReadLine(); + if (Guid.TryParse(updateGuidInput, out Guid updateUserGuid)) + { + _userConsoleUI.UpdateUserById(updateUserGuid); + } + else + { + Console.WriteLine("Неверный формат ID"); + } + break; - // вывести все группы - case 5: _groupConsoleUI.AllGroups(); break; + case "4": + // Поиск пользователя по ID + Console.Write("Введите ID пользователя для поиска: "); + string findGuidInput = Console.ReadLine(); + if (Guid.TryParse(findGuidInput, out Guid findUserGuid)) + { + _userConsoleUI.FindUserById(findUserGuid); + } + else + { + Console.WriteLine("Неверный формат ID"); + } + break; - // добавить группу - case 6: + case "5": + // Отображение всех групп + _groupConsoleUI.DisplayAllGroups(); + break; + + case "6": + // Добавление новой группы Console.Write("Введите название новой группы: "); - _groupConsoleUI.CreateGroup(Console.ReadLine()); break; - - // изменить название группы - case 7: - Console.Write("Введите ID группы: "); - int id = Convert.ToInt32(Console.ReadLine()); - Console.Write("Введи новое название: "); - string name = Console.ReadLine(); - _groupConsoleUI.UpdateNameGroup(id, name); + string newGroupName = Console.ReadLine(); + _groupConsoleUI.AddGroup(newGroupName); break; - default: DisplayMenu(); + case "7": + // Удаление группы + Console.Write("Введите ID группы для удаления: "); + + string groupIdForDelete = Console.ReadLine(); + + _groupConsoleUI.RemoveGroup(groupIdForDelete); + break; + + case "8": + // Изменение названия группы + Console.Write("Введите ID группы для изменения: "); + if (int.TryParse(Console.ReadLine(), out int groupId)) + { + Console.Write("Введите новое название группы: "); + string newName = Console.ReadLine(); + + _groupConsoleUI.UpdateGroupName(groupId, newName); + } + else + { + Console.WriteLine("Неверный формат ID группы"); + } + break; + + case "9": + // Поиск группы + Console.Write("Введите ID группы для поиска : "); + if (int.TryParse(Console.ReadLine(), out int IdGroup)) + { + _groupConsoleUI.FindGroupById(IdGroup); + } + break; + + case "10": + // Генерация посещаемости на день + Console.Write("Введите номер первого занятия: "); + int firstLesson = int.Parse(Console.ReadLine()); + + Console.Write("Введите номер последнего занятия: "); + int lastLesson = int.Parse(Console.ReadLine()); + + Console.Write("Введите ID группы: "); + int groupIdForPresence = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.GeneratePresenceForDay(DateTime.Now, groupIdForPresence, firstLesson, lastLesson); + Console.WriteLine("Посещаемость на день сгенерирована."); + break; + + case "11": + // Генерация посещаемости на неделю + Console.Write("Введите номер первого занятия: "); + int firstLessonForWeek = int.Parse(Console.ReadLine()); + + Console.Write("Введите номер последнего занятия: "); + int lastLessonForWeek = int.Parse(Console.ReadLine()); + + Console.Write("Введите ID группы: "); + int groupIdForWeekPresence = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.GeneratePresenceForWeek(DateTime.Now, groupIdForWeekPresence, firstLessonForWeek, lastLessonForWeek); + Console.WriteLine("Посещаемость на неделю сгенерирована."); + break; + + case "12": + // Отображение посещаемости + Console.Write("Введите дату (гггг-мм-дд): "); + DateTime date = DateTime.Parse(Console.ReadLine()); + Console.Write("Введите ID группы: "); + int groupForPresenceView = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.DisplayPresence(date, groupForPresenceView); + break; + + case "13": + // Отметить пользователя как отсутствующего + Console.Write("Введите ID пользователя: "); + userGuid = Guid.Parse(Console.ReadLine()); + + Console.Write("Введите номер первого занятия: "); + int firstAbsLesson = int.Parse(Console.ReadLine()); + + Console.Write("Введите номер последнего занятия: "); + int lastAbsLesson = int.Parse(Console.ReadLine()); + + Console.Write("Введите ID группы: "); + int absGroupId = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.MarkUserAbsent(DateTime.Now, absGroupId, userGuid, firstAbsLesson, lastAbsLesson); + Console.WriteLine("Пользователь отмечен как отсутствующий."); + break; + + case "14": + Console.Write("Введите ID группы: "); + int groupIdForAllPresence = int.Parse(Console.ReadLine()); + + _presenceConsoleUI.DisplayAllPresenceByGroup(groupIdForAllPresence); + break; + + + case "0": + Console.WriteLine("Выход..."); + return; + + default: + Console.WriteLine("Неверный выбор, попробуйте снова."); break; } Console.WriteLine(); + Console.WriteLine(); + Console.WriteLine(); } } - } -} +} \ No newline at end of file diff --git a/Demo/UI/PresenceConsole.cs b/Demo/UI/PresenceConsole.cs new file mode 100644 index 0000000..9684c7e --- /dev/null +++ b/Demo/UI/PresenceConsole.cs @@ -0,0 +1,149 @@ +using Demo.domain.Models; +using Demo.Domain.UseCase; +using System; +using System.Collections.Generic; + +namespace Demo.UI +{ + public class PresenceConsole + { + private readonly UseCaseGeneratePresence _presenceUseCase; + + public PresenceConsole(UseCaseGeneratePresence presenceUseCase) + { + _presenceUseCase = presenceUseCase; + } + + // Метод для генерации посещаемости на день + public void GeneratePresenceForDay(DateTime date, int groupId, int firstLesson, int lastLesson) + { + try + { + _presenceUseCase.GeneratePresenceDaily(firstLesson, lastLesson, groupId, date); + Console.WriteLine("Посещаемость на день успешно сгенерирована."); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при генерации посещаемости: {ex.Message}"); + } + } + + // Метод для генерации посещаемости на неделю + public void GeneratePresenceForWeek(DateTime date, int groupId, int firstLesson, int lastLesson) + { + try + { + _presenceUseCase.GenerateWeeklyPresence(firstLesson, lastLesson, groupId, date); + Console.WriteLine("Посещаемость на неделю успешно сгенерирована."); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при генерации посещаемости: {ex.Message}"); + } + } + + // Метод для отображения посещаемости на конкретную дату и группу + public void DisplayPresence(DateTime date, int groupId) + { + try + { + List presences = _presenceUseCase.GetPresenceByDateAndGroup(groupId, date); + + if (presences == null || presences.Count == 0) + { + Console.WriteLine("Нет данных о посещаемости на выбранную дату."); + return; + } + + Console.WriteLine($"\n Посещаемость на {date:dd.MM.yyyy} "); + Console.WriteLine("-----------------------------------------------------"); + + // Сохраняем номер занятия для сравнения + int previousLessonNumber = -1; + + foreach (var presence in presences) + { + // Проверяем, изменился ли номер занятия + if (previousLessonNumber != presence.LessonNumber) + { + Console.WriteLine("-----------------------------------------------------"); + Console.WriteLine($" Занятие: {presence.LessonNumber} "); + Console.WriteLine("-----------------------------------------------------"); + previousLessonNumber = presence.LessonNumber; + } + + // Форматируем статус присутствия + string status = presence.IsAttedance ? "Присутствует" : "Отсутствует"; + Console.WriteLine($"Пользователь (ID: {presence.UserGuid}) - Статус: {status}"); + } + + Console.WriteLine("-----------------------------------------------------"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при отображении посещаемости: {ex.Message}"); + } + } + + + public void MarkUserAbsent(DateTime date, int groupId, Guid userGuid, int firstLesson, int lastLesson) + { + _presenceUseCase.MarkUserAbsentForLessons(userGuid, groupId, firstLesson, lastLesson, date); + } + + + + + public void DisplayAllPresenceByGroup(int groupId) + { + try + { + var presences = _presenceUseCase.GetAllPresenceByGroup(groupId); + + if (presences == null || !presences.Any()) + { + Console.WriteLine($"Нет данных о посещаемости для группы с ID: {groupId}."); + return; + } + + // Группируем записи посещаемости по дате + var groupedPresences = presences.GroupBy(p => p.Date); + + foreach (var group in groupedPresences) + { + Console.WriteLine("==================================================="); + Console.WriteLine($" Дата: {group.Key:dd.MM.yyyy} "); + Console.WriteLine("==================================================="); + + // Сохраняем номер занятия для сравнения + int previousLessonNumber = -1; + + foreach (var presence in group) + { + // Проверяем, изменился ли номер занятия + if (previousLessonNumber != presence.LessonNumber) + { + Console.WriteLine("---------------------------------------------------"); + Console.WriteLine($" Занятие: {presence.LessonNumber} "); + Console.WriteLine("---------------------------------------------------"); + previousLessonNumber = presence.LessonNumber; + } + + // Форматируем статус присутствия + string status = presence.IsAttedance ? "✅ Присутствует" : "❌ Отсутствует"; + Console.WriteLine($"Пользователь (ID: {presence.UserGuid}) - Статус: {status}"); + } + + Console.WriteLine("---------------------------------------------------"); + } + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при отображении посещаемости: {ex.Message}"); + } + } + + + + } +} diff --git a/Demo/UI/UserConsole.cs b/Demo/UI/UserConsole.cs index 3f290bc..31c2d19 100644 --- a/Demo/UI/UserConsole.cs +++ b/Demo/UI/UserConsole.cs @@ -1,51 +1,74 @@ using Demo.Domain.UseCase; -using Demo.domain.Models; using System; -using System.Collections.Generic; -using System.Linq; using System.Text; -using System.Threading.Tasks; namespace Demo.UI { public class UserConsoleUI { - UserUseCase _userUseCase; - public UserConsoleUI(UserUseCase userUseCase) { + private readonly UserUseCase _userUseCase; + + public UserConsoleUI(UserUseCase userUseCase) + { _userUseCase = userUseCase; } - public void RemoveUserByGuid(Guid guidUser) - { - - string output = _userUseCase.RemoveUserByGuid(guidUser) ? "Пользователь удален" : "Пользователь не удален"; - Console.WriteLine(output); - } - + // Метод для отображения всех пользователей public void DisplayAllUsers() { + Console.WriteLine("\n=== Список всех пользователей ==="); StringBuilder userOutput = new StringBuilder(); + foreach (var user in _userUseCase.GetAllUsers()) { userOutput.AppendLine($"{user.Guid}\t{user.FIO}\t{user.Group.Name}"); } + Console.WriteLine(userOutput); + Console.WriteLine("===============================\n"); } - public void UpdateUserGuid(Guid guidUser) + // Метод для удаления пользователя по ID + public void RemoveUserById(Guid userGuid) { - var user = _userUseCase.FindUserByGuid(guidUser); - Console.WriteLine($"Текущие данные: {user.FIO}, {user.Group.Name}"); - Console.Write("Введите новое ФИО: "); - string newFIO = Console.ReadLine(); - user.FIO = newFIO; - _userUseCase.UpdateUser(user); + string output = _userUseCase.RemoveUserById(userGuid) ? "Пользователь удален" : "Пользователь не найден"; + Console.WriteLine($"\n{output}\n"); } - public void GetUserByGuid(Guid guidUser) + // Метод для обновления пользователя по ID + public void UpdateUserById(Guid userGuid) { - var user = _userUseCase.FindUserByGuid(guidUser); - Console.WriteLine($"Пользователь найден: {user.Guid}, {user.FIO}, {user.Group.Name}"); + try + { + var user = _userUseCase.FindUserById(userGuid); + + Console.WriteLine($"Текущие данные: {user.FIO}, {user.Group.Name}"); + Console.Write("\nВведите новое ФИО: "); + string newFIO = Console.ReadLine(); + + user.FIO = newFIO; + _userUseCase.UpdateUser(user); + + Console.WriteLine("\nПользователь обновлен.\n"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка: {ex.Message}\n"); + } + } + + // Метод для поиска пользователя по ID + public void FindUserById(Guid userGuid) + { + var user = _userUseCase.FindUserById(userGuid); + if (user != null) + { + Console.WriteLine($"\nПользователь найден: {user.Guid}, {user.FIO}, {user.Group.Name}\n"); + } + else + { + Console.WriteLine("\nПользователь не найден.\n"); + } } } } diff --git a/Demo/bin/Debug/net8.0/Demo.deps.json b/Demo/bin/Debug/net8.0/Demo.deps.json index 34d15c4..72cb31a 100644 --- a/Demo/bin/Debug/net8.0/Demo.deps.json +++ b/Demo/bin/Debug/net8.0/Demo.deps.json @@ -7,10 +7,540 @@ "targets": { ".NETCoreApp,Version=v8.0": { "Demo/1.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Design": "8.0.10", + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.10" + }, "runtime": { "Demo.dll": {} } - } + }, + "Humanizer.Core/2.14.1": { + "runtime": { + "lib/net6.0/Humanizer.dll": { + "assemblyVersion": "2.14.0.0", + "fileVersion": "2.14.1.48190" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "runtime": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": {}, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "3.3.3", + "System.Collections.Immutable": "6.0.0", + "System.Reflection.Metadata": "6.0.1", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encoding.CodePages": "6.0.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll": { + "assemblyVersion": "4.5.0.0", + "fileVersion": "4.500.23.10905" + } + }, + "resources": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Common": "4.5.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll": { + "assemblyVersion": "4.5.0.0", + "fileVersion": "4.500.23.10905" + } + }, + "resources": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp": "4.5.0", + "Microsoft.CodeAnalysis.Common": "4.5.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.5.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.dll": { + "assemblyVersion": "4.5.0.0", + "fileVersion": "4.500.23.10905" + } + }, + "resources": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.Bcl.AsyncInterfaces": "6.0.0", + "Microsoft.CodeAnalysis.Common": "4.5.0", + "System.Composition": "6.0.0", + "System.IO.Pipelines": "6.0.3", + "System.Threading.Channels": "6.0.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.dll": { + "assemblyVersion": "4.5.0.0", + "fileVersion": "4.500.23.10905" + } + }, + "resources": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {}, + "Microsoft.EntityFrameworkCore.Design/8.0.10": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Mono.TextTemplating": "2.2.1" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Design.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyModel/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "8.0.0.2", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Mono.TextTemplating/2.2.1": { + "dependencies": { + "System.CodeDom": "4.4.0" + }, + "runtime": { + "lib/netstandard2.0/Mono.TextTemplating.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.1.1" + } + } + }, + "Npgsql/8.0.5": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "assemblyVersion": "8.0.5.0", + "fileVersion": "8.0.5.0" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.10.0" + } + } + }, + "System.CodeDom/4.4.0": { + "runtime": { + "lib/netstandard2.0/System.CodeDom.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.6.25519.3" + } + } + }, + "System.Collections.Immutable/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Composition/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Convention": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0", + "System.Composition.TypedParts": "6.0.0" + } + }, + "System.Composition.AttributedModel/6.0.0": { + "runtime": { + "lib/net6.0/System.Composition.AttributedModel.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Composition.Convention/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0" + }, + "runtime": { + "lib/net6.0/System.Composition.Convention.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Composition.Hosting/6.0.0": { + "dependencies": { + "System.Composition.Runtime": "6.0.0" + }, + "runtime": { + "lib/net6.0/System.Composition.Hosting.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Composition.Runtime/6.0.0": { + "runtime": { + "lib/net6.0/System.Composition.Runtime.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Composition.TypedParts/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0" + }, + "runtime": { + "lib/net6.0/System.Composition.TypedParts.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.IO.Pipelines/6.0.3": { + "runtime": { + "lib/net6.0/System.IO.Pipelines.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.522.21309" + } + } + }, + "System.Reflection.Metadata/6.0.1": { + "dependencies": { + "System.Collections.Immutable": "6.0.0" + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Text.Encoding.CodePages/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Threading.Channels/6.0.0": {} } }, "libraries": { @@ -18,6 +548,272 @@ "type": "project", "serviceable": false, "sha512": "" + }, + "Humanizer.Core/2.14.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "path": "humanizer.core/2.14.1", + "hashPath": "humanizer.core.2.14.1.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", + "path": "microsoft.bcl.asyncinterfaces/6.0.0", + "hashPath": "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==", + "path": "microsoft.codeanalysis.analyzers/3.3.3", + "hashPath": "microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==", + "path": "microsoft.codeanalysis.common/4.5.0", + "hashPath": "microsoft.codeanalysis.common.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==", + "path": "microsoft.codeanalysis.csharp/4.5.0", + "hashPath": "microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==", + "path": "microsoft.codeanalysis.csharp.workspaces/4.5.0", + "hashPath": "microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==", + "path": "microsoft.codeanalysis.workspaces.common/4.5.0", + "hashPath": "microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "path": "microsoft.entityframeworkcore/8.0.10", + "hashPath": "microsoft.entityframeworkcore.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Design/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uGNjfKvAsql2KHRqxlK5wHo8mMC60G/FecrFKEjJgeIxtUAbSXGOgKGw/gD9flO5Fzzt1C7uxfIcr6ZsMmFkeg==", + "path": "microsoft.entityframeworkcore.design/8.0.10", + "hashPath": "microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "hashPath": "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "path": "microsoft.extensions.caching.memory/8.0.1", + "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==", + "path": "microsoft.extensions.dependencymodel/8.0.2", + "hashPath": "microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "path": "microsoft.extensions.logging/8.0.1", + "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Mono.TextTemplating/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "path": "mono.texttemplating/2.2.1", + "hashPath": "mono.texttemplating.2.2.1.nupkg.sha512" + }, + "Npgsql/8.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "path": "npgsql/8.0.5", + "hashPath": "npgsql.8.0.5.nupkg.sha512" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "path": "npgsql.entityframeworkcore.postgresql/8.0.10", + "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512" + }, + "System.CodeDom/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", + "path": "system.codedom/4.4.0", + "hashPath": "system.codedom.4.4.0.nupkg.sha512" + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "path": "system.collections.immutable/6.0.0", + "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" + }, + "System.Composition/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==", + "path": "system.composition/6.0.0", + "hashPath": "system.composition.6.0.0.nupkg.sha512" + }, + "System.Composition.AttributedModel/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==", + "path": "system.composition.attributedmodel/6.0.0", + "hashPath": "system.composition.attributedmodel.6.0.0.nupkg.sha512" + }, + "System.Composition.Convention/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==", + "path": "system.composition.convention/6.0.0", + "hashPath": "system.composition.convention.6.0.0.nupkg.sha512" + }, + "System.Composition.Hosting/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==", + "path": "system.composition.hosting/6.0.0", + "hashPath": "system.composition.hosting.6.0.0.nupkg.sha512" + }, + "System.Composition.Runtime/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==", + "path": "system.composition.runtime/6.0.0", + "hashPath": "system.composition.runtime.6.0.0.nupkg.sha512" + }, + "System.Composition.TypedParts/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==", + "path": "system.composition.typedparts/6.0.0", + "hashPath": "system.composition.typedparts.6.0.0.nupkg.sha512" + }, + "System.IO.Pipelines/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", + "path": "system.io.pipelines/6.0.3", + "hashPath": "system.io.pipelines.6.0.3.nupkg.sha512" + }, + "System.Reflection.Metadata/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-III/lNMSn0ZRBuM9m5Cgbiho5j81u0FAEagFX5ta2DKbljZ3T0IpD8j+BIiHQPeKqJppWS9bGEp6JnKnWKze0g==", + "path": "system.reflection.metadata/6.0.1", + "hashPath": "system.reflection.metadata.6.0.1.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", + "path": "system.text.encoding.codepages/6.0.0", + "hashPath": "system.text.encoding.codepages.6.0.0.nupkg.sha512" + }, + "System.Threading.Channels/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==", + "path": "system.threading.channels/6.0.0", + "hashPath": "system.threading.channels.6.0.0.nupkg.sha512" } } } \ No newline at end of file diff --git a/Demo/bin/Debug/net8.0/Demo.dll b/Demo/bin/Debug/net8.0/Demo.dll index 85081f2..3c11b27 100644 Binary files a/Demo/bin/Debug/net8.0/Demo.dll and b/Demo/bin/Debug/net8.0/Demo.dll differ diff --git a/Demo/bin/Debug/net8.0/Demo.exe b/Demo/bin/Debug/net8.0/Demo.exe index 5cf5564..c903687 100644 Binary files a/Demo/bin/Debug/net8.0/Demo.exe and b/Demo/bin/Debug/net8.0/Demo.exe differ diff --git a/Demo/bin/Debug/net8.0/Demo.pdb b/Demo/bin/Debug/net8.0/Demo.pdb index 51f0472..e7eb9e7 100644 Binary files a/Demo/bin/Debug/net8.0/Demo.pdb and b/Demo/bin/Debug/net8.0/Demo.pdb differ diff --git a/Demo/bin/Debug/net8.0/Demo.runtimeconfig.json b/Demo/bin/Debug/net8.0/Demo.runtimeconfig.json index becfaea..244e1ab 100644 --- a/Demo/bin/Debug/net8.0/Demo.runtimeconfig.json +++ b/Demo/bin/Debug/net8.0/Demo.runtimeconfig.json @@ -6,6 +6,7 @@ "version": "8.0.0" }, "configProperties": { + "System.Reflection.NullabilityInfoContext.IsSupported": true, "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false } } diff --git a/Demo/bin/Debug/net8.0/Humanizer.dll b/Demo/bin/Debug/net8.0/Humanizer.dll new file mode 100644 index 0000000..c9a7ef8 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Humanizer.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll b/Demo/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..fe6ba4c Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll b/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll new file mode 100644 index 0000000..dc218f9 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.dll b/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.dll new file mode 100644 index 0000000..412e7ed Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.Workspaces.dll b/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.Workspaces.dll new file mode 100644 index 0000000..8dec441 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.Workspaces.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.dll b/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.dll new file mode 100644 index 0000000..79e9046 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.CodeAnalysis.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll b/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll new file mode 100644 index 0000000..2169cf8 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Design.dll b/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Design.dll new file mode 100644 index 0000000..7ba3d94 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Design.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Relational.dll b/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Relational.dll new file mode 100644 index 0000000..f8c58d0 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Relational.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.dll b/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.dll new file mode 100644 index 0000000..b628ed6 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 0000000..99aac98 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.Caching.Memory.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 0000000..077b1b6 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll new file mode 100644 index 0000000..a5ab313 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000..81ed3de Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll new file mode 100644 index 0000000..bd71a2b Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyModel.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyModel.dll new file mode 100644 index 0000000..8905537 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyModel.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 0000000..f9d1dc6 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll new file mode 100644 index 0000000..35905b6 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.Options.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Options.dll new file mode 100644 index 0000000..a7b3f21 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Options.dll differ diff --git a/Demo/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll new file mode 100644 index 0000000..c24f2a0 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Microsoft.Extensions.Primitives.dll differ diff --git a/Demo/bin/Debug/net8.0/Mono.TextTemplating.dll b/Demo/bin/Debug/net8.0/Mono.TextTemplating.dll new file mode 100644 index 0000000..d5a4b3c Binary files /dev/null and b/Demo/bin/Debug/net8.0/Mono.TextTemplating.dll differ diff --git a/Demo/bin/Debug/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll b/Demo/bin/Debug/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll new file mode 100644 index 0000000..4b4f0fc Binary files /dev/null and b/Demo/bin/Debug/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll differ diff --git a/Demo/bin/Debug/net8.0/Npgsql.dll b/Demo/bin/Debug/net8.0/Npgsql.dll new file mode 100644 index 0000000..fde1387 Binary files /dev/null and b/Demo/bin/Debug/net8.0/Npgsql.dll differ diff --git a/Demo/bin/Debug/net8.0/System.CodeDom.dll b/Demo/bin/Debug/net8.0/System.CodeDom.dll new file mode 100644 index 0000000..3128b6a Binary files /dev/null and b/Demo/bin/Debug/net8.0/System.CodeDom.dll differ diff --git a/Demo/bin/Debug/net8.0/System.Composition.AttributedModel.dll b/Demo/bin/Debug/net8.0/System.Composition.AttributedModel.dll new file mode 100644 index 0000000..d37283b Binary files /dev/null and b/Demo/bin/Debug/net8.0/System.Composition.AttributedModel.dll differ diff --git a/Demo/bin/Debug/net8.0/System.Composition.Convention.dll b/Demo/bin/Debug/net8.0/System.Composition.Convention.dll new file mode 100644 index 0000000..b6fa4ab Binary files /dev/null and b/Demo/bin/Debug/net8.0/System.Composition.Convention.dll differ diff --git a/Demo/bin/Debug/net8.0/System.Composition.Hosting.dll b/Demo/bin/Debug/net8.0/System.Composition.Hosting.dll new file mode 100644 index 0000000..c67f1c0 Binary files /dev/null and b/Demo/bin/Debug/net8.0/System.Composition.Hosting.dll differ diff --git a/Demo/bin/Debug/net8.0/System.Composition.Runtime.dll b/Demo/bin/Debug/net8.0/System.Composition.Runtime.dll new file mode 100644 index 0000000..2a4b38c Binary files /dev/null and b/Demo/bin/Debug/net8.0/System.Composition.Runtime.dll differ diff --git a/Demo/bin/Debug/net8.0/System.Composition.TypedParts.dll b/Demo/bin/Debug/net8.0/System.Composition.TypedParts.dll new file mode 100644 index 0000000..7c0c780 Binary files /dev/null and b/Demo/bin/Debug/net8.0/System.Composition.TypedParts.dll differ diff --git a/Demo/bin/Debug/net8.0/System.IO.Pipelines.dll b/Demo/bin/Debug/net8.0/System.IO.Pipelines.dll new file mode 100644 index 0000000..8ee4dfd Binary files /dev/null and b/Demo/bin/Debug/net8.0/System.IO.Pipelines.dll differ diff --git a/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..b08ba21 Binary files /dev/null and b/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..eba2a5a Binary files /dev/null and b/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..ff203e1 Binary files /dev/null and b/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..fe89036 Binary files /dev/null and b/Demo/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..3dda417 Binary files /dev/null and b/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..4d3bd0a Binary files /dev/null and b/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..c41bb1f Binary files /dev/null and b/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..05845f2 Binary files /dev/null and b/Demo/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..1e5038d Binary files /dev/null and b/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..456ac85 Binary files /dev/null and b/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..7bb3187 Binary files /dev/null and b/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..01edef3 Binary files /dev/null and b/Demo/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..de36d31 Binary files /dev/null and b/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..71d6443 Binary files /dev/null and b/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..23107b9 Binary files /dev/null and b/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..291cf9b Binary files /dev/null and b/Demo/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..ef0d337 Binary files /dev/null and b/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..f266330 Binary files /dev/null and b/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..6affe5c Binary files /dev/null and b/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..263bd04 Binary files /dev/null and b/Demo/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..a94da35 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..c94e8e6 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..6e0e837 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..212267a Binary files /dev/null and b/Demo/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..1fae94d Binary files /dev/null and b/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..b2e573c Binary files /dev/null and b/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..fdbe6ff Binary files /dev/null and b/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..5fee24c Binary files /dev/null and b/Demo/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..9533b36 Binary files /dev/null and b/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..fa25298 Binary files /dev/null and b/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..1297d58 Binary files /dev/null and b/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..8af36a3 Binary files /dev/null and b/Demo/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..197797b Binary files /dev/null and b/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..0fd342c Binary files /dev/null and b/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..c09c2ab Binary files /dev/null and b/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..d6eaab6 Binary files /dev/null and b/Demo/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..ecfe483 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..e9133a5 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..baa7776 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..74714d8 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..2fbf86e Binary files /dev/null and b/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..4c57b04 Binary files /dev/null and b/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..b551e37 Binary files /dev/null and b/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..8758fff Binary files /dev/null and b/Demo/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..de4fe51 Binary files /dev/null and b/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..67b261c Binary files /dev/null and b/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..c6b8d86 Binary files /dev/null and b/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..a14ec60 Binary files /dev/null and b/Demo/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..2d39791 Binary files /dev/null and b/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll b/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..86802cf Binary files /dev/null and b/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll b/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..691a8fa Binary files /dev/null and b/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll b/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..e8e4ee0 Binary files /dev/null and b/Demo/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll differ diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs index bdefd6e..2bbef24 100644 --- a/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Demo")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+685c86d2ec0c7fc11e7d69b1d6f6e4616173b7a3")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+eb85148c583d38758179d39bea272bfa96e83628")] [assembly: System.Reflection.AssemblyProductAttribute("Demo")] [assembly: System.Reflection.AssemblyTitleAttribute("Demo")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache index bf9a844..6e84866 100644 --- a/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache @@ -1 +1 @@ -3f2e0074bb47c317bee9bc70ebedb92521800139988cb3eea2c3cce057f7c42e +6048b158de0c96d21a8cd288696c5374a197719f68c049c51acddd9d031dd910 diff --git a/Demo/obj/Debug/net8.0/Demo.assets.cache b/Demo/obj/Debug/net8.0/Demo.assets.cache index 8a14972..ac1b790 100644 Binary files a/Demo/obj/Debug/net8.0/Demo.assets.cache and b/Demo/obj/Debug/net8.0/Demo.assets.cache differ diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache b/Demo/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache new file mode 100644 index 0000000..5b74035 Binary files /dev/null and b/Demo/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache differ diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache index 1348976..9056788 100644 --- a/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache +++ b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -2fd5302764dc9381aee037b8a9d299528ab55aa4f77f64c12a39c0fab6427860 +23aed28fc728d8e8546dfdab1b806359f5f7660aa0402e40b7b818b820e22ec1 diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt b/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt index b6a7fe4..c653a47 100644 --- a/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt +++ b/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt @@ -26,3 +26,87 @@ C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\obj\Debug\net8.0\refint\Demo.d C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\obj\Debug\net8.0\Demo.pdb C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\obj\Debug\net8.0\ref\Demo.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Humanizer.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Bcl.AsyncInterfaces.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.Workspaces.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Design.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Abstractions.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.Options.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Mono.TextTemplating.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Npgsql.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\System.CodeDom.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\System.Composition.AttributedModel.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\System.Composition.Convention.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\System.Composition.Hosting.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\System.Composition.Runtime.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\System.Composition.TypedParts.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\System.IO.Pipelines.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\obj\Debug\net8.0\Demo.csproj.AssemblyReference.cache +C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\obj\Debug\net8.0\Demo.csproj.Up2Date diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.Up2Date b/Demo/obj/Debug/net8.0/Demo.csproj.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/Demo/obj/Debug/net8.0/Demo.dll b/Demo/obj/Debug/net8.0/Demo.dll index 85081f2..3c11b27 100644 Binary files a/Demo/obj/Debug/net8.0/Demo.dll and b/Demo/obj/Debug/net8.0/Demo.dll differ diff --git a/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache b/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache index 1c854e0..f869c41 100644 --- a/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache +++ b/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache @@ -1 +1 @@ -ac949e3dea345fa2a8fe1793a4200a2ed3f72794a755776994eef7675d0b2907 +bec25b4a8192cb35f6736d00541034cca68d54580ab51edc56a8af6724081a66 diff --git a/Demo/obj/Debug/net8.0/Demo.pdb b/Demo/obj/Debug/net8.0/Demo.pdb index 51f0472..e7eb9e7 100644 Binary files a/Demo/obj/Debug/net8.0/Demo.pdb and b/Demo/obj/Debug/net8.0/Demo.pdb differ diff --git a/Demo/obj/Debug/net8.0/apphost.exe b/Demo/obj/Debug/net8.0/apphost.exe index 5cf5564..c903687 100644 Binary files a/Demo/obj/Debug/net8.0/apphost.exe and b/Demo/obj/Debug/net8.0/apphost.exe differ diff --git a/Demo/obj/Debug/net8.0/ref/Demo.dll b/Demo/obj/Debug/net8.0/ref/Demo.dll index c21c645..42dd138 100644 Binary files a/Demo/obj/Debug/net8.0/ref/Demo.dll and b/Demo/obj/Debug/net8.0/ref/Demo.dll differ diff --git a/Demo/obj/Debug/net8.0/refint/Demo.dll b/Demo/obj/Debug/net8.0/refint/Demo.dll index c21c645..42dd138 100644 Binary files a/Demo/obj/Debug/net8.0/refint/Demo.dll and b/Demo/obj/Debug/net8.0/refint/Demo.dll differ diff --git a/Demo/obj/Demo.csproj.EntityFrameworkCore.targets b/Demo/obj/Demo.csproj.EntityFrameworkCore.targets new file mode 100644 index 0000000..7d6485d --- /dev/null +++ b/Demo/obj/Demo.csproj.EntityFrameworkCore.targets @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/obj/Demo.csproj.nuget.dgspec.json b/Demo/obj/Demo.csproj.nuget.dgspec.json index 7e43f0d..f94b367 100644 --- a/Demo/obj/Demo.csproj.nuget.dgspec.json +++ b/Demo/obj/Demo.csproj.nuget.dgspec.json @@ -44,6 +44,26 @@ "frameworks": { "net8.0": { "targetAlias": "net8.0", + "dependencies": { + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[8.0.10, )" + }, + "Microsoft.EntityFrameworkCore.Design": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", + "suppressParent": "All", + "target": "Package", + "version": "[8.0.10, )" + }, + "Microsoft.Extensions.DependencyInjection": { + "target": "Package", + "version": "[8.0.1, )" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL": { + "target": "Package", + "version": "[8.0.10, )" + } + }, "imports": [ "net461", "net462", diff --git a/Demo/obj/Demo.csproj.nuget.g.props b/Demo/obj/Demo.csproj.nuget.g.props index 62bb66c..5f6ddf5 100644 --- a/Demo/obj/Demo.csproj.nuget.g.props +++ b/Demo/obj/Demo.csproj.nuget.g.props @@ -12,4 +12,11 @@ + + + + + + C:\Users\VivoBook 15X\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3 + \ No newline at end of file diff --git a/Demo/obj/Demo.csproj.nuget.g.targets b/Demo/obj/Demo.csproj.nuget.g.targets index 3dc06ef..baac958 100644 --- a/Demo/obj/Demo.csproj.nuget.g.targets +++ b/Demo/obj/Demo.csproj.nuget.g.targets @@ -1,2 +1,7 @@  - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/Demo/obj/project.assets.json b/Demo/obj/project.assets.json index ecb08ea..c58f44e 100644 --- a/Demo/obj/project.assets.json +++ b/Demo/obj/project.assets.json @@ -1,11 +1,2114 @@ { "version": 3, "targets": { - "net8.0": {} + "net8.0": { + "Humanizer.Core/2.14.1": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Humanizer.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.1/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "related": ".xml" + } + } + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": { + "type": "package", + "build": { + "build/_._": {} + } + }, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "type": "package", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "3.3.3", + "System.Collections.Immutable": "6.0.0", + "System.Reflection.Metadata": "6.0.1", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encoding.CodePages": "6.0.0" + }, + "compile": { + "lib/netcoreapp3.1/_._": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll": { + "related": ".pdb;.xml" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "type": "package", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[4.5.0]" + }, + "compile": { + "lib/netcoreapp3.1/_._": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll": { + "related": ".pdb;.xml" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp": "[4.5.0]", + "Microsoft.CodeAnalysis.Common": "[4.5.0]", + "Microsoft.CodeAnalysis.Workspaces.Common": "[4.5.0]" + }, + "compile": { + "lib/netcoreapp3.1/_._": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.dll": { + "related": ".pdb;.xml" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.Bcl.AsyncInterfaces": "6.0.0", + "Microsoft.CodeAnalysis.Common": "[4.5.0]", + "System.Composition": "6.0.0", + "System.IO.Pipelines": "6.0.3", + "System.Threading.Channels": "6.0.0" + }, + "compile": { + "lib/netcoreapp3.1/_._": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.dll": { + "related": ".pdb;.xml" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props": {} + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + } + }, + "Microsoft.EntityFrameworkCore.Design/8.0.10": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Mono.TextTemplating": "2.2.1" + }, + "compile": { + "lib/net8.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Design.dll": { + "related": ".xml" + } + }, + "build": { + "build/net8.0/Microsoft.EntityFrameworkCore.Design.props": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyModel/8.0.2": { + "type": "package", + "compile": { + "lib/net8.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {} + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Mono.TextTemplating/2.2.1": { + "type": "package", + "dependencies": { + "System.CodeDom": "4.4.0" + }, + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/Mono.TextTemplating.dll": {} + } + }, + "Npgsql/8.0.5": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "compile": { + "lib/net8.0/Npgsql.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "related": ".xml" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.5" + }, + "compile": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "related": ".xml" + } + } + }, + "System.CodeDom/4.4.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.CodeDom.dll": {} + } + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Collections.Immutable.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition/6.0.0": { + "type": "package", + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Convention": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0", + "System.Composition.TypedParts": "6.0.0" + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.AttributedModel/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.AttributedModel.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.Convention/6.0.0": { + "type": "package", + "dependencies": { + "System.Composition.AttributedModel": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.Convention.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.Hosting/6.0.0": { + "type": "package", + "dependencies": { + "System.Composition.Runtime": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.Hosting.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.Runtime/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.Runtime.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Composition.TypedParts/6.0.0": { + "type": "package", + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Composition.TypedParts.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.IO.Pipelines/6.0.3": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.IO.Pipelines.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Reflection.Metadata/6.0.1": { + "type": "package", + "dependencies": { + "System.Collections.Immutable": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Reflection.Metadata.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Text.Encoding.CodePages/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Text.Encoding.CodePages.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/win/lib/net6.0/System.Text.Encoding.CodePages.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Threading.Channels/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Threading.Channels.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + } + } + }, + "libraries": { + "Humanizer.Core/2.14.1": { + "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "type": "package", + "path": "humanizer.core/2.14.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "humanizer.core.2.14.1.nupkg.sha512", + "humanizer.core.nuspec", + "lib/net6.0/Humanizer.dll", + "lib/net6.0/Humanizer.xml", + "lib/netstandard1.0/Humanizer.dll", + "lib/netstandard1.0/Humanizer.xml", + "lib/netstandard2.0/Humanizer.dll", + "lib/netstandard2.0/Humanizer.xml", + "logo.png" + ] + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "sha512": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", + "type": "package", + "path": "microsoft.bcl.asyncinterfaces/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/net461/Microsoft.Bcl.AsyncInterfaces.xml", + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml", + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml", + "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", + "microsoft.bcl.asyncinterfaces.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": { + "sha512": "j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==", + "type": "package", + "path": "microsoft.codeanalysis.analyzers/3.3.3", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.Analyzers.resources.dll", + "build/Microsoft.CodeAnalysis.Analyzers.props", + "build/Microsoft.CodeAnalysis.Analyzers.targets", + "build/config/analysislevel_2_9_8_all.editorconfig", + "build/config/analysislevel_2_9_8_default.editorconfig", + "build/config/analysislevel_2_9_8_minimum.editorconfig", + "build/config/analysislevel_2_9_8_none.editorconfig", + "build/config/analysislevel_2_9_8_recommended.editorconfig", + "build/config/analysislevel_3_3_all.editorconfig", + "build/config/analysislevel_3_3_default.editorconfig", + "build/config/analysislevel_3_3_minimum.editorconfig", + "build/config/analysislevel_3_3_none.editorconfig", + "build/config/analysislevel_3_3_recommended.editorconfig", + "build/config/analysislevel_3_all.editorconfig", + "build/config/analysislevel_3_default.editorconfig", + "build/config/analysislevel_3_minimum.editorconfig", + "build/config/analysislevel_3_none.editorconfig", + "build/config/analysislevel_3_recommended.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_all.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_default.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_minimum.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_none.editorconfig", + "build/config/analysislevelcorrectness_2_9_8_recommended.editorconfig", + "build/config/analysislevelcorrectness_3_3_all.editorconfig", + "build/config/analysislevelcorrectness_3_3_default.editorconfig", + "build/config/analysislevelcorrectness_3_3_minimum.editorconfig", + "build/config/analysislevelcorrectness_3_3_none.editorconfig", + "build/config/analysislevelcorrectness_3_3_recommended.editorconfig", + "build/config/analysislevelcorrectness_3_all.editorconfig", + "build/config/analysislevelcorrectness_3_default.editorconfig", + "build/config/analysislevelcorrectness_3_minimum.editorconfig", + "build/config/analysislevelcorrectness_3_none.editorconfig", + "build/config/analysislevelcorrectness_3_recommended.editorconfig", + "build/config/analysislevellibrary_2_9_8_all.editorconfig", + "build/config/analysislevellibrary_2_9_8_default.editorconfig", + "build/config/analysislevellibrary_2_9_8_minimum.editorconfig", + "build/config/analysislevellibrary_2_9_8_none.editorconfig", + "build/config/analysislevellibrary_2_9_8_recommended.editorconfig", + "build/config/analysislevellibrary_3_3_all.editorconfig", + "build/config/analysislevellibrary_3_3_default.editorconfig", + "build/config/analysislevellibrary_3_3_minimum.editorconfig", + "build/config/analysislevellibrary_3_3_none.editorconfig", + "build/config/analysislevellibrary_3_3_recommended.editorconfig", + "build/config/analysislevellibrary_3_all.editorconfig", + "build/config/analysislevellibrary_3_default.editorconfig", + "build/config/analysislevellibrary_3_minimum.editorconfig", + "build/config/analysislevellibrary_3_none.editorconfig", + "build/config/analysislevellibrary_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscompatibility_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysiscorrectness_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdesign_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisdocumentation_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysislocalization_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisperformance_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_2_9_8_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_3_recommended.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_all.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_default.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_minimum.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_none.editorconfig", + "build/config/analysislevelmicrosoftcodeanalysisreleasetracking_3_recommended.editorconfig", + "documentation/Analyzer Configuration.md", + "documentation/Microsoft.CodeAnalysis.Analyzers.md", + "documentation/Microsoft.CodeAnalysis.Analyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/CorrectnessRulesDefault/.editorconfig", + "editorconfig/CorrectnessRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/LibraryRulesDefault/.editorconfig", + "editorconfig/LibraryRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisCompatibilityRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisCompatibilityRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisCorrectnessRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisCorrectnessRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisDesignRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisDesignRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisDocumentationRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisDocumentationRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisLocalizationRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisLocalizationRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisPerformanceRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisPerformanceRulesEnabled/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisReleaseTrackingRulesDefault/.editorconfig", + "editorconfig/MicrosoftCodeAnalysisReleaseTrackingRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", + "microsoft.codeanalysis.analyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/CorrectnessRulesDefault.ruleset", + "rulesets/CorrectnessRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/LibraryRulesDefault.ruleset", + "rulesets/LibraryRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisCompatibilityRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisCompatibilityRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisCorrectnessRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisCorrectnessRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisDesignRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisDesignRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisDocumentationRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisDocumentationRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisLocalizationRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisLocalizationRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisPerformanceRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisPerformanceRulesEnabled.ruleset", + "rulesets/MicrosoftCodeAnalysisReleaseTrackingRulesDefault.ruleset", + "rulesets/MicrosoftCodeAnalysisReleaseTrackingRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "sha512": "lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==", + "type": "package", + "path": "microsoft.codeanalysis.common/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.pdb", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.xml", + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.pdb", + "lib/netstandard2.0/Microsoft.CodeAnalysis.xml", + "lib/netstandard2.0/cs/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/de/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/es/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/fr/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/it/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/ja/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/ko/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/pl/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/ru/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/tr/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll", + "microsoft.codeanalysis.common.4.5.0.nupkg.sha512", + "microsoft.codeanalysis.common.nuspec" + ] + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "sha512": "cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==", + "type": "package", + "path": "microsoft.codeanalysis.csharp/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.pdb", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.xml", + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.pdb", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.xml", + "lib/netstandard2.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll", + "microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", + "microsoft.codeanalysis.csharp.nuspec" + ] + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "sha512": "h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==", + "type": "package", + "path": "microsoft.codeanalysis.csharp.workspaces/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.dll", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.pdb", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.Workspaces.xml", + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.Workspaces.pdb", + "lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.Workspaces.xml", + "lib/netstandard2.0/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll", + "microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", + "microsoft.codeanalysis.csharp.workspaces.nuspec" + ] + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "sha512": "l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==", + "type": "package", + "path": "microsoft.codeanalysis.workspaces.common/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.rtf", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.dll", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.pdb", + "lib/netcoreapp3.1/Microsoft.CodeAnalysis.Workspaces.xml", + "lib/netcoreapp3.1/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.Workspaces.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.Workspaces.pdb", + "lib/netstandard2.0/Microsoft.CodeAnalysis.Workspaces.xml", + "lib/netstandard2.0/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/de/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/es/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/it/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll", + "microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", + "microsoft.codeanalysis.workspaces.common.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "sha512": "PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "type": "package", + "path": "microsoft.entityframeworkcore/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props", + "lib/net8.0/Microsoft.EntityFrameworkCore.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.xml", + "microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "sha512": "FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "sha512": "51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "docs/PACKAGE.md", + "lib/netstandard2.0/_._", + "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Design/8.0.10": { + "sha512": "uGNjfKvAsql2KHRqxlK5wHo8mMC60G/FecrFKEjJgeIxtUAbSXGOgKGw/gD9flO5Fzzt1C7uxfIcr6ZsMmFkeg==", + "type": "package", + "path": "microsoft.entityframeworkcore.design/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "build/net8.0/Microsoft.EntityFrameworkCore.Design.props", + "lib/net8.0/Microsoft.EntityFrameworkCore.Design.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Design.xml", + "microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.design.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "sha512": "OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "sha512": "3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "sha512": "HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "type": "package", + "path": "microsoft.extensions.caching.memory/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", + "lib/net462/Microsoft.Extensions.Caching.Memory.dll", + "lib/net462/Microsoft.Extensions.Caching.Memory.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "sha512": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "sha512": "BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "sha512": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyModel/8.0.2": { + "sha512": "mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==", + "type": "package", + "path": "microsoft.extensions.dependencymodel/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", + "lib/net462/Microsoft.Extensions.DependencyModel.dll", + "lib/net462/Microsoft.Extensions.DependencyModel.xml", + "lib/net6.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net6.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net7.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net7.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net8.0/Microsoft.Extensions.DependencyModel.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", + "microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", + "microsoft.extensions.dependencymodel.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging/8.0.1": { + "sha512": "4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "type": "package", + "path": "microsoft.extensions.logging/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Logging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", + "lib/net462/Microsoft.Extensions.Logging.dll", + "lib/net462/Microsoft.Extensions.Logging.xml", + "lib/net6.0/Microsoft.Extensions.Logging.dll", + "lib/net6.0/Microsoft.Extensions.Logging.xml", + "lib/net7.0/Microsoft.Extensions.Logging.dll", + "lib/net7.0/Microsoft.Extensions.Logging.xml", + "lib/net8.0/Microsoft.Extensions.Logging.dll", + "lib/net8.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.8.0.1.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "sha512": "nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options/8.0.2": { + "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "type": "package", + "path": "microsoft.extensions.options/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Options.targets", + "buildTransitive/net462/Microsoft.Extensions.Options.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", + "lib/net462/Microsoft.Extensions.Options.dll", + "lib/net462/Microsoft.Extensions.Options.xml", + "lib/net6.0/Microsoft.Extensions.Options.dll", + "lib/net6.0/Microsoft.Extensions.Options.xml", + "lib/net7.0/Microsoft.Extensions.Options.dll", + "lib/net7.0/Microsoft.Extensions.Options.xml", + "lib/net8.0/Microsoft.Extensions.Options.dll", + "lib/net8.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.8.0.2.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "type": "package", + "path": "microsoft.extensions.primitives/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "lib/net462/Microsoft.Extensions.Primitives.dll", + "lib/net462/Microsoft.Extensions.Primitives.xml", + "lib/net6.0/Microsoft.Extensions.Primitives.dll", + "lib/net6.0/Microsoft.Extensions.Primitives.xml", + "lib/net7.0/Microsoft.Extensions.Primitives.dll", + "lib/net7.0/Microsoft.Extensions.Primitives.xml", + "lib/net8.0/Microsoft.Extensions.Primitives.dll", + "lib/net8.0/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Mono.TextTemplating/2.2.1": { + "sha512": "KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "type": "package", + "path": "mono.texttemplating/2.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/Mono.TextTemplating.dll", + "lib/netstandard2.0/Mono.TextTemplating.dll", + "mono.texttemplating.2.2.1.nupkg.sha512", + "mono.texttemplating.nuspec" + ] + }, + "Npgsql/8.0.5": { + "sha512": "zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", + "type": "package", + "path": "npgsql/8.0.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net6.0/Npgsql.dll", + "lib/net6.0/Npgsql.xml", + "lib/net7.0/Npgsql.dll", + "lib/net7.0/Npgsql.xml", + "lib/net8.0/Npgsql.dll", + "lib/net8.0/Npgsql.xml", + "lib/netstandard2.0/Npgsql.dll", + "lib/netstandard2.0/Npgsql.xml", + "lib/netstandard2.1/Npgsql.dll", + "lib/netstandard2.1/Npgsql.xml", + "npgsql.8.0.5.nupkg.sha512", + "npgsql.nuspec", + "postgresql.png" + ] + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.10": { + "sha512": "gFPl9Dmxih7Yi4tZ3bITzZFzbxFMBx04gqTqcjoL2r5VEW+O2TA5UVw/wm/XW26NAJ7sg59Je0+9QrwiZt6MPQ==", + "type": "package", + "path": "npgsql.entityframeworkcore.postgresql/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll", + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.xml", + "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "npgsql.entityframeworkcore.postgresql.nuspec", + "postgresql.png" + ] + }, + "System.CodeDom/4.4.0": { + "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", + "type": "package", + "path": "system.codedom/4.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.CodeDom.dll", + "lib/netstandard2.0/System.CodeDom.dll", + "ref/net461/System.CodeDom.dll", + "ref/net461/System.CodeDom.xml", + "ref/netstandard2.0/System.CodeDom.dll", + "ref/netstandard2.0/System.CodeDom.xml", + "system.codedom.4.4.0.nupkg.sha512", + "system.codedom.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Collections.Immutable/6.0.0": { + "sha512": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "type": "package", + "path": "system.collections.immutable/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Collections.Immutable.dll", + "lib/net461/System.Collections.Immutable.xml", + "lib/net6.0/System.Collections.Immutable.dll", + "lib/net6.0/System.Collections.Immutable.xml", + "lib/netstandard2.0/System.Collections.Immutable.dll", + "lib/netstandard2.0/System.Collections.Immutable.xml", + "system.collections.immutable.6.0.0.nupkg.sha512", + "system.collections.immutable.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition/6.0.0": { + "sha512": "d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==", + "type": "package", + "path": "system.composition/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.targets", + "buildTransitive/netcoreapp3.1/_._", + "system.composition.6.0.0.nupkg.sha512", + "system.composition.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.AttributedModel/6.0.0": { + "sha512": "WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==", + "type": "package", + "path": "system.composition.attributedmodel/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.AttributedModel.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.AttributedModel.dll", + "lib/net461/System.Composition.AttributedModel.xml", + "lib/net6.0/System.Composition.AttributedModel.dll", + "lib/net6.0/System.Composition.AttributedModel.xml", + "lib/netstandard2.0/System.Composition.AttributedModel.dll", + "lib/netstandard2.0/System.Composition.AttributedModel.xml", + "system.composition.attributedmodel.6.0.0.nupkg.sha512", + "system.composition.attributedmodel.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.Convention/6.0.0": { + "sha512": "XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==", + "type": "package", + "path": "system.composition.convention/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.Convention.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.Convention.dll", + "lib/net461/System.Composition.Convention.xml", + "lib/net6.0/System.Composition.Convention.dll", + "lib/net6.0/System.Composition.Convention.xml", + "lib/netstandard2.0/System.Composition.Convention.dll", + "lib/netstandard2.0/System.Composition.Convention.xml", + "system.composition.convention.6.0.0.nupkg.sha512", + "system.composition.convention.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.Hosting/6.0.0": { + "sha512": "w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==", + "type": "package", + "path": "system.composition.hosting/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.Hosting.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.Hosting.dll", + "lib/net461/System.Composition.Hosting.xml", + "lib/net6.0/System.Composition.Hosting.dll", + "lib/net6.0/System.Composition.Hosting.xml", + "lib/netstandard2.0/System.Composition.Hosting.dll", + "lib/netstandard2.0/System.Composition.Hosting.xml", + "system.composition.hosting.6.0.0.nupkg.sha512", + "system.composition.hosting.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.Runtime/6.0.0": { + "sha512": "qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==", + "type": "package", + "path": "system.composition.runtime/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.Runtime.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.Runtime.dll", + "lib/net461/System.Composition.Runtime.xml", + "lib/net6.0/System.Composition.Runtime.dll", + "lib/net6.0/System.Composition.Runtime.xml", + "lib/netstandard2.0/System.Composition.Runtime.dll", + "lib/netstandard2.0/System.Composition.Runtime.xml", + "system.composition.runtime.6.0.0.nupkg.sha512", + "system.composition.runtime.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Composition.TypedParts/6.0.0": { + "sha512": "iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==", + "type": "package", + "path": "system.composition.typedparts/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Composition.TypedParts.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Composition.TypedParts.dll", + "lib/net461/System.Composition.TypedParts.xml", + "lib/net6.0/System.Composition.TypedParts.dll", + "lib/net6.0/System.Composition.TypedParts.xml", + "lib/netstandard2.0/System.Composition.TypedParts.dll", + "lib/netstandard2.0/System.Composition.TypedParts.xml", + "system.composition.typedparts.6.0.0.nupkg.sha512", + "system.composition.typedparts.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.IO.Pipelines/6.0.3": { + "sha512": "ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", + "type": "package", + "path": "system.io.pipelines/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.IO.Pipelines.dll", + "lib/net461/System.IO.Pipelines.xml", + "lib/net6.0/System.IO.Pipelines.dll", + "lib/net6.0/System.IO.Pipelines.xml", + "lib/netcoreapp3.1/System.IO.Pipelines.dll", + "lib/netcoreapp3.1/System.IO.Pipelines.xml", + "lib/netstandard2.0/System.IO.Pipelines.dll", + "lib/netstandard2.0/System.IO.Pipelines.xml", + "system.io.pipelines.6.0.3.nupkg.sha512", + "system.io.pipelines.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Reflection.Metadata/6.0.1": { + "sha512": "III/lNMSn0ZRBuM9m5Cgbiho5j81u0FAEagFX5ta2DKbljZ3T0IpD8j+BIiHQPeKqJppWS9bGEp6JnKnWKze0g==", + "type": "package", + "path": "system.reflection.metadata/6.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Reflection.Metadata.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Reflection.Metadata.dll", + "lib/net461/System.Reflection.Metadata.xml", + "lib/net6.0/System.Reflection.Metadata.dll", + "lib/net6.0/System.Reflection.Metadata.xml", + "lib/netstandard2.0/System.Reflection.Metadata.dll", + "lib/netstandard2.0/System.Reflection.Metadata.xml", + "system.reflection.metadata.6.0.1.nupkg.sha512", + "system.reflection.metadata.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "type": "package", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "system.runtime.compilerservices.unsafe.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Text.Encoding.CodePages/6.0.0": { + "sha512": "ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", + "type": "package", + "path": "system.text.encoding.codepages/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net461/System.Text.Encoding.CodePages.dll", + "lib/net461/System.Text.Encoding.CodePages.xml", + "lib/net6.0/System.Text.Encoding.CodePages.dll", + "lib/net6.0/System.Text.Encoding.CodePages.xml", + "lib/netcoreapp3.1/System.Text.Encoding.CodePages.dll", + "lib/netcoreapp3.1/System.Text.Encoding.CodePages.xml", + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll", + "lib/netstandard2.0/System.Text.Encoding.CodePages.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "runtimes/win/lib/net461/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/net461/System.Text.Encoding.CodePages.xml", + "runtimes/win/lib/net6.0/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/net6.0/System.Text.Encoding.CodePages.xml", + "runtimes/win/lib/netcoreapp3.1/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netcoreapp3.1/System.Text.Encoding.CodePages.xml", + "runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.xml", + "system.text.encoding.codepages.6.0.0.nupkg.sha512", + "system.text.encoding.codepages.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Threading.Channels/6.0.0": { + "sha512": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==", + "type": "package", + "path": "system.threading.channels/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Threading.Channels.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Threading.Channels.dll", + "lib/net461/System.Threading.Channels.xml", + "lib/net6.0/System.Threading.Channels.dll", + "lib/net6.0/System.Threading.Channels.xml", + "lib/netcoreapp3.1/System.Threading.Channels.dll", + "lib/netcoreapp3.1/System.Threading.Channels.xml", + "lib/netstandard2.0/System.Threading.Channels.dll", + "lib/netstandard2.0/System.Threading.Channels.xml", + "lib/netstandard2.1/System.Threading.Channels.dll", + "lib/netstandard2.1/System.Threading.Channels.xml", + "system.threading.channels.6.0.0.nupkg.sha512", + "system.threading.channels.nuspec", + "useSharedDesignerContext.txt" + ] + } }, - "libraries": {}, "projectFileDependencyGroups": { - "net8.0": [] + "net8.0": [ + "Microsoft.EntityFrameworkCore >= 8.0.10", + "Microsoft.EntityFrameworkCore.Design >= 8.0.10", + "Microsoft.Extensions.DependencyInjection >= 8.0.1", + "Npgsql.EntityFrameworkCore.PostgreSQL >= 8.0.10" + ] }, "packageFolders": { "C:\\Users\\VivoBook 15X\\.nuget\\packages\\": {} @@ -50,6 +2153,26 @@ "frameworks": { "net8.0": { "targetAlias": "net8.0", + "dependencies": { + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[8.0.10, )" + }, + "Microsoft.EntityFrameworkCore.Design": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", + "suppressParent": "All", + "target": "Package", + "version": "[8.0.10, )" + }, + "Microsoft.Extensions.DependencyInjection": { + "target": "Package", + "version": "[8.0.1, )" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL": { + "target": "Package", + "version": "[8.0.10, )" + } + }, "imports": [ "net461", "net462", diff --git a/Demo/obj/project.nuget.cache b/Demo/obj/project.nuget.cache index c557548..b16b706 100644 --- a/Demo/obj/project.nuget.cache +++ b/Demo/obj/project.nuget.cache @@ -1,8 +1,47 @@ { "version": 2, - "dgSpecHash": "pcEnCc6PhG4=", + "dgSpecHash": "tKq6vs075L8=", "success": true, "projectFilePath": "C:\\Users\\VivoBook 15X\\Desktop\\presenceNikita\\Demo\\Demo.csproj", - "expectedPackageFiles": [], + "expectedPackageFiles": [ + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512" + ], "logs": [] } \ No newline at end of file diff --git a/Demo/presence_api/Controllers/GroupController.cs b/Demo/presence_api/Controllers/GroupController.cs new file mode 100644 index 0000000..a85b4f8 --- /dev/null +++ b/Demo/presence_api/Controllers/GroupController.cs @@ -0,0 +1,24 @@ +using Microsoft.AspNetCore.Mvc; +using System.Text.RegularExpressions; +using Domain; + +namespace presence_api.Controllers; +[ApiController] +[Route("api/[controller]")] + +public class GroupController() : ControllerBase +{ + private readonly GroupUseCase _groupUseCase; + + public GroupController(GroupUseCase groupUseCase) + { + _groupUseCase = groupUseCase; + + } + [HttpGet] + public ActionResult> getGroups() + { + return Ok(_groupUseCase.getAllGroup()); + } + +} diff --git a/Demo/presence_api/Program.cs b/Demo/presence_api/Program.cs new file mode 100644 index 0000000..dfd3c0d --- /dev/null +++ b/Demo/presence_api/Program.cs @@ -0,0 +1,25 @@ +using Demo.Data.RemoteData.RemoteDataBase; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddControllers(); + +builder.Services.AddDbContext; + +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +builder.Services.ConfigurateGroup(); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); +app.MapControllers(); + +app.Run(); diff --git a/Demo/presence_api/Properties/launchSettings.json b/Demo/presence_api/Properties/launchSettings.json new file mode 100644 index 0000000..d76aee0 --- /dev/null +++ b/Demo/presence_api/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:47582", + "sslPort": 44313 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5106", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7173;http://localhost:5106", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/Demo/presence_api/ServiceExtensions/ServiceExtensions.cs b/Demo/presence_api/ServiceExtensions/ServiceExtensions.cs new file mode 100644 index 0000000..76548c1 --- /dev/null +++ b/Demo/presence_api/ServiceExtensions/ServiceExtensions.cs @@ -0,0 +1,10 @@ + +public static class ServiceExtensions +{ + public static void ConfigurateGroup(this IServiceCollection services) + { + services + .AddScoped() + .AddScoped(); + } +} \ No newline at end of file diff --git a/Demo/presence_api/appsettings.Development.json b/Demo/presence_api/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/Demo/presence_api/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/Demo/presence_api/appsettings.json b/Demo/presence_api/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/Demo/presence_api/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/Demo/presence_api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/Demo/presence_api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/Demo/presence_api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/Demo/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfo.cs b/Demo/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfo.cs new file mode 100644 index 0000000..bbfc87b --- /dev/null +++ b/Demo/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("presence_api")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+eb85148c583d38758179d39bea272bfa96e83628")] +[assembly: System.Reflection.AssemblyProductAttribute("presence_api")] +[assembly: System.Reflection.AssemblyTitleAttribute("presence_api")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Создано классом WriteCodeFragment MSBuild. + diff --git a/Demo/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfoInputs.cache b/Demo/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfoInputs.cache new file mode 100644 index 0000000..f06fa70 --- /dev/null +++ b/Demo/presence_api/obj/Debug/net8.0/presence_api.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +947a7ba45646af0bfd35d76b12a264762797ddc2bbc49720ab0113b73f2daa3c diff --git a/Demo/presence_api/obj/Debug/net8.0/presence_api.GeneratedMSBuildEditorConfig.editorconfig b/Demo/presence_api/obj/Debug/net8.0/presence_api.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..d4e34fb --- /dev/null +++ b/Demo/presence_api/obj/Debug/net8.0/presence_api.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,19 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = true +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = presence_api +build_property.RootNamespace = presence_api +build_property.ProjectDir = C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\presence_api\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.RazorLangVersion = 8.0 +build_property.SupportLocalizedComponentNames = +build_property.GenerateRazorMetadataSourceChecksumAttributes = +build_property.MSBuildProjectDirectory = C:\Users\VivoBook 15X\Desktop\presenceNikita\Demo\presence_api +build_property._RazorSourceGeneratorDebug = diff --git a/Demo/presence_api/obj/Debug/net8.0/presence_api.GlobalUsings.g.cs b/Demo/presence_api/obj/Debug/net8.0/presence_api.GlobalUsings.g.cs new file mode 100644 index 0000000..025530a --- /dev/null +++ b/Demo/presence_api/obj/Debug/net8.0/presence_api.GlobalUsings.g.cs @@ -0,0 +1,17 @@ +// +global using global::Microsoft.AspNetCore.Builder; +global using global::Microsoft.AspNetCore.Hosting; +global using global::Microsoft.AspNetCore.Http; +global using global::Microsoft.AspNetCore.Routing; +global using global::Microsoft.Extensions.Configuration; +global using global::Microsoft.Extensions.DependencyInjection; +global using global::Microsoft.Extensions.Hosting; +global using global::Microsoft.Extensions.Logging; +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Net.Http.Json; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Demo/presence_api/obj/Debug/net8.0/presence_api.assets.cache b/Demo/presence_api/obj/Debug/net8.0/presence_api.assets.cache new file mode 100644 index 0000000..faaa3b0 Binary files /dev/null and b/Demo/presence_api/obj/Debug/net8.0/presence_api.assets.cache differ diff --git a/Demo/presence_api/obj/Debug/net8.0/presence_api.csproj.AssemblyReference.cache b/Demo/presence_api/obj/Debug/net8.0/presence_api.csproj.AssemblyReference.cache new file mode 100644 index 0000000..50f52ce Binary files /dev/null and b/Demo/presence_api/obj/Debug/net8.0/presence_api.csproj.AssemblyReference.cache differ diff --git a/Demo/presence_api/obj/presence_api.csproj.nuget.dgspec.json b/Demo/presence_api/obj/presence_api.csproj.nuget.dgspec.json new file mode 100644 index 0000000..1042448 --- /dev/null +++ b/Demo/presence_api/obj/presence_api.csproj.nuget.dgspec.json @@ -0,0 +1,81 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\VivoBook 15X\\Desktop\\presenceNikita\\Demo\\presence_api\\presence_api.csproj": {} + }, + "projects": { + "C:\\Users\\VivoBook 15X\\Desktop\\presenceNikita\\Demo\\presence_api\\presence_api.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\VivoBook 15X\\Desktop\\presenceNikita\\Demo\\presence_api\\presence_api.csproj", + "projectName": "presence_api", + "projectPath": "C:\\Users\\VivoBook 15X\\Desktop\\presenceNikita\\Demo\\presence_api\\presence_api.csproj", + "packagesPath": "C:\\Users\\VivoBook 15X\\.nuget\\packages\\", + "outputPath": "C:\\Users\\VivoBook 15X\\Desktop\\presenceNikita\\Demo\\presence_api\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\VivoBook 15X\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "dependencies": { + "Microsoft.AspNetCore.OpenApi": { + "target": "Package", + "version": "[8.0.10, )" + }, + "Swashbuckle.AspNetCore": { + "target": "Package", + "version": "[6.6.2, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Demo/presence_api/obj/presence_api.csproj.nuget.g.props b/Demo/presence_api/obj/presence_api.csproj.nuget.g.props new file mode 100644 index 0000000..26f113b --- /dev/null +++ b/Demo/presence_api/obj/presence_api.csproj.nuget.g.props @@ -0,0 +1,22 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\VivoBook 15X\.nuget\packages\ + PackageReference + 6.11.1 + + + + + + + + + + C:\Users\VivoBook 15X\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 + + \ No newline at end of file diff --git a/Demo/presence_api/obj/presence_api.csproj.nuget.g.targets b/Demo/presence_api/obj/presence_api.csproj.nuget.g.targets new file mode 100644 index 0000000..eea8d76 --- /dev/null +++ b/Demo/presence_api/obj/presence_api.csproj.nuget.g.targets @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Demo/presence_api/obj/project.assets.json b/Demo/presence_api/obj/project.assets.json new file mode 100644 index 0000000..b07e2c9 --- /dev/null +++ b/Demo/presence_api/obj/project.assets.json @@ -0,0 +1,560 @@ +{ + "version": 3, + "targets": { + "net8.0": { + "Microsoft.AspNetCore.OpenApi/8.0.10": { + "type": "package", + "dependencies": { + "Microsoft.OpenApi": "1.4.3" + }, + "compile": { + "lib/net8.0/Microsoft.AspNetCore.OpenApi.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.AspNetCore.OpenApi.dll": { + "related": ".xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "type": "package", + "build": { + "build/Microsoft.Extensions.ApiDescription.Server.props": {}, + "build/Microsoft.Extensions.ApiDescription.Server.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props": {}, + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {} + } + }, + "Microsoft.OpenApi/1.6.14": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "related": ".pdb;.xml" + } + } + }, + "Swashbuckle.AspNetCore/6.6.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerUI": "6.6.2" + }, + "build": { + "build/Swashbuckle.AspNetCore.props": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/6.6.2": { + "type": "package", + "dependencies": { + "Microsoft.OpenApi": "1.6.14" + }, + "compile": { + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".pdb;.xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": { + "type": "package", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.6.2" + }, + "compile": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".pdb;.xml" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": { + "type": "package", + "compile": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".pdb;.xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + } + } + }, + "libraries": { + "Microsoft.AspNetCore.OpenApi/8.0.10": { + "sha512": "kzYiW/IbSN0xittjplA8eN1wrNcRi3DMalYRrEuF2xyf2Y5u7cGCfgN1oNZ+g3aBQzMKTQwYsY1PeNmC+P0WnA==", + "type": "package", + "path": "microsoft.aspnetcore.openapi/8.0.10", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net8.0/Microsoft.AspNetCore.OpenApi.dll", + "lib/net8.0/Microsoft.AspNetCore.OpenApi.xml", + "microsoft.aspnetcore.openapi.8.0.10.nupkg.sha512", + "microsoft.aspnetcore.openapi.nuspec" + ] + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "type": "package", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/Microsoft.Extensions.ApiDescription.Server.props", + "build/Microsoft.Extensions.ApiDescription.Server.targets", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets", + "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", + "microsoft.extensions.apidescription.server.nuspec", + "tools/Newtonsoft.Json.dll", + "tools/dotnet-getdocument.deps.json", + "tools/dotnet-getdocument.dll", + "tools/dotnet-getdocument.runtimeconfig.json", + "tools/net461-x86/GetDocument.Insider.exe", + "tools/net461-x86/GetDocument.Insider.exe.config", + "tools/net461-x86/Microsoft.Win32.Primitives.dll", + "tools/net461-x86/System.AppContext.dll", + "tools/net461-x86/System.Buffers.dll", + "tools/net461-x86/System.Collections.Concurrent.dll", + "tools/net461-x86/System.Collections.NonGeneric.dll", + "tools/net461-x86/System.Collections.Specialized.dll", + "tools/net461-x86/System.Collections.dll", + "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll", + "tools/net461-x86/System.ComponentModel.Primitives.dll", + "tools/net461-x86/System.ComponentModel.TypeConverter.dll", + "tools/net461-x86/System.ComponentModel.dll", + "tools/net461-x86/System.Console.dll", + "tools/net461-x86/System.Data.Common.dll", + "tools/net461-x86/System.Diagnostics.Contracts.dll", + "tools/net461-x86/System.Diagnostics.Debug.dll", + "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll", + "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll", + "tools/net461-x86/System.Diagnostics.Process.dll", + "tools/net461-x86/System.Diagnostics.StackTrace.dll", + "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461-x86/System.Diagnostics.Tools.dll", + "tools/net461-x86/System.Diagnostics.TraceSource.dll", + "tools/net461-x86/System.Diagnostics.Tracing.dll", + "tools/net461-x86/System.Drawing.Primitives.dll", + "tools/net461-x86/System.Dynamic.Runtime.dll", + "tools/net461-x86/System.Globalization.Calendars.dll", + "tools/net461-x86/System.Globalization.Extensions.dll", + "tools/net461-x86/System.Globalization.dll", + "tools/net461-x86/System.IO.Compression.ZipFile.dll", + "tools/net461-x86/System.IO.Compression.dll", + "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll", + "tools/net461-x86/System.IO.FileSystem.Primitives.dll", + "tools/net461-x86/System.IO.FileSystem.Watcher.dll", + "tools/net461-x86/System.IO.FileSystem.dll", + "tools/net461-x86/System.IO.IsolatedStorage.dll", + "tools/net461-x86/System.IO.MemoryMappedFiles.dll", + "tools/net461-x86/System.IO.Pipes.dll", + "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll", + "tools/net461-x86/System.IO.dll", + "tools/net461-x86/System.Linq.Expressions.dll", + "tools/net461-x86/System.Linq.Parallel.dll", + "tools/net461-x86/System.Linq.Queryable.dll", + "tools/net461-x86/System.Linq.dll", + "tools/net461-x86/System.Memory.dll", + "tools/net461-x86/System.Net.Http.dll", + "tools/net461-x86/System.Net.NameResolution.dll", + "tools/net461-x86/System.Net.NetworkInformation.dll", + "tools/net461-x86/System.Net.Ping.dll", + "tools/net461-x86/System.Net.Primitives.dll", + "tools/net461-x86/System.Net.Requests.dll", + "tools/net461-x86/System.Net.Security.dll", + "tools/net461-x86/System.Net.Sockets.dll", + "tools/net461-x86/System.Net.WebHeaderCollection.dll", + "tools/net461-x86/System.Net.WebSockets.Client.dll", + "tools/net461-x86/System.Net.WebSockets.dll", + "tools/net461-x86/System.Numerics.Vectors.dll", + "tools/net461-x86/System.ObjectModel.dll", + "tools/net461-x86/System.Reflection.Extensions.dll", + "tools/net461-x86/System.Reflection.Primitives.dll", + "tools/net461-x86/System.Reflection.dll", + "tools/net461-x86/System.Resources.Reader.dll", + "tools/net461-x86/System.Resources.ResourceManager.dll", + "tools/net461-x86/System.Resources.Writer.dll", + "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461-x86/System.Runtime.Extensions.dll", + "tools/net461-x86/System.Runtime.Handles.dll", + "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461-x86/System.Runtime.InteropServices.dll", + "tools/net461-x86/System.Runtime.Numerics.dll", + "tools/net461-x86/System.Runtime.Serialization.Formatters.dll", + "tools/net461-x86/System.Runtime.Serialization.Json.dll", + "tools/net461-x86/System.Runtime.Serialization.Primitives.dll", + "tools/net461-x86/System.Runtime.Serialization.Xml.dll", + "tools/net461-x86/System.Runtime.dll", + "tools/net461-x86/System.Security.Claims.dll", + "tools/net461-x86/System.Security.Cryptography.Algorithms.dll", + "tools/net461-x86/System.Security.Cryptography.Csp.dll", + "tools/net461-x86/System.Security.Cryptography.Encoding.dll", + "tools/net461-x86/System.Security.Cryptography.Primitives.dll", + "tools/net461-x86/System.Security.Cryptography.X509Certificates.dll", + "tools/net461-x86/System.Security.Principal.dll", + "tools/net461-x86/System.Security.SecureString.dll", + "tools/net461-x86/System.Text.Encoding.Extensions.dll", + "tools/net461-x86/System.Text.Encoding.dll", + "tools/net461-x86/System.Text.RegularExpressions.dll", + "tools/net461-x86/System.Threading.Overlapped.dll", + "tools/net461-x86/System.Threading.Tasks.Parallel.dll", + "tools/net461-x86/System.Threading.Tasks.dll", + "tools/net461-x86/System.Threading.Thread.dll", + "tools/net461-x86/System.Threading.ThreadPool.dll", + "tools/net461-x86/System.Threading.Timer.dll", + "tools/net461-x86/System.Threading.dll", + "tools/net461-x86/System.ValueTuple.dll", + "tools/net461-x86/System.Xml.ReaderWriter.dll", + "tools/net461-x86/System.Xml.XDocument.dll", + "tools/net461-x86/System.Xml.XPath.XDocument.dll", + "tools/net461-x86/System.Xml.XPath.dll", + "tools/net461-x86/System.Xml.XmlDocument.dll", + "tools/net461-x86/System.Xml.XmlSerializer.dll", + "tools/net461-x86/netstandard.dll", + "tools/net461/GetDocument.Insider.exe", + "tools/net461/GetDocument.Insider.exe.config", + "tools/net461/Microsoft.Win32.Primitives.dll", + "tools/net461/System.AppContext.dll", + "tools/net461/System.Buffers.dll", + "tools/net461/System.Collections.Concurrent.dll", + "tools/net461/System.Collections.NonGeneric.dll", + "tools/net461/System.Collections.Specialized.dll", + "tools/net461/System.Collections.dll", + "tools/net461/System.ComponentModel.EventBasedAsync.dll", + "tools/net461/System.ComponentModel.Primitives.dll", + "tools/net461/System.ComponentModel.TypeConverter.dll", + "tools/net461/System.ComponentModel.dll", + "tools/net461/System.Console.dll", + "tools/net461/System.Data.Common.dll", + "tools/net461/System.Diagnostics.Contracts.dll", + "tools/net461/System.Diagnostics.Debug.dll", + "tools/net461/System.Diagnostics.DiagnosticSource.dll", + "tools/net461/System.Diagnostics.FileVersionInfo.dll", + "tools/net461/System.Diagnostics.Process.dll", + "tools/net461/System.Diagnostics.StackTrace.dll", + "tools/net461/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461/System.Diagnostics.Tools.dll", + "tools/net461/System.Diagnostics.TraceSource.dll", + "tools/net461/System.Diagnostics.Tracing.dll", + "tools/net461/System.Drawing.Primitives.dll", + "tools/net461/System.Dynamic.Runtime.dll", + "tools/net461/System.Globalization.Calendars.dll", + "tools/net461/System.Globalization.Extensions.dll", + "tools/net461/System.Globalization.dll", + "tools/net461/System.IO.Compression.ZipFile.dll", + "tools/net461/System.IO.Compression.dll", + "tools/net461/System.IO.FileSystem.DriveInfo.dll", + "tools/net461/System.IO.FileSystem.Primitives.dll", + "tools/net461/System.IO.FileSystem.Watcher.dll", + "tools/net461/System.IO.FileSystem.dll", + "tools/net461/System.IO.IsolatedStorage.dll", + "tools/net461/System.IO.MemoryMappedFiles.dll", + "tools/net461/System.IO.Pipes.dll", + "tools/net461/System.IO.UnmanagedMemoryStream.dll", + "tools/net461/System.IO.dll", + "tools/net461/System.Linq.Expressions.dll", + "tools/net461/System.Linq.Parallel.dll", + "tools/net461/System.Linq.Queryable.dll", + "tools/net461/System.Linq.dll", + "tools/net461/System.Memory.dll", + "tools/net461/System.Net.Http.dll", + "tools/net461/System.Net.NameResolution.dll", + "tools/net461/System.Net.NetworkInformation.dll", + "tools/net461/System.Net.Ping.dll", + "tools/net461/System.Net.Primitives.dll", + "tools/net461/System.Net.Requests.dll", + "tools/net461/System.Net.Security.dll", + "tools/net461/System.Net.Sockets.dll", + "tools/net461/System.Net.WebHeaderCollection.dll", + "tools/net461/System.Net.WebSockets.Client.dll", + "tools/net461/System.Net.WebSockets.dll", + "tools/net461/System.Numerics.Vectors.dll", + "tools/net461/System.ObjectModel.dll", + "tools/net461/System.Reflection.Extensions.dll", + "tools/net461/System.Reflection.Primitives.dll", + "tools/net461/System.Reflection.dll", + "tools/net461/System.Resources.Reader.dll", + "tools/net461/System.Resources.ResourceManager.dll", + "tools/net461/System.Resources.Writer.dll", + "tools/net461/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461/System.Runtime.Extensions.dll", + "tools/net461/System.Runtime.Handles.dll", + "tools/net461/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461/System.Runtime.InteropServices.dll", + "tools/net461/System.Runtime.Numerics.dll", + "tools/net461/System.Runtime.Serialization.Formatters.dll", + "tools/net461/System.Runtime.Serialization.Json.dll", + "tools/net461/System.Runtime.Serialization.Primitives.dll", + "tools/net461/System.Runtime.Serialization.Xml.dll", + "tools/net461/System.Runtime.dll", + "tools/net461/System.Security.Claims.dll", + "tools/net461/System.Security.Cryptography.Algorithms.dll", + "tools/net461/System.Security.Cryptography.Csp.dll", + "tools/net461/System.Security.Cryptography.Encoding.dll", + "tools/net461/System.Security.Cryptography.Primitives.dll", + "tools/net461/System.Security.Cryptography.X509Certificates.dll", + "tools/net461/System.Security.Principal.dll", + "tools/net461/System.Security.SecureString.dll", + "tools/net461/System.Text.Encoding.Extensions.dll", + "tools/net461/System.Text.Encoding.dll", + "tools/net461/System.Text.RegularExpressions.dll", + "tools/net461/System.Threading.Overlapped.dll", + "tools/net461/System.Threading.Tasks.Parallel.dll", + "tools/net461/System.Threading.Tasks.dll", + "tools/net461/System.Threading.Thread.dll", + "tools/net461/System.Threading.ThreadPool.dll", + "tools/net461/System.Threading.Timer.dll", + "tools/net461/System.Threading.dll", + "tools/net461/System.ValueTuple.dll", + "tools/net461/System.Xml.ReaderWriter.dll", + "tools/net461/System.Xml.XDocument.dll", + "tools/net461/System.Xml.XPath.XDocument.dll", + "tools/net461/System.Xml.XPath.dll", + "tools/net461/System.Xml.XmlDocument.dll", + "tools/net461/System.Xml.XmlSerializer.dll", + "tools/net461/netstandard.dll", + "tools/netcoreapp2.1/GetDocument.Insider.deps.json", + "tools/netcoreapp2.1/GetDocument.Insider.dll", + "tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json", + "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll" + ] + }, + "Microsoft.OpenApi/1.6.14": { + "sha512": "tTaBT8qjk3xINfESyOPE2rIellPvB7qpVqiWiyA/lACVvz+xOGiXhFUfohcx82NLbi5avzLW0lx+s6oAqQijfw==", + "type": "package", + "path": "microsoft.openapi/1.6.14", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/netstandard2.0/Microsoft.OpenApi.dll", + "lib/netstandard2.0/Microsoft.OpenApi.pdb", + "lib/netstandard2.0/Microsoft.OpenApi.xml", + "microsoft.openapi.1.6.14.nupkg.sha512", + "microsoft.openapi.nuspec" + ] + }, + "Swashbuckle.AspNetCore/6.6.2": { + "sha512": "+NB4UYVYN6AhDSjW0IJAd1AGD8V33gemFNLPaxKTtPkHB+HaKAKf9MGAEUPivEWvqeQfcKIw8lJaHq6LHljRuw==", + "type": "package", + "path": "swashbuckle.aspnetcore/6.6.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/Swashbuckle.AspNetCore.props", + "swashbuckle.aspnetcore.6.6.2.nupkg.sha512", + "swashbuckle.aspnetcore.nuspec" + ] + }, + "Swashbuckle.AspNetCore.Swagger/6.6.2": { + "sha512": "ovgPTSYX83UrQUWiS5vzDcJ8TEX1MAxBgDFMK45rC24MorHEPQlZAHlaXj/yth4Zf6xcktpUgTEBvffRQVwDKA==", + "type": "package", + "path": "swashbuckle.aspnetcore.swagger/6.6.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512", + "swashbuckle.aspnetcore.swagger.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": { + "sha512": "zv4ikn4AT1VYuOsDCpktLq4QDq08e7Utzbir86M5/ZkRaLXbCPF11E1/vTmOiDzRTl0zTZINQU2qLKwTcHgfrA==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggergen/6.6.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512", + "swashbuckle.aspnetcore.swaggergen.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": { + "sha512": "mBBb+/8Hm2Q3Wygag+hu2jj69tZW5psuv0vMRXY07Wy+Rrj40vRP8ZTbKBhs91r45/HXT4aY4z0iSBYx1h6JvA==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggerui/6.6.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512", + "swashbuckle.aspnetcore.swaggerui.nuspec" + ] + } + }, + "projectFileDependencyGroups": { + "net8.0": [ + "Microsoft.AspNetCore.OpenApi >= 8.0.10", + "Swashbuckle.AspNetCore >= 6.6.2" + ] + }, + "packageFolders": { + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\VivoBook 15X\\desktop\\presenceNikita\\Demo\\presence_api\\presence_api.csproj", + "projectName": "presence_api", + "projectPath": "C:\\Users\\VivoBook 15X\\desktop\\presenceNikita\\Demo\\presence_api\\presence_api.csproj", + "packagesPath": "C:\\Users\\VivoBook 15X\\.nuget\\packages\\", + "outputPath": "C:\\Users\\VivoBook 15X\\desktop\\presenceNikita\\Demo\\presence_api\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\VivoBook 15X\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "dependencies": { + "Microsoft.AspNetCore.OpenApi": { + "target": "Package", + "version": "[8.0.10, )" + }, + "Swashbuckle.AspNetCore": { + "target": "Package", + "version": "[6.6.2, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/Demo/presence_api/obj/project.nuget.cache b/Demo/presence_api/obj/project.nuget.cache new file mode 100644 index 0000000..72d4b5e --- /dev/null +++ b/Demo/presence_api/obj/project.nuget.cache @@ -0,0 +1,16 @@ +{ + "version": 2, + "dgSpecHash": "k90w44wfBGg=", + "success": true, + "projectFilePath": "C:\\Users\\VivoBook 15X\\Desktop\\presenceNikita\\Demo\\presence_api\\presence_api.csproj", + "expectedPackageFiles": [ + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.aspnetcore.openapi\\8.0.10\\microsoft.aspnetcore.openapi.8.0.10.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\microsoft.openapi\\1.6.14\\microsoft.openapi.1.6.14.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\swashbuckle.aspnetcore\\6.6.2\\swashbuckle.aspnetcore.6.6.2.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.6.2\\swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.6.2\\swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512", + "C:\\Users\\VivoBook 15X\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.6.2\\swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/Demo/presence_api/presence_api.csproj b/Demo/presence_api/presence_api.csproj new file mode 100644 index 0000000..063a260 --- /dev/null +++ b/Demo/presence_api/presence_api.csproj @@ -0,0 +1,14 @@ + + + + net8.0 + enable + enable + + + + + + + + diff --git a/Demo/presence_api/presence_api.csproj.user b/Demo/presence_api/presence_api.csproj.user new file mode 100644 index 0000000..9ff5820 --- /dev/null +++ b/Demo/presence_api/presence_api.csproj.user @@ -0,0 +1,6 @@ + + + + https + + \ No newline at end of file diff --git a/Demo/presence_api/presence_api.http b/Demo/presence_api/presence_api.http new file mode 100644 index 0000000..cf21f30 --- /dev/null +++ b/Demo/presence_api/presence_api.http @@ -0,0 +1,6 @@ +@presence_api_HostAddress = http://localhost:5106 + +GET {{presence_api_HostAddress}}/weatherforecast/ +Accept: application/json + +###