diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/AttendanceRecord.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/AttendanceRecord.cs new file mode 100644 index 0000000..76a10ee --- /dev/null +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/AttendanceRecord.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Data.RemoteData.RemoteDataBase.DAO +{ + public class AttendanceRecord + { + public int UserId { get; set; } + public string UserName { get; set; } + public string FullName { get; set; } + public DateOnly Date { get; set; } + public bool IsAttedance { get; set; } + public int LessonNumber { get; set; } + public string GroupName { get; set; } + } +} diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs index 6106b1b..bdf3616 100644 --- a/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs @@ -10,7 +10,7 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO { public required string FIO { get; set; } public required int UserId { get; set; } - public required int GroupId { get; set; } + public int GroupId { get; set; } public GroupDao? Group { get; set; } } } diff --git a/Demo/Data/Repository/IPresenceRepository.cs b/Demo/Data/Repository/IPresenceRepository.cs index 9e34f9b..ad22e7a 100644 --- a/Demo/Data/Repository/IPresenceRepository.cs +++ b/Demo/Data/Repository/IPresenceRepository.cs @@ -21,6 +21,7 @@ namespace Demo.Data.Repository List GetPresenceForAbsent(DateTime date, int GroupId); void GetGeneralPresenceForGroup(int groupId); void UpdateAtt(int userId, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance); + List GetAttendanceByGroup(int groupId); } } diff --git a/Demo/Data/Repository/IUserRepository.cs b/Demo/Data/Repository/IUserRepository.cs index e3fa986..e98c1e1 100644 --- a/Demo/Data/Repository/IUserRepository.cs +++ b/Demo/Data/Repository/IUserRepository.cs @@ -9,5 +9,6 @@ namespace Demo.Data.Repository List GetAllUsers(); bool RemoveUserById(int userId); UserDao? UpdateUser(UserDao user); + List GetUserNames(); } } diff --git a/Demo/Data/Repository/SQLPresenceRepository.cs b/Demo/Data/Repository/SQLPresenceRepository.cs index e4ab93e..5de6257 100644 --- a/Demo/Data/Repository/SQLPresenceRepository.cs +++ b/Demo/Data/Repository/SQLPresenceRepository.cs @@ -2,6 +2,7 @@ using Demo.Data.RemoteData.RemoteDataBase; using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.domain.Models; +using DocumentFormat.OpenXml.InkML; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; @@ -23,6 +24,25 @@ namespace Demo.Data.Repository { _remoteDatabaseContext = remoteDatabaseContext; } + + + public List GetAttendanceByGroup(int groupId) + { + // Получаем записи посещаемости для указанной группы + return _remoteDatabaseContext.PresenceDaos + .Where(p => p.GroupId == groupId) + .Select(p => new PresenceDao + { + UserId = p.UserId, + GroupId = p.GroupId, + Date = p.Date, + LessonNumber = p.LessonNumber, + IsAttedance = p.IsAttedance + }) + .ToList(); + } + + public List GetPresenceForAbsent(DateTime date, int GroupId) { return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == GroupId && p.Date == DateOnly.FromDateTime(date)).ToList(); @@ -107,9 +127,12 @@ namespace Demo.Data.Repository public void GetGeneralPresenceForGroup(int groupId) { var presences = _remoteDatabaseContext.PresenceDaos.Where(p=>p.GroupId==groupId).OrderBy(p=>p.LessonNumber).ToList(); + var dates = _remoteDatabaseContext.PresenceDaos; + var distDates = dates.Select(p => p.Date).Distinct().ToList(); int lesId = 0; int lesNum = 1; double att = 0; + int days = -1; int countAllLes = 0; DateOnly date= DateOnly.MinValue; List usersId = new List(); @@ -125,6 +148,7 @@ namespace Demo.Data.Repository date = presence.Date; lesId++; lesNum = presence.LessonNumber; + days++; } if (presence.LessonNumber != lesNum && date == presence.Date) { @@ -140,10 +164,10 @@ namespace Demo.Data.Repository } } - + Console.WriteLine(presences.Count()); Console.WriteLine($"Человек в группе: {usersId.Count()}, " + $"Количество проведённых занятий: {lesId}, " + - $"Общий процент посещаемости группы: {att/usersId.Count()/lesNum*100}%"); + $"Общий процент посещаемости группы: {att/usersId.Count()/lesNum/distDates.Count()*100}%"); List a = new List(); List ids = new List(); double ok = 0; @@ -196,80 +220,6 @@ namespace Demo.Data.Repository $"Процент посещаемости: {user.ok/(user.skip+user.ok)*100}%"); Console.ForegroundColor= ConsoleColor.White; } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //double skip=0; - //double ok=0; - //List users = new List(); - //foreach (var presence in presences) - //{ - // int id = presence.UserId; - // var attendance=_remoteDatabaseContext.PresenceDaos.Where(p=>p.UserId==id).ToList(); - // int userid = 0; - // int lessons=0; - // foreach (var user in attendance) - // { - // skip = 0; - // ok = 0; - // lessons = 0; - // if (user.IsAttedance) - // { - // ok++; - // } - // else - // { - // skip++; - // } - // lessons++; - // userid=user.UserId; - // } - // if (ok != 0) - // { - // Console.WriteLine($"{userid} Посетил: {ok}, Пропустил: {skip}, Процент посещаемости: {lessons / ok * 100}%"); - // } - // else - // { - // Console.WriteLine($"{userid} Посетил: {ok}, Пропустил: {skip}, Процент посещаемости: 0%"); - // } - // lessons = 0; - //} } } diff --git a/Demo/Data/Repository/SQLUserRepositoryImpl.cs b/Demo/Data/Repository/SQLUserRepositoryImpl.cs index a8a68a0..75bbf0a 100644 --- a/Demo/Data/Repository/SQLUserRepositoryImpl.cs +++ b/Demo/Data/Repository/SQLUserRepositoryImpl.cs @@ -24,6 +24,7 @@ namespace Demo.Data.Repository if (user == null) throw new UserNotFoundException(userId); _remoteDatabaseContext.Users.Remove(user); + _remoteDatabaseContext.SaveChanges(); return true; } @@ -45,5 +46,16 @@ namespace Demo.Data.Repository // Возвращаем пользователей, отсортированных по UserId return _remoteDatabaseContext.Users.OrderBy(u => u.UserId).ToList(); } + + public List GetUserNames() + { + var users = GetAllUsers(); + List names = new List(); + foreach (var user in users) + { + names.Add(new UserDao{UserId=user.UserId, FIO=user.FIO }); + } + return names; + } } } diff --git a/Demo/Demo.csproj b/Demo/Demo.csproj index e091d33..760f09a 100644 --- a/Demo/Demo.csproj +++ b/Demo/Demo.csproj @@ -8,6 +8,7 @@ + all @@ -20,6 +21,7 @@ + diff --git a/Demo/Domain/UseCase/UseCaseGeneratePresence.cs b/Demo/Domain/UseCase/UseCaseGeneratePresence.cs index 4e648d4..ca63e92 100644 --- a/Demo/Domain/UseCase/UseCaseGeneratePresence.cs +++ b/Demo/Domain/UseCase/UseCaseGeneratePresence.cs @@ -1,4 +1,5 @@ -using Demo.Data.RemoteData.RemoteDataBase.DAO; +using ClosedXML.Excel; +using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.Data.Repository; using Demo.domain.Models; using Microsoft.EntityFrameworkCore; @@ -14,12 +15,96 @@ namespace Demo.Domain.UseCase { public readonly IUserRepository _userRepository; public readonly IPresenceRepository _presenceRepository; - + private readonly IGroupRepository _groupRepository; - public UseCaseGeneratePresence(IUserRepository userRepository, IPresenceRepository presenceRepository) + public UseCaseGeneratePresence(IUserRepository userRepository, IPresenceRepository presenceRepository, IGroupRepository groupRepository) { _userRepository = userRepository; _presenceRepository = presenceRepository; + _groupRepository = groupRepository; + } + + public Dictionary> GetAllAttendanceByGroups() + { + var attendanceByGroup = new Dictionary>(); + var allGroups = _groupRepository.GetAllGroups(); + + foreach (var group in allGroups) + { + var groupAttendance = _presenceRepository.GetAttendanceByGroup(group.Id); + var attendanceRecords = new List(); + + foreach (var record in groupAttendance) + { + var names = _userRepository.GetUserNames().Where(u => u.UserId == record.UserId); + foreach (var name in names) + { + attendanceRecords.Add(new AttendanceRecord + { + UserName = name.FIO, + UserId = name.UserId, + Date = record.Date, + IsAttedance = record.IsAttedance, + LessonNumber = record.LessonNumber, + GroupName = group.Name + }); + } + } + + attendanceByGroup.Add(group.Name, attendanceRecords); + } + + return attendanceByGroup; + } + + public void ExportAttendanceToExcel() + { + var attendanceByGroup = GetAllAttendanceByGroups(); + string projectDirectory = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.FullName; + string reportsFolderPath = Path.Combine(projectDirectory, "Reports"); + string filePath = Path.Combine(reportsFolderPath, "AttendanceReport.xlsx"); + + // Создаем папку, если она не существует + if (!Directory.Exists(reportsFolderPath)) + { + Directory.CreateDirectory(reportsFolderPath); + } + using (var workbook = new XLWorkbook()) + { + foreach (var group in attendanceByGroup) + { + var worksheet = workbook.Worksheets.Add($"{group.Key}"); + worksheet.Cell(1, 1).Value = "ФИО"; + worksheet.Cell(1, 2).Value = "Группа"; + worksheet.Cell(1, 3).Value = "Дата"; + worksheet.Cell(1, 4).Value = "Занятие"; + worksheet.Cell(1, 5).Value = "Статус"; + + int row = 2; + int lesNum = 1; + foreach (var record in group.Value.OrderBy(r => r.Date).ThenBy(r => r.LessonNumber).ThenBy(r => r.UserId)) + { + if (lesNum != record.LessonNumber) + { + row++; + } + worksheet.Cell(row, 1).Value = record.UserName; + worksheet.Cell(row, 2).Value = record.GroupName; + worksheet.Cell(row, 3).Value = record.Date.ToString("dd.MM.yyyy"); + worksheet.Cell(row, 4).Value = record.LessonNumber; + worksheet.Cell(row, 5).Value = record.IsAttedance ? "Присутствует" : "Отсутствует"; + row++; + + + + lesNum = record.LessonNumber; + } + + worksheet.Columns().AdjustToContents(); + } + + workbook.SaveAs(filePath); + } } diff --git a/Demo/Domain/UseCase/UserUseCase.cs b/Demo/Domain/UseCase/UserUseCase.cs index 716e844..bef152f 100644 --- a/Demo/Domain/UseCase/UserUseCase.cs +++ b/Demo/Domain/UseCase/UserUseCase.cs @@ -1,4 +1,5 @@ using Demo.Data.Exceptions; +using Demo.Data.RemoteData.RemoteDataBase; using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.Data.Repository; using Demo.domain.Models; @@ -9,11 +10,12 @@ namespace Demo.Domain.UseCase { private readonly IUserRepository _repositoryUserImpl; private readonly IGroupRepository _repositoryGroupImpl; - - public UserUseCase(IUserRepository repositoryImpl, IGroupRepository repositoryGroupImpl) + private readonly IPresenceRepository _repositoryPresenceImpl; + public UserUseCase(IUserRepository repositoryImpl, IGroupRepository repositoryGroupImpl, IPresenceRepository presenceRepository) { _repositoryUserImpl = repositoryImpl; _repositoryGroupImpl = repositoryGroupImpl; + _repositoryPresenceImpl = presenceRepository; } // Приватный метод для валидации ФИО пользователя @@ -25,6 +27,16 @@ namespace Demo.Domain.UseCase } } + public void RemovePresenceByUserId(int userId) + { + using (var context = new RemoteDatabaseContext()) + { + var presences = context.PresenceDaos.Where(p => p.UserId == userId).ToList(); + context.PresenceDaos.RemoveRange(presences); + context.SaveChanges(); + } + } + // Приватный метод для валидации существования пользователя по ID private UserDao ValidateUserExistence(int userId) { @@ -126,7 +138,7 @@ namespace Demo.Domain.UseCase { UserId = user.UserId, FIO = user.FIO, - GroupId = group.Id + Group = new GroupDao { Id = group.Id, Name=group.Name } }; } } diff --git a/Demo/Reports/AttendanceReport.xlsx b/Demo/Reports/AttendanceReport.xlsx new file mode 100644 index 0000000..f884d9b Binary files /dev/null and b/Demo/Reports/AttendanceReport.xlsx differ diff --git a/Demo/UI/MainMenu.cs b/Demo/UI/MainMenu.cs index 79c9b7b..c765928 100644 --- a/Demo/UI/MainMenu.cs +++ b/Demo/UI/MainMenu.cs @@ -44,6 +44,7 @@ namespace Demo.UI Console.WriteLine("12. Отметить пользователя как отсутствующего"); Console.WriteLine("13. Вывести всю посещаемость группы"); Console.WriteLine("14. Вывести общую информацию об посещаемости по группе"); + Console.WriteLine("15. Вывести отчётв Excel"); Console.WriteLine(); Console.WriteLine("0. Выход"); @@ -206,6 +207,9 @@ namespace Demo.UI int searchGroupId= int.Parse(Console.ReadLine()); _presenceConsoleUI.DisplayGeneralPresence(searchGroupId); break; + case "15": + _presenceConsoleUI.ExportAttendanceToExcel(); + break; case "0": Console.WriteLine("Выход..."); return; diff --git a/Demo/UI/PresenceConsole.cs b/Demo/UI/PresenceConsole.cs index a3fa7be..5d545d8 100644 --- a/Demo/UI/PresenceConsole.cs +++ b/Demo/UI/PresenceConsole.cs @@ -15,6 +15,21 @@ namespace Demo.UI _presenceUseCase = presenceUseCase; } + public void ExportAttendanceToExcel() + { + try + { + _presenceUseCase.ExportAttendanceToExcel(); + Console.WriteLine("Данные посещаемости успешно экспортированы в Excel."); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при экспорте посещаемости: {ex.Message}"); + } + } + + + // Метод для генерации посещаемости на день public void GeneratePresenceForDay(DateTime date, int groupId, int firstLesson, int lastLesson) { diff --git a/Demo/UI/UserConsole.cs b/Demo/UI/UserConsole.cs index 7050f7b..90f592b 100644 --- a/Demo/UI/UserConsole.cs +++ b/Demo/UI/UserConsole.cs @@ -1,4 +1,6 @@ -using Demo.Domain.UseCase; +using Demo.Data.RemoteData.RemoteDataBase; +using Demo.Data.Repository; +using Demo.Domain.UseCase; using System; using System.Text; @@ -31,6 +33,10 @@ namespace Demo.UI // Метод для удаления пользователя по ID public void RemoveUserById(int userId) { + // Сначала удаляем все записи о присутствии пользователя + _userUseCase.RemovePresenceByUserId(userId); + + // Теперь удаляем пользователя string output = _userUseCase.RemoveUserById(userId) ? "Пользователь удален" : "Пользователь не найден"; Console.WriteLine($"\n{output}\n"); } @@ -46,8 +52,11 @@ namespace Demo.UI Console.WriteLine($"Текущие данные: {user.FIO}"); Console.Write("\nВведите новое ФИО: "); string newFIO = Console.ReadLine(); + Console.Write("\nВведите новый ID группы (или оставьте такой же): "); + int GroupId = int.Parse(Console.ReadLine()); user.FIO = newFIO; + user.GroupId = GroupId; _userUseCase.UpdateUser(user); Console.WriteLine("\nПользователь обновлен.\n"); diff --git a/Demo/bin/Debug/net8.0/ClosedXML.Parser.dll b/Demo/bin/Debug/net8.0/ClosedXML.Parser.dll new file mode 100644 index 0000000..1613f29 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ClosedXML.Parser.dll differ diff --git a/Demo/bin/Debug/net8.0/ClosedXML.dll b/Demo/bin/Debug/net8.0/ClosedXML.dll new file mode 100644 index 0000000..221ea4c Binary files /dev/null and b/Demo/bin/Debug/net8.0/ClosedXML.dll differ diff --git a/Demo/bin/Debug/net8.0/Demo.deps.json b/Demo/bin/Debug/net8.0/Demo.deps.json index 72cb31a..184a5c8 100644 --- a/Demo/bin/Debug/net8.0/Demo.deps.json +++ b/Demo/bin/Debug/net8.0/Demo.deps.json @@ -8,6 +8,7 @@ ".NETCoreApp,Version=v8.0": { "Demo/1.0.0": { "dependencies": { + "ClosedXML": "0.104.1", "Microsoft.EntityFrameworkCore": "8.0.10", "Microsoft.EntityFrameworkCore.Design": "8.0.10", "Microsoft.Extensions.DependencyInjection": "8.0.1", @@ -17,6 +18,60 @@ "Demo.dll": {} } }, + "ClosedXML/0.104.1": { + "dependencies": { + "ClosedXML.Parser": "1.2.0", + "DocumentFormat.OpenXml": "3.0.1", + "ExcelNumberFormat": "1.1.0", + "RBush": "3.2.0", + "SixLabors.Fonts": "1.0.0", + "System.IO.Packaging": "8.0.0" + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.dll": { + "assemblyVersion": "0.104.1.0", + "fileVersion": "0.104.1.0" + } + } + }, + "ClosedXML.Parser/1.2.0": { + "runtime": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "DocumentFormat.OpenXml/3.0.1": { + "dependencies": { + "DocumentFormat.OpenXml.Framework": "3.0.1" + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "assemblyVersion": "3.0.1.0", + "fileVersion": "3.0.1.0" + } + } + }, + "DocumentFormat.OpenXml.Framework/3.0.1": { + "dependencies": { + "System.IO.Packaging": "8.0.0" + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "assemblyVersion": "3.0.1.0", + "fileVersion": "3.0.1.0" + } + } + }, + "ExcelNumberFormat/1.1.0": { + "runtime": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "assemblyVersion": "1.1.0.0", + "fileVersion": "1.1.0.0" + } + } + }, "Humanizer.Core/2.14.1": { "runtime": { "lib/net6.0/Humanizer.dll": { @@ -448,6 +503,22 @@ } } }, + "RBush/3.2.0": { + "runtime": { + "lib/net6.0/RBush.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.2.0.0" + } + } + }, + "SixLabors.Fonts/1.0.0": { + "runtime": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, "System.CodeDom/4.4.0": { "runtime": { "lib/netstandard2.0/System.CodeDom.dll": { @@ -521,6 +592,14 @@ } } }, + "System.IO.Packaging/8.0.0": { + "runtime": { + "lib/net8.0/System.IO.Packaging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, "System.IO.Pipelines/6.0.3": { "runtime": { "lib/net6.0/System.IO.Pipelines.dll": { @@ -549,6 +628,41 @@ "serviceable": false, "sha512": "" }, + "ClosedXML/0.104.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RVm2fUNWJlBJlg07shrfeWzrHPG5ypI/vARqdUOUbUdaog8yBw8l4IbCHf2MXt0AXtzaZqGNqhFaCAHigCBdfw==", + "path": "closedxml/0.104.1", + "hashPath": "closedxml.0.104.1.nupkg.sha512" + }, + "ClosedXML.Parser/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w+/0tsxABS3lkSH8EUlA7IGme+mq5T/Puf3DbOiTckmSuUpAUO2LK29oXYByCcWkBv6wcRHxgWlQb1lxkwI0Tw==", + "path": "closedxml.parser/1.2.0", + "hashPath": "closedxml.parser.1.2.0.nupkg.sha512" + }, + "DocumentFormat.OpenXml/3.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DCK1cwFUJ1FGGyYyo++HWl9H1RkqMWIu+FGOLRy6E4L4y0/HIhlJ7N/n1HKboFfOwKn1cMBRxt1RCuDbIEy5YQ==", + "path": "documentformat.openxml/3.0.1", + "hashPath": "documentformat.openxml.3.0.1.nupkg.sha512" + }, + "DocumentFormat.OpenXml.Framework/3.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ifyI7OW7sggz7LQMIAD2aUsY/zVUON9QaHrpZ4MK33iVMeHlTG4uhUE2aLWb31nry+LCs2ALDAwf8OfUJGjgBg==", + "path": "documentformat.openxml.framework/3.0.1", + "hashPath": "documentformat.openxml.framework.3.0.1.nupkg.sha512" + }, + "ExcelNumberFormat/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-R3BVHPs9O+RkExbZYTGT0+9HLbi8ZrNij1Yziyw6znd3J7P3uoIR07uwTLGOogtz1p6+0sna66eBoXu7tBiVQA==", + "path": "excelnumberformat/1.1.0", + "hashPath": "excelnumberformat.1.1.0.nupkg.sha512" + }, "Humanizer.Core/2.14.1": { "type": "package", "serviceable": true, @@ -724,6 +838,20 @@ "path": "npgsql.entityframeworkcore.postgresql/8.0.10", "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512" }, + "RBush/3.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ijGh9N0zZ7JfXk3oQkWCwK8SwSSByexbyh/MjbCjNxOft9eG5ZqKC1vdgiYq78h4IZRFmN4s3JZ/b10Jipud5w==", + "path": "rbush/3.2.0", + "hashPath": "rbush.3.2.0.nupkg.sha512" + }, + "SixLabors.Fonts/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LFQsCZlV0xlUyXAOMUo5kkSl+8zAQXXbbdwWchtk0B4o7zotZhQsQOcJUELGHdfPfm/xDAsz6hONAuV25bJaAg==", + "path": "sixlabors.fonts/1.0.0", + "hashPath": "sixlabors.fonts.1.0.0.nupkg.sha512" + }, "System.CodeDom/4.4.0": { "type": "package", "serviceable": true, @@ -780,6 +908,13 @@ "path": "system.composition.typedparts/6.0.0", "hashPath": "system.composition.typedparts.6.0.0.nupkg.sha512" }, + "System.IO.Packaging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8g1V4YRpdGAxFcK8v9OjuMdIOJSpF30Zb1JGicwVZhly3I994WFyBdV6mQEo8d3T+URQe55/M0U0eIH0Hts1bg==", + "path": "system.io.packaging/8.0.0", + "hashPath": "system.io.packaging.8.0.0.nupkg.sha512" + }, "System.IO.Pipelines/6.0.3": { "type": "package", "serviceable": true, diff --git a/Demo/bin/Debug/net8.0/Demo.dll b/Demo/bin/Debug/net8.0/Demo.dll index 64a072d..022c8f7 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 45b0d20..e3bff5e 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 7cb9a16..62e7416 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/DocumentFormat.OpenXml.Framework.dll b/Demo/bin/Debug/net8.0/DocumentFormat.OpenXml.Framework.dll new file mode 100644 index 0000000..5556e87 Binary files /dev/null and b/Demo/bin/Debug/net8.0/DocumentFormat.OpenXml.Framework.dll differ diff --git a/Demo/bin/Debug/net8.0/DocumentFormat.OpenXml.dll b/Demo/bin/Debug/net8.0/DocumentFormat.OpenXml.dll new file mode 100644 index 0000000..05bafaf Binary files /dev/null and b/Demo/bin/Debug/net8.0/DocumentFormat.OpenXml.dll differ diff --git a/Demo/bin/Debug/net8.0/ExcelNumberFormat.dll b/Demo/bin/Debug/net8.0/ExcelNumberFormat.dll new file mode 100644 index 0000000..aaf7bf8 Binary files /dev/null and b/Demo/bin/Debug/net8.0/ExcelNumberFormat.dll differ diff --git a/Demo/bin/Debug/net8.0/RBush.dll b/Demo/bin/Debug/net8.0/RBush.dll new file mode 100644 index 0000000..dad8e8b Binary files /dev/null and b/Demo/bin/Debug/net8.0/RBush.dll differ diff --git a/Demo/bin/Debug/net8.0/ReportsAttendanceReport.xlsx b/Demo/bin/Debug/net8.0/ReportsAttendanceReport.xlsx new file mode 100644 index 0000000..26ff49b Binary files /dev/null and b/Demo/bin/Debug/net8.0/ReportsAttendanceReport.xlsx differ diff --git a/Demo/bin/Debug/net8.0/SixLabors.Fonts.dll b/Demo/bin/Debug/net8.0/SixLabors.Fonts.dll new file mode 100644 index 0000000..281d8a7 Binary files /dev/null and b/Demo/bin/Debug/net8.0/SixLabors.Fonts.dll differ diff --git a/Demo/bin/Debug/net8.0/System.IO.Packaging.dll b/Demo/bin/Debug/net8.0/System.IO.Packaging.dll new file mode 100644 index 0000000..763f339 Binary files /dev/null and b/Demo/bin/Debug/net8.0/System.IO.Packaging.dll differ diff --git a/Demo/bin/Reports/AttendanceReport.xlsx b/Demo/bin/Reports/AttendanceReport.xlsx new file mode 100644 index 0000000..4938d0c Binary files /dev/null and b/Demo/bin/Reports/AttendanceReport.xlsx differ diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs index 509840b..84aaa6d 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+f47a4a28ffb13bca18f06226268910695b440718")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6135c156b6c3e42dd27685da9683bcfe683c6717")] [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 24e9d58..b0cd66d 100644 --- a/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache @@ -1 +1 @@ -437a200877812e315db0172b4f6f3a05752eb4af57ff77064bb3db3c98e0559a +364f65621061205ec5f591ecd6f801212cee8ce48d4acf27c80b2467e26f083f diff --git a/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig b/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig index bc58f30..39c5301 100644 --- a/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig +++ b/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig @@ -8,6 +8,6 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Demo -build_property.ProjectDir = C:\Users\sokol\OneDrive\Desktop\presence\Demo\ +build_property.ProjectDir = C:\Users\sokol\source\repos\presenceSQL\Demo\ build_property.EnableComHosting = build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/Demo/obj/Debug/net8.0/Demo.assets.cache b/Demo/obj/Debug/net8.0/Demo.assets.cache index f78a16e..d31f097 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 index 5533750..e4503b4 100644 Binary files a/Demo/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache 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 70cd035..90507a7 100644 --- a/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache +++ b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -d6cbb7a78fec8aa09ef88c85f5531a65e03879e01bb4328f3566a8b5782533b6 +bce152f3199f19f5623a4d2e3a64eb67867db8e563473de0a21fd0a807b43fb0 diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt b/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt index ec02638..c1f1ce4 100644 --- a/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt +++ b/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt @@ -418,3 +418,109 @@ C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\refint\Demo.dll C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.pdb C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\ref\Demo.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.exe +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.deps.json +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Demo.pdb +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Humanizer.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Bcl.AsyncInterfaces.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.Workspaces.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Design.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Abstractions.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Options.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Mono.TextTemplating.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Npgsql.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.CodeDom.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.AttributedModel.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.Convention.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.Hosting.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.Runtime.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.Composition.TypedParts.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.IO.Pipelines.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.csproj.AssemblyReference.cache +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.csproj.Up2Date +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\refint\Demo.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.pdb +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache +C:\Users\sokol\Source\Repos\presenceSQL\Demo\obj\Debug\net8.0\ref\Demo.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ClosedXML.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ClosedXML.Parser.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\DocumentFormat.OpenXml.Framework.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\ExcelNumberFormat.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\RBush.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\SixLabors.Fonts.dll +C:\Users\sokol\Source\Repos\presenceSQL\Demo\bin\Debug\net8.0\System.IO.Packaging.dll diff --git a/Demo/obj/Debug/net8.0/Demo.dll b/Demo/obj/Debug/net8.0/Demo.dll index 64a072d..022c8f7 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 4e5d6fd..7640354 100644 --- a/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache +++ b/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache @@ -1 +1 @@ -51ab9d5805a6d942bb94bd6997327c63064183c829d45c37acba1478867c9ae9 +32b033494fe8cc0945916700cc102d8fb6f490321222604aba3338cb9b4fbfb5 diff --git a/Demo/obj/Debug/net8.0/Demo.pdb b/Demo/obj/Debug/net8.0/Demo.pdb index 7cb9a16..62e7416 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 45b0d20..e3bff5e 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 1b961bd..42c1ad5 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 1b961bd..42c1ad5 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.nuget.dgspec.json b/Demo/obj/Demo.csproj.nuget.dgspec.json index 5560da6..2116056 100644 --- a/Demo/obj/Demo.csproj.nuget.dgspec.json +++ b/Demo/obj/Demo.csproj.nuget.dgspec.json @@ -1,17 +1,17 @@ { "format": 1, "restore": { - "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\Demo.csproj": {} + "C:\\Users\\sokol\\source\\repos\\presenceSQL\\Demo\\Demo.csproj": {} }, "projects": { - "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\Demo.csproj": { + "C:\\Users\\sokol\\source\\repos\\presenceSQL\\Demo\\Demo.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\Demo.csproj", + "projectUniqueName": "C:\\Users\\sokol\\source\\repos\\presenceSQL\\Demo\\Demo.csproj", "projectName": "Demo", - "projectPath": "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\Demo.csproj", + "projectPath": "C:\\Users\\sokol\\source\\repos\\presenceSQL\\Demo\\Demo.csproj", "packagesPath": "C:\\Users\\sokol\\.nuget\\packages\\", - "outputPath": "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\obj\\", + "outputPath": "C:\\Users\\sokol\\Source\\Repos\\presenceSQL\\Demo\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ "C:\\Users\\sokol\\AppData\\Roaming\\NuGet\\NuGet.Config", @@ -45,6 +45,10 @@ "net8.0": { "targetAlias": "net8.0", "dependencies": { + "ClosedXML": { + "target": "Package", + "version": "[0.104.1, )" + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[8.0.10, )" diff --git a/Demo/obj/project.assets.json b/Demo/obj/project.assets.json index 10ea9f7..21d18ca 100644 --- a/Demo/obj/project.assets.json +++ b/Demo/obj/project.assets.json @@ -2,6 +2,85 @@ "version": 3, "targets": { "net8.0": { + "ClosedXML/0.104.1": { + "type": "package", + "dependencies": { + "ClosedXML.Parser": "[1.2.0, 2.0.0)", + "DocumentFormat.OpenXml": "[3.0.1, 4.0.0)", + "ExcelNumberFormat": "1.1.0", + "RBush": "3.2.0", + "SixLabors.Fonts": "1.0.0", + "System.IO.Packaging": "8.0.0" + }, + "compile": { + "lib/netstandard2.1/ClosedXML.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.dll": { + "related": ".pdb;.xml" + } + } + }, + "ClosedXML.Parser/1.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/ClosedXML.Parser.dll": { + "related": ".xml" + } + } + }, + "DocumentFormat.OpenXml/3.0.1": { + "type": "package", + "dependencies": { + "DocumentFormat.OpenXml.Framework": "3.0.1" + }, + "compile": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "related": ".xml" + } + } + }, + "DocumentFormat.OpenXml.Framework/3.0.1": { + "type": "package", + "dependencies": { + "System.IO.Packaging": "8.0.0" + }, + "compile": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "related": ".xml" + } + } + }, + "ExcelNumberFormat/1.1.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/ExcelNumberFormat.dll": { + "related": ".xml" + } + } + }, "Humanizer.Core/2.14.1": { "type": "package", "compile": { @@ -593,6 +672,32 @@ } } }, + "RBush/3.2.0": { + "type": "package", + "compile": { + "lib/net6.0/RBush.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/RBush.dll": { + "related": ".xml" + } + } + }, + "SixLabors.Fonts/1.0.0": { + "type": "package", + "compile": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "related": ".xml" + } + } + }, "System.CodeDom/4.4.0": { "type": "package", "compile": { @@ -727,6 +832,22 @@ "buildTransitive/netcoreapp3.1/_._": {} } }, + "System.IO.Packaging/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/System.IO.Packaging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/System.IO.Packaging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, "System.IO.Pipelines/6.0.3": { "type": "package", "compile": { @@ -822,6 +943,104 @@ } }, "libraries": { + "ClosedXML/0.104.1": { + "sha512": "RVm2fUNWJlBJlg07shrfeWzrHPG5ypI/vARqdUOUbUdaog8yBw8l4IbCHf2MXt0AXtzaZqGNqhFaCAHigCBdfw==", + "type": "package", + "path": "closedxml/0.104.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "closedxml.0.104.1.nupkg.sha512", + "closedxml.nuspec", + "lib/netstandard2.0/ClosedXML.dll", + "lib/netstandard2.0/ClosedXML.pdb", + "lib/netstandard2.0/ClosedXML.xml", + "lib/netstandard2.1/ClosedXML.dll", + "lib/netstandard2.1/ClosedXML.pdb", + "lib/netstandard2.1/ClosedXML.xml", + "nuget-logo.png" + ] + }, + "ClosedXML.Parser/1.2.0": { + "sha512": "w+/0tsxABS3lkSH8EUlA7IGme+mq5T/Puf3DbOiTckmSuUpAUO2LK29oXYByCcWkBv6wcRHxgWlQb1lxkwI0Tw==", + "type": "package", + "path": "closedxml.parser/1.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "closedxml.parser.1.2.0.nupkg.sha512", + "closedxml.parser.nuspec", + "lib/netstandard2.0/ClosedXML.Parser.dll", + "lib/netstandard2.0/ClosedXML.Parser.xml", + "lib/netstandard2.1/ClosedXML.Parser.dll", + "lib/netstandard2.1/ClosedXML.Parser.xml" + ] + }, + "DocumentFormat.OpenXml/3.0.1": { + "sha512": "DCK1cwFUJ1FGGyYyo++HWl9H1RkqMWIu+FGOLRy6E4L4y0/HIhlJ7N/n1HKboFfOwKn1cMBRxt1RCuDbIEy5YQ==", + "type": "package", + "path": "documentformat.openxml/3.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "documentformat.openxml.3.0.1.nupkg.sha512", + "documentformat.openxml.nuspec", + "icon.png", + "lib/net35/DocumentFormat.OpenXml.dll", + "lib/net35/DocumentFormat.OpenXml.xml", + "lib/net40/DocumentFormat.OpenXml.dll", + "lib/net40/DocumentFormat.OpenXml.xml", + "lib/net46/DocumentFormat.OpenXml.dll", + "lib/net46/DocumentFormat.OpenXml.xml", + "lib/net8.0/DocumentFormat.OpenXml.dll", + "lib/net8.0/DocumentFormat.OpenXml.xml", + "lib/netstandard2.0/DocumentFormat.OpenXml.dll", + "lib/netstandard2.0/DocumentFormat.OpenXml.xml" + ] + }, + "DocumentFormat.OpenXml.Framework/3.0.1": { + "sha512": "ifyI7OW7sggz7LQMIAD2aUsY/zVUON9QaHrpZ4MK33iVMeHlTG4uhUE2aLWb31nry+LCs2ALDAwf8OfUJGjgBg==", + "type": "package", + "path": "documentformat.openxml.framework/3.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "documentformat.openxml.framework.3.0.1.nupkg.sha512", + "documentformat.openxml.framework.nuspec", + "icon.png", + "lib/net35/DocumentFormat.OpenXml.Framework.dll", + "lib/net35/DocumentFormat.OpenXml.Framework.xml", + "lib/net40/DocumentFormat.OpenXml.Framework.dll", + "lib/net40/DocumentFormat.OpenXml.Framework.xml", + "lib/net46/DocumentFormat.OpenXml.Framework.dll", + "lib/net46/DocumentFormat.OpenXml.Framework.xml", + "lib/net6.0/DocumentFormat.OpenXml.Framework.dll", + "lib/net6.0/DocumentFormat.OpenXml.Framework.xml", + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll", + "lib/net8.0/DocumentFormat.OpenXml.Framework.xml", + "lib/netstandard2.0/DocumentFormat.OpenXml.Framework.dll", + "lib/netstandard2.0/DocumentFormat.OpenXml.Framework.xml" + ] + }, + "ExcelNumberFormat/1.1.0": { + "sha512": "R3BVHPs9O+RkExbZYTGT0+9HLbi8ZrNij1Yziyw6znd3J7P3uoIR07uwTLGOogtz1p6+0sna66eBoXu7tBiVQA==", + "type": "package", + "path": "excelnumberformat/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "excelnumberformat.1.1.0.nupkg.sha512", + "excelnumberformat.nuspec", + "icon.png", + "lib/net20/ExcelNumberFormat.dll", + "lib/net20/ExcelNumberFormat.xml", + "lib/netstandard1.0/ExcelNumberFormat.dll", + "lib/netstandard1.0/ExcelNumberFormat.xml", + "lib/netstandard2.0/ExcelNumberFormat.dll", + "lib/netstandard2.0/ExcelNumberFormat.xml" + ] + }, "Humanizer.Core/2.14.1": { "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", "type": "package", @@ -1786,6 +2005,42 @@ "postgresql.png" ] }, + "RBush/3.2.0": { + "sha512": "ijGh9N0zZ7JfXk3oQkWCwK8SwSSByexbyh/MjbCjNxOft9eG5ZqKC1vdgiYq78h4IZRFmN4s3JZ/b10Jipud5w==", + "type": "package", + "path": "rbush/3.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net6.0/RBush.dll", + "lib/net6.0/RBush.xml", + "lib/netcoreapp3.1/RBush.dll", + "lib/netcoreapp3.1/RBush.xml", + "lib/netstandard1.2/RBush.dll", + "lib/netstandard1.2/RBush.xml", + "rbush.3.2.0.nupkg.sha512", + "rbush.nuspec", + "readme.md" + ] + }, + "SixLabors.Fonts/1.0.0": { + "sha512": "LFQsCZlV0xlUyXAOMUo5kkSl+8zAQXXbbdwWchtk0B4o7zotZhQsQOcJUELGHdfPfm/xDAsz6hONAuV25bJaAg==", + "type": "package", + "path": "sixlabors.fonts/1.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp3.1/SixLabors.Fonts.dll", + "lib/netcoreapp3.1/SixLabors.Fonts.xml", + "lib/netstandard2.0/SixLabors.Fonts.dll", + "lib/netstandard2.0/SixLabors.Fonts.xml", + "lib/netstandard2.1/SixLabors.Fonts.dll", + "lib/netstandard2.1/SixLabors.Fonts.xml", + "sixlabors.fonts.1.0.0.nupkg.sha512", + "sixlabors.fonts.128.png", + "sixlabors.fonts.nuspec" + ] + }, "System.CodeDom/4.4.0": { "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", "type": "package", @@ -1962,6 +2217,35 @@ "useSharedDesignerContext.txt" ] }, + "System.IO.Packaging/8.0.0": { + "sha512": "8g1V4YRpdGAxFcK8v9OjuMdIOJSpF30Zb1JGicwVZhly3I994WFyBdV6mQEo8d3T+URQe55/M0U0eIH0Hts1bg==", + "type": "package", + "path": "system.io.packaging/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.IO.Packaging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.IO.Packaging.targets", + "lib/net462/System.IO.Packaging.dll", + "lib/net462/System.IO.Packaging.xml", + "lib/net6.0/System.IO.Packaging.dll", + "lib/net6.0/System.IO.Packaging.xml", + "lib/net7.0/System.IO.Packaging.dll", + "lib/net7.0/System.IO.Packaging.xml", + "lib/net8.0/System.IO.Packaging.dll", + "lib/net8.0/System.IO.Packaging.xml", + "lib/netstandard2.0/System.IO.Packaging.dll", + "lib/netstandard2.0/System.IO.Packaging.xml", + "system.io.packaging.8.0.0.nupkg.sha512", + "system.io.packaging.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.IO.Pipelines/6.0.3": { "sha512": "ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", "type": "package", @@ -2104,6 +2388,7 @@ }, "projectFileDependencyGroups": { "net8.0": [ + "ClosedXML >= 0.104.1", "Microsoft.EntityFrameworkCore >= 8.0.10", "Microsoft.EntityFrameworkCore.Design >= 8.0.10", "Microsoft.Extensions.DependencyInjection >= 8.0.1", @@ -2116,11 +2401,11 @@ "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\Demo.csproj", + "projectUniqueName": "C:\\Users\\sokol\\Source\\Repos\\presenceSQL\\Demo\\Demo.csproj", "projectName": "Demo", - "projectPath": "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\Demo.csproj", + "projectPath": "C:\\Users\\sokol\\Source\\Repos\\presenceSQL\\Demo\\Demo.csproj", "packagesPath": "C:\\Users\\sokol\\.nuget\\packages\\", - "outputPath": "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\obj\\", + "outputPath": "C:\\Users\\sokol\\Source\\Repos\\presenceSQL\\Demo\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ "C:\\Users\\sokol\\AppData\\Roaming\\NuGet\\NuGet.Config", @@ -2154,6 +2439,10 @@ "net8.0": { "targetAlias": "net8.0", "dependencies": { + "ClosedXML": { + "target": "Package", + "version": "[0.104.1, )" + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[8.0.10, )" diff --git a/Demo/obj/project.nuget.cache b/Demo/obj/project.nuget.cache index 045156a..e97f815 100644 --- a/Demo/obj/project.nuget.cache +++ b/Demo/obj/project.nuget.cache @@ -1,9 +1,14 @@ { "version": 2, - "dgSpecHash": "tWMBkV2PZHA=", + "dgSpecHash": "UUYeDRXIcqA=", "success": true, - "projectFilePath": "C:\\Users\\sokol\\OneDrive\\Desktop\\presence\\Demo\\Demo.csproj", + "projectFilePath": "C:\\Users\\sokol\\source\\repos\\presenceSQL\\Demo\\Demo.csproj", "expectedPackageFiles": [ + "C:\\Users\\sokol\\.nuget\\packages\\closedxml\\0.104.1\\closedxml.0.104.1.nupkg.sha512", + "C:\\Users\\sokol\\.nuget\\packages\\closedxml.parser\\1.2.0\\closedxml.parser.1.2.0.nupkg.sha512", + "C:\\Users\\sokol\\.nuget\\packages\\documentformat.openxml\\3.0.1\\documentformat.openxml.3.0.1.nupkg.sha512", + "C:\\Users\\sokol\\.nuget\\packages\\documentformat.openxml.framework\\3.0.1\\documentformat.openxml.framework.3.0.1.nupkg.sha512", + "C:\\Users\\sokol\\.nuget\\packages\\excelnumberformat\\1.1.0\\excelnumberformat.1.1.0.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", @@ -29,6 +34,8 @@ "C:\\Users\\sokol\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "C:\\Users\\sokol\\.nuget\\packages\\rbush\\3.2.0\\rbush.3.2.0.nupkg.sha512", + "C:\\Users\\sokol\\.nuget\\packages\\sixlabors.fonts\\1.0.0\\sixlabors.fonts.1.0.0.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512", @@ -37,6 +44,7 @@ "C:\\Users\\sokol\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512", + "C:\\Users\\sokol\\.nuget\\packages\\system.io.packaging\\8.0.0\\system.io.packaging.8.0.0.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512", "C:\\Users\\sokol\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",