Added part of presence functionality

This commit is contained in:
Dasha 2024-10-24 14:13:46 +03:00
parent 4105b80297
commit 6b32e405d7
27 changed files with 2261 additions and 26 deletions

View File

@ -7,9 +7,9 @@ using System.Threading.Tasks;
namespace Posechaemost.Data.LocalData.Entity namespace Posechaemost.Data.LocalData.Entity
{ {
public class PresenceLocalEntity{ public class PresenceLocalEntity{
public DateOnly Date {get; set;} public required DateOnly Date {get; set;}
public int ClassNumber {get; set;} public int ClassNumber {get; set;}
public bool IsAttendence {get; set;} public bool IsAttendence {get; set;} = true;
public required Guid UserGuid {get; set;} public required Guid UserGuid {get; set;}
} }
} }

View File

@ -18,7 +18,7 @@ namespace Posechaemost.Data.LocalData
new GroupLocalEntity{ Id = 3, Name = "ИП1-23" }, new GroupLocalEntity{ Id = 3, Name = "ИП1-23" },
}; };
public static List<UserLocalEntity> users => new List<UserLocalEntity> public static List<UserLocalEntity> users => new List<UserLocalEntity>
{ {
new UserLocalEntity{Guid=Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "RandomFio", GroupID = 1 }, new UserLocalEntity{Guid=Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9"), FIO = "RandomFio", GroupID = 1 },
new UserLocalEntity{Guid=Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "RandomFio1", GroupID = 2 }, new UserLocalEntity{Guid=Guid.Parse("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "RandomFio1", GroupID = 2 },
@ -27,5 +27,12 @@ namespace Posechaemost.Data.LocalData
new UserLocalEntity{Guid=Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "RandomFio4", GroupID = 2 }, new UserLocalEntity{Guid=Guid.Parse("efcc1473-c116-4244-b3f7-f2341a5c3003"), FIO = "RandomFio4", GroupID = 2 },
new UserLocalEntity{Guid=Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "RandomFio5", GroupID = 3 }, new UserLocalEntity{Guid=Guid.Parse("60640fb3-ace2-4cad-81d5-a0a58bc2dbbd"), FIO = "RandomFio5", GroupID = 3 },
}; };
public static List<PresenceLocalEntity> presences = new List<PresenceLocalEntity>
{
new PresenceLocalEntity{Date= new DateOnly(2024, 12, 31), ClassNumber=1, UserGuid = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9")},
new PresenceLocalEntity{Date= new DateOnly(2024, 12, 31), ClassNumber=2, UserGuid = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9")},
new PresenceLocalEntity{Date= new DateOnly(2024, 12, 31), ClassNumber=3, IsAttendence=false, UserGuid = Guid.Parse("e6b9964d-ea9f-420a-84b9-af9633bbfab9")}
};
} }
} }

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Posechaemost.Data.RemoteData.RemoteDataBase.DAO
{
public class GroupDao
{
public required int Id {get; set;}
public required string Name {get; set;}
public IEnumerable<UserDao> Users {get; set;}
}
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Posechaemost.Data.RemoteData.RemoteDataBase.DAO
{
public class PresenceDao
{
public required DateOnly Date {get; set;}
public int ClassNumber {get; set;}
public bool IsAttendence {get; set;} = true;
public required UserDao User {get; set;}
}
}

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Posechaemost.Data.RemoteData.RemoteDataBase.DAO
{
public class UserDao
{
public required string FIO {get; set; }
public Guid Guid {get; set;}
public required GroupDao Group {get; set;}
}
}

View File

@ -0,0 +1,35 @@
using Microsoft.EntityFrameworkCore;
using Posechaemost.Data.RemoteData.RemoteDataBase.DAO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Posechaemost.Data.RemoteData.RemoteDataBase
{
public class RemoteDataBaseContext: DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){
optionsBuilder.UseNpgsql();
}
protected override void OnModelCreating(ModelBuilder modelBuilder) {
modelBuilder.Entity<GroupDao>().HasKey(group => group.Id);
modelBuilder.Entity<GroupDao>().Property(group => group.Id).ValueGeneratedOnAdd();
modelBuilder.Entity<UserDao>().HasKey(user => user.Guid);
modelBuilder.Entity<UserDao>().Property(user => user.Guid).ValueGeneratedOnAdd();
modelBuilder.Entity<PresenceDao>().HasKey(presence => new {
presence.User,
presence.Date,
presence.IsAttendence,
presence.ClassNumber
});
}
public DbSet<GroupDao> groups{ get; set; }
public DbSet<UserDao> users{ get; set; }
public DbSet<PresenceDao> presences{ get; set; }
}
}

View File

@ -24,7 +24,7 @@ namespace Posechaemost.Data.Repository
public List<GroupLocalEntity> GetAllGroup() public List<GroupLocalEntity> GetAllGroup()
{ {
throw new NotImplementedException(); return GetAllGroups();
} }
public List<GroupLocalEntity> GetAllGroups() => LocalStaticData.groups; public List<GroupLocalEntity> GetAllGroups() => LocalStaticData.groups;
@ -44,14 +44,6 @@ namespace Posechaemost.Data.Repository
return GetAllGroups().Remove(groupLocal); return GetAllGroups().Remove(groupLocal);
} }
// public GroupLocalEntity? AddGroup(String name, String id) //не работает
// {
// GroupLocalEntity? groupLocal = GetAllGroups()
// .Where(x => x.Id == groupID).FirstOrDefault();
// if (groupLocal == null) return false;
// return GetAllGroups().Remove(groupLocal);
// }
public bool UpdateGroupById(int groupID, String name) public bool UpdateGroupById(int groupID, String name)
{ {

View File

@ -13,5 +13,6 @@ namespace Posechaemost.Data.Repository {
bool UpdateGroupById(int groupID, String name); bool UpdateGroupById(int groupID, String name);
GroupLocalEntity GetGroupById(int groupID); GroupLocalEntity GetGroupById(int groupID);
bool AddGroup(String name, String id); bool AddGroup(String name, String id);
List<GroupLocalEntity> GetAllGroups();
} }
} }

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Posechaemost.Data.LocalData.Entity;
using Posechaemost.Domain.Models;
namespace Posechaemost.Data.Repository
{
public interface IPresenceRepository
{
List<PresenceLocalEntity> GetPresenceListByGroup(int groupId);
List<PresenceLocalEntity> GetPresenceListByGroupAndDate(int groupId, DateOnly date);
void UncheckAttendence(Presence presence);
}
}

View File

@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Posechaemost.Data.LocalData;
using Posechaemost.Data.LocalData.Entity;
using Posechaemost.Domain.Models;
namespace Posechaemost.Data.Repository
{
public class PresenceRepositoryImpl: IPresenceRepository
{
public PresenceRepositoryImpl() {
GetAllPresences = LocalStaticData.presences;
}
public List<PresenceLocalEntity> GetAllPresences
{ get; set; }
public List<PresenceLocalEntity> GetPresenceListByGroup(int groupId)
{
return GetAllPresences;
}
public List<PresenceLocalEntity> GetPresenceListByGroupAndDate(int groupId, DateOnly date)
{
return GetAllPresences;
}
public void UncheckAttendence(Presence presence)
{
throw new NotImplementedException();
}
}
}

View File

@ -17,7 +17,7 @@ namespace Posechaemost.Data.Repository
public List<UserLocalEntity> GetAllUser() public List<UserLocalEntity> GetAllUser()
{ {
throw new NotImplementedException(); return GetAllUsers;
} }
public List<UserLocalEntity> GetAllUsers public List<UserLocalEntity> GetAllUsers

View File

@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace Posechaemost.Domain.Models namespace Posechaemost.Domain.Models
{ {
public class Presence{ public class Presence{
public DateOnly Date {get; set;} public required DateOnly Date {get; set;}
public int ClassNumber {get; set;} public int ClassNumber {get; set;}
public bool IsAttendence {get; set;} public bool IsAttendence {get; set;}
public required User User {get; set;} public required User User {get; set;}

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using Posechaemost.Data.LocalData.Entity;
using Posechaemost.Data.Repository;
using Posechaemost.Domain.Models;
namespace Posechaemost.Domain.UseCase
{
public class UseCasePresence
{
private readonly PresenceRepositoryImpl _repositoryPresenceImpl;
private readonly UserRepositoryImpl _repositoryUserImpl;
private readonly GroupRepositoryImpl _repositoryGroupImpl;
public UseCasePresence(PresenceRepositoryImpl repositoryImpl, UserRepositoryImpl userRepositoryImpl, GroupRepositoryImpl groupRepositoryImpl) {
_repositoryPresenceImpl = repositoryImpl;
_repositoryUserImpl = userRepositoryImpl;
_repositoryGroupImpl = groupRepositoryImpl;
}
}
}

View File

@ -21,10 +21,10 @@ namespace Posechaemost.Domain.UseCase
_repositoryGroupImpl = repositoryGroupImpl; _repositoryGroupImpl = repositoryGroupImpl;
} }
private List<Group> GetAllGroups() => _repositoryGroupImpl.GetAllGroup() private List<Group> GetAllGroups() => _repositoryGroupImpl.GetAllGroups()
.Select(it => new Group { Id = it.Id, Name = it.Name}).ToList(); .Select(it => new Group { Id = it.Id, Name = it.Name}).ToList();
public List<User> GetAllUsers() => _repositoryUserImpl.GetAllUsers public List<User> GetAllUsers() => _repositoryUserImpl.GetAllUsers
.Join(_repositoryGroupImpl.GetAllGroup(), .Join(_repositoryGroupImpl.GetAllGroups(),
user => user.GroupID, user => user.GroupID,
group => group.Id, group => group.Id,
(user, group) => (user, group) =>

View File

@ -8,7 +8,13 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkcore" Version="8.0.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.10">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.10" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -28,16 +28,12 @@ namespace Posechaemost.UI
public void UpdateGroupName(String name, String name1) { public void UpdateGroupName(String name, String name1) {
StringBuilder groupOutput = new StringBuilder(); StringBuilder groupOutput = new StringBuilder();
var group = _groupUseCase.UpdateGroupName(name, name1); var group = _groupUseCase.UpdateGroupName(name, name1);
groupOutput.AppendLine($"{group.Id}\t{group.Name}");
Console.WriteLine(groupOutput);
} }
public void AddGroup(String name, String id) public void AddGroup(String name, String id)
{ {
StringBuilder groupOutput = new StringBuilder(); StringBuilder groupOutput = new StringBuilder();
var group = _groupUseCase.AddGroup(name, id); var group = _groupUseCase.AddGroup(name, id);
groupOutput.AppendLine($"{group.Id}\t{group.Name}");
Console.WriteLine(groupOutput);
} }
} }
} }

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Posechaemost")] [assembly: System.Reflection.AssemblyCompanyAttribute("Posechaemost")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+36a123355e04422229f0afaff5d2c6d503a8419e")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4105b8029769b2ea442771dc29b948bad308afc9")]
[assembly: System.Reflection.AssemblyProductAttribute("Posechaemost")] [assembly: System.Reflection.AssemblyProductAttribute("Posechaemost")]
[assembly: System.Reflection.AssemblyTitleAttribute("Posechaemost")] [assembly: System.Reflection.AssemblyTitleAttribute("Posechaemost")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
c78a5718d92cc56f307f18b87610c16cd6bd4adb899ce2e54039bee5d3d6ceb2 2d28f4118d0518446dabfbd87d6de7e33862a518a80b4f754a0e37e26437422d

View File

@ -43,9 +43,23 @@
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",
"dependencies": { "dependencies": {
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[8.0.10, )"
},
"Microsoft.EntityFrameworkcore": {
"target": "Package",
"version": "[8.0.10, )"
},
"Microsoft.Extensions.DependencyInjection": { "Microsoft.Extensions.DependencyInjection": {
"target": "Package", "target": "Package",
"version": "[8.0.1, )" "version": "[8.0.1, )"
},
"Npgsql.EntityFrameworkCore.PostgreSQL": {
"target": "Package",
"version": "[8.0.10, )"
} }
}, },
"imports": [ "imports": [

View File

@ -12,4 +12,11 @@
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/gara/.nuget/packages/" /> <SourceRoot Include="/home/gara/.nuget/packages/" />
</ItemGroup> </ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore/8.0.10/buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore/8.0.10/buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design/8.0.10/build/net8.0/Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design/8.0.10/build/net8.0/Microsoft.EntityFrameworkCore.Design.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">/home/gara/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
</PropertyGroup>
</Project> </Project>

View File

@ -1,2 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?> <?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions/8.0.2/buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions/8.0.2/buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options/8.0.2/buildTransitive/net6.0/Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options/8.0.2/buildTransitive/net6.0/Microsoft.Extensions.Options.targets')" />
</ImportGroup>
</Project>

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,47 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "JxuWkwCqUKY=", "dgSpecHash": "gSN3MF76u68=",
"success": true, "success": true,
"projectFilePath": "/home/gara/csharp/Posechaemost/Posechaemost.csproj", "projectFilePath": "/home/gara/csharp/Posechaemost/Posechaemost.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
"/home/gara/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.bcl.asyncinterfaces/6.0.0/microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.3/microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.codeanalysis.common/4.5.0/microsoft.codeanalysis.common.4.5.0.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.codeanalysis.csharp/4.5.0/microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.codeanalysis.csharp.workspaces/4.5.0/microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.codeanalysis.workspaces.common/4.5.0/microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.entityframeworkcore/8.0.10/microsoft.entityframeworkcore.8.0.10.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.entityframeworkcore.abstractions/8.0.10/microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.entityframeworkcore.analyzers/8.0.10/microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.entityframeworkcore.design/8.0.10/microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.entityframeworkcore.relational/8.0.10/microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.caching.abstractions/8.0.0/microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.caching.memory/8.0.1/microsoft.extensions.caching.memory.8.0.1.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.dependencyinjection/8.0.1/microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", "/home/gara/.nuget/packages/microsoft.extensions.dependencyinjection/8.0.1/microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/8.0.2/microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" "/home/gara/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/8.0.2/microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.dependencymodel/8.0.2/microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.logging/8.0.1/microsoft.extensions.logging.8.0.1.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.logging.abstractions/8.0.2/microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.options/8.0.2/microsoft.extensions.options.8.0.2.nupkg.sha512",
"/home/gara/.nuget/packages/microsoft.extensions.primitives/8.0.0/microsoft.extensions.primitives.8.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/mono.texttemplating/2.2.1/mono.texttemplating.2.2.1.nupkg.sha512",
"/home/gara/.nuget/packages/npgsql/8.0.5/npgsql.8.0.5.nupkg.sha512",
"/home/gara/.nuget/packages/npgsql.entityframeworkcore.postgresql/8.0.10/npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512",
"/home/gara/.nuget/packages/system.codedom/4.4.0/system.codedom.4.4.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.collections.immutable/6.0.0/system.collections.immutable.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.composition/6.0.0/system.composition.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.composition.attributedmodel/6.0.0/system.composition.attributedmodel.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.composition.convention/6.0.0/system.composition.convention.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.composition.hosting/6.0.0/system.composition.hosting.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.composition.runtime/6.0.0/system.composition.runtime.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.composition.typedparts/6.0.0/system.composition.typedparts.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.io.pipelines/6.0.3/system.io.pipelines.6.0.3.nupkg.sha512",
"/home/gara/.nuget/packages/system.reflection.metadata/6.0.1/system.reflection.metadata.6.0.1.nupkg.sha512",
"/home/gara/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.text.encoding.codepages/6.0.0/system.text.encoding.codepages.6.0.0.nupkg.sha512",
"/home/gara/.nuget/packages/system.threading.channels/6.0.0/system.threading.channels.6.0.0.nupkg.sha512"
], ],
"logs": [] "logs": []
} }