This commit is contained in:
adm 2024-10-30 12:06:35 +03:00
commit b4e5a3dd2f
53 changed files with 1108 additions and 0 deletions

25
Demo.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35312.102
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo", "Demo\Demo.csproj", "{983820F6-FF31-4B3A-8593-831BC3904E80}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{983820F6-FF31-4B3A-8593-831BC3904E80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{983820F6-FF31-4B3A-8593-831BC3904E80}.Debug|Any CPU.Build.0 = Debug|Any CPU
{983820F6-FF31-4B3A-8593-831BC3904E80}.Release|Any CPU.ActiveCfg = Release|Any CPU
{983820F6-FF31-4B3A-8593-831BC3904E80}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4F43A963-447C-4FCB-BB78-8D315EC0F1D6}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,10 @@
using System;
namespace Demo.Data.Exceptions
{
// Исключение для случая, когда данные уже существуют
public class DataAlreadyExistsException : Exception
{
public DataAlreadyExistsException(string message) : base(message) { }
}
}

View File

@ -0,0 +1,10 @@
using System;
namespace Demo.Data.Exceptions
{
// Исключение для случая, когда данные не найдены
public class DataNotFoundException : Exception
{
public DataNotFoundException(string message) : base(message) { }
}
}

View File

@ -0,0 +1,10 @@
using System;
namespace Demo.Data.Exceptions
{
// Исключение для случая, когда GUID не найден
public class GuidNotFoundException : Exception
{
public GuidNotFoundException(string message) : base(message) { }
}
}

View File

@ -0,0 +1,10 @@
using System;
namespace Demo.Data.Exceptions
{
// Исключение для случаев, когда передан некорректный или несуществующий ID группы
public class InvalidGroupIdException : Exception
{
public InvalidGroupIdException(string message) : base(message) { }
}
}

View File

@ -0,0 +1,8 @@
namespace Demo.Domain.Models
{
public class GroupLocalEntity
{
public int Id { get; set; }
public string Name { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
namespace Demo.domain.Models
{
internal 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; }
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.domain.Models
{
public class UserLocalEntity : IEquatable<UserLocalEntity>
{
public required string FIO { get; set; }
public Guid Guid { get; set; }
public required int GroupID { get; set; }
public bool Equals(UserLocalEntity? other)
{
if (other == null) return false;
return this.Guid.Equals(other.Guid);
}
}
}

View File

@ -0,0 +1,32 @@
using Demo.domain.Models;
using Demo.Domain.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
namespace Demo.Data.LocalData
{
public static class LocalStaticData
{
public static List<GroupLocalEntity> groups => new List<GroupLocalEntity>
{
new GroupLocalEntity{ Id = 1, Name = "ИП1-21" },
new GroupLocalEntity{ Id = 2, Name = "ИП1-22" },
new GroupLocalEntity{ Id = 3, Name = "ИП1-23" },
};
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("8388d931-5bef-41be-a152-78f1aca980ed"), FIO = "RandomFio1", GroupID = 2 },
new UserLocalEntity{Guid=Guid.Parse("ed174548-49ed-4503-a902-c970cbf27173"), FIO = "RandomFio2", GroupID = 3 },
new UserLocalEntity{Guid=Guid.Parse("614c0a23-5bd5-43ae-b48e-d5750afbc282"), FIO = "RandomFio3", GroupID = 1 },
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 },
};
}
}

View File

@ -0,0 +1,103 @@
using Demo.Data.LocalData;
using Demo.Domain.Models;
using Demo.Data.Exceptions;
using System;
using System.Collections.Generic;
using System.Linq;
using Demo.Domain.UseCase;
namespace Demo.Data.Repository
{
public class GroupRepositoryImpl: IGroupRepository
{
private List<GroupLocalEntity> _groups;
public GroupRepositoryImpl()
{
_groups = LocalStaticData.groups;
}
public List<GroupLocalEntity> GetAllGroups()
{
return _groups;
}
public bool AddGroup(GroupLocalEntity group)
{
_groups.Add(new GroupLocalEntity { Id = group.Id, Name = group.Name });
return true;
}
public bool UpdateGroup(int id)
{
try
{
var group = _groups.FirstOrDefault(g => g.Id == id);
if (group == null)
{
throw new InvalidGroupIdException($"Группа с ID {id} не существует.");
}
string newName = Console.ReadLine();
try
{
if (newName != "")
{
group.Name = newName;
}
}
catch
{
Console.WriteLine("Введите корректное название группы");
}
return true;
}
catch (InvalidGroupIdException ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
catch (DataNotFoundException ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
return false;
}
public bool DeleteGroupById(int id)
{
try
{
var group = _groups.FirstOrDefault(g => g.Id == id);
if (group != null)
{
_groups.Remove(group);
return true;
}
else
{
throw new DataNotFoundException($"Группа с ID {id} не найдена.");
}
}
catch (DataNotFoundException ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
return false;
}
public GroupLocalEntity GetGroupById(int groupID)
{
var _groups = GetAllGroups();
foreach (var _group in _groups)
{
if (_group.Id == groupID)
{
Console.WriteLine();
Console.WriteLine($"ID группы: {_group.Id} Название группы: {_group.Name}");
Console.WriteLine();
}
}
return null;
}
}
}

View File

@ -0,0 +1,18 @@
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 IGroupRepository
{
List<GroupLocalEntity> GetAllGroups();
bool DeleteGroupById(int groupID);
bool UpdateGroup(int groupID);
GroupLocalEntity GetGroupById(int groupID);
bool AddGroup(GroupLocalEntity newGroup);
}
}

View File

@ -0,0 +1,68 @@
using Demo.Data.LocalData;
using Demo.domain.Models;
using Demo.Data.Exceptions; // Добавлено
using System;
using System.Collections.Generic;
using System.Linq;
namespace Demo.Data.Repository
{
public class UserRepositoryImpl
{
private List<UserLocalEntity> _users;
public UserRepositoryImpl()
{
_users = LocalStaticData.users; // Получаем пользователей из LocalStaticData
}
// Получение всех пользователей
public IEnumerable<UserLocalEntity> GetAllUsers => _users;
// Удаление пользователя по GUID
public void DeleteUserByGuid(Guid guid)
{
var user = _users.FirstOrDefault(u => u.Guid == guid);
if (user != null)
{
_users.Remove(user);
}
else
{
throw new GuidNotFoundException($"Пользователь с GUID {guid} не найден."); // Кастомное исключение
}
}
// Поиск пользователя по GUID
public UserLocalEntity? FindUserByGuid(Guid guid)
{
var user = _users.FirstOrDefault(u => u.Guid == guid);
if (user == null)
{
throw new GuidNotFoundException($"Пользователь с GUID {guid} не найден."); // Кастомное исключение
}
return user;
}
// Обновление пользователя
public void UpdateUser(string guidOrInt, string newFIO, int newGroupID)
{
Guid guid;
if (!Guid.TryParse(guidOrInt, out guid))
{
throw new ArgumentException($"Значение '{guidOrInt}' не является корректным GUID.");
}
var user = _users.FirstOrDefault(u => u.Guid == guid);
if (user != null)
{
user.FIO = newFIO;
user.GroupID = newGroupID;
}
else
{
throw new GuidNotFoundException($"Пользователь с GUID {guid} не найден."); // Кастомное исключение
}
}
}
}

14
Demo/Demo.csproj Normal file
View File

@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Folder Include="Data\RemoteData\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.domain.Models
{
public class Group
{
public int Id { get; set; }
public string Name { get; set; }
}
}

View File

@ -0,0 +1,10 @@
namespace Demo.domain.Models
{
public class Presence
{
public required Guid UserGuid { get; set; }
public bool IsAttedance { get; set; } = true;
public required DateOnly Date { get; set; }
public required int LessonNumber { get; set; }
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Demo.domain.Models
{
public class User
{
public required string FIO { get; set; }
public Guid Guid { get; set; }
public int GroupID { get; set; }
public required Group Group { get; set; }
}
}

View File

@ -0,0 +1,39 @@
using Demo.Data.LocalData;
using Demo.Data.Repository;
using Demo.Domain.Models;
namespace Demo.Domain.UseCase
{
public class GroupUseCase
{
private readonly GroupRepositoryImpl _repositoryGroupImpl;
private List<GroupLocalEntity> _groups = LocalStaticData.groups;
public GroupUseCase(GroupRepositoryImpl repositoryGroupImpl)
{
_repositoryGroupImpl = repositoryGroupImpl;
}
public List<GroupLocalEntity> GetAllGroups()
{
return _repositoryGroupImpl.GetAllGroups();
}
public void GetGroupById(int id)
{
_repositoryGroupImpl.GetGroupById(id);
}
public void AddGroup(GroupLocalEntity group)
{
group.Id = _groups.Any() ? _groups.Max(g => g.Id) + 1 : 1;
_repositoryGroupImpl.AddGroup(group);
}
public void UpdateGroup(int id)
{
_repositoryGroupImpl.UpdateGroup(id);
}
}
}

View File

@ -0,0 +1,82 @@
using Demo.Data.Repository;
using Demo.Domain.Models;
using Demo.Data.Exceptions; // Подключаем пространство имён для исключений
using System;
using System.Collections.Generic;
using System.Linq;
using Demo.domain.Models;
namespace Demo.Domain.UseCase
{
public class UserUseCase
{
private readonly UserRepositoryImpl _userRepository;
private readonly IGroupRepository _groupRepository;
public UserUseCase(UserRepositoryImpl userRepository, IGroupRepository groupRepository)
{
_userRepository = userRepository;
_groupRepository = groupRepository;
}
// Получение всех групп
private List<Group> GetAllGroups() =>
_groupRepository.GetAllGroups()
.Select(g => new Group { Id = g.Id, Name = g.Name })
.ToList();
// Получение всех пользователей
public List<User> GetAllUsers() =>
_userRepository.GetAllUsers
.Join(_groupRepository.GetAllGroups(),
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();
// Удаление пользователя по GUID
public bool RemoveUserByGuid(Guid userGuid)
{
try
{
_userRepository.DeleteUserByGuid(userGuid);
return true;
}
catch (GuidNotFoundException)
{
// Логируем ошибку, если нужно
return false;
}
}
// Обновление пользователя
public User UpdateUser(User user)
{
try
{
_userRepository.UpdateUser(user.Guid.ToString(), user.FIO, user.Group.Id);
var group = GetAllGroups().FirstOrDefault(g => g.Id == user.Group.Id);
if (group == null)
{
throw new Exception($"Группа с ID {user.Group.Id} не найдена.");
}
return new User { FIO = user.FIO, Guid = user.Guid, Group = group };
}
catch (GuidNotFoundException ex)
{
throw new Exception("Пользователь не найден.", ex);
}
catch (ArgumentException ex)
{
throw new Exception("Некорректный GUID.", ex);
}
}
}
}

21
Demo/Program.cs Normal file
View File

@ -0,0 +1,21 @@
using Demo.Data.Repository;
using Demo.Domain.UseCase;
using Demo.UI;
class Program
{
static void Main(string[] args)
{
var userRepository = new UserRepositoryImpl();
var groupRepository = new GroupRepositoryImpl();
var userUseCase = new UserUseCase(userRepository,groupRepository);
var groupUseCase = new GroupUseCase(groupRepository);
var userConsole = new UserConsole(userUseCase);
var groupConsole = new GroupConsole(groupUseCase);
var mainMenu = new MainMenu(userConsole, groupConsole);
mainMenu.ShowMenu();
}
}

47
Demo/UI/GroupConsole.cs Normal file
View File

@ -0,0 +1,47 @@
using Demo.Data.Repository;
using Demo.domain.Models;
using Demo.Domain.Models;
using Demo.Domain.UseCase;
using System;
namespace Demo.UI
{
public class GroupConsole
{
private readonly GroupUseCase _groupUseCase;
public GroupConsole(GroupUseCase groupUseCase)
{
_groupUseCase = groupUseCase;
}
public void GetGroupById(int id)
{
_groupUseCase.GetGroupById(id);
}
public void ShowAllGroups()
{
var groups = _groupUseCase.GetAllGroups();
foreach (var group in groups)
{
Console.WriteLine($"Group ID: {group.Id}, Name: {group.Name}");
}
}
public void AddGroup(string Name)
{
GroupLocalEntity newGroup = new GroupLocalEntity { Name = Name };
_groupUseCase.AddGroup(newGroup);
Console.WriteLine("Group added successfully.");
}
public void UpdateGroup(int groupId)
{
Console.WriteLine("Enter new Group Name:");
_groupUseCase.UpdateGroup(groupId);
Console.WriteLine("Group updated successfully.");
}
}
}

107
Demo/UI/MainMenu.cs Normal file
View File

@ -0,0 +1,107 @@
using Demo.UI;
using System;
namespace Demo.UI
{
public class MainMenu
{
private readonly UserConsole _userConsole;
private readonly GroupConsole _groupConsole;
public MainMenu(UserConsole userConsole, GroupConsole groupConsole)
{
_userConsole = userConsole;
_groupConsole = groupConsole;
}
public void ShowMenu()
{
while (true)
{
Console.WriteLine("1. Показать всех пользователей");
Console.WriteLine("2. Показать все группы");
Console.WriteLine("3. Добавить группу");
Console.WriteLine("4. Обновить группу");
Console.WriteLine("5. Найти группу по id");
Console.WriteLine("6. Обновить пользователя");
Console.WriteLine("7. Удалить пользователя");
Console.WriteLine("8. Найти пользователя");
Console.WriteLine("9. Выход");
Console.WriteLine("Выберете команду:");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
_userConsole.ShowAllUsers();
break;
case "2":
_groupConsole.ShowAllGroups();
break;
case "3":
Console.Write("Введите название новой группы: ");
string newGroupName = Console.ReadLine();
_groupConsole.AddGroup(newGroupName);
break;
case "4":
Console.WriteLine("Введите ID группы:");
if (int.TryParse(Console.ReadLine(), out int groupId))
{
_groupConsole.UpdateGroup(groupId);
}
else
{
Console.WriteLine("Ошибка: Введите корректный идентификатор группы.");
}
break;
case "5":
Console.WriteLine("Введите id группы");
int id = int.Parse(Console.ReadLine());
_groupConsole.GetGroupById(id);
break;
case "6":
Console.WriteLine("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out Guid userGuid))
{
_userConsole.UpdateUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "7":
Console.WriteLine("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out userGuid))
{
_userConsole.DeleteUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "8":
Console.WriteLine("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out userGuid))
{
_userConsole.FindUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "9":
return;
default:
Console.WriteLine("Ошибка: Выберите корректный пункт меню.");
break;
}
}
}
}
}

68
Demo/UI/UserConsole.cs Normal file
View File

@ -0,0 +1,68 @@
using Demo.domain.Models;
using Demo.Domain.UseCase;
using System;
namespace Demo.UI
{
public class UserConsole
{
private readonly UserUseCase _userUseCase;
public UserConsole(UserUseCase userUseCase)
{
_userUseCase = userUseCase;
}
public void ShowAllUsers()
{
var users = _userUseCase.GetAllUsers();
if (users.Count == 0)
{
Console.WriteLine("No users found.");
return;
}
foreach (var user in users)
{
Console.WriteLine($"User GUID: {user.Guid}, FIO: {user.FIO}, Group ID: {user.Group.Id}");
}
}
public void UpdateUser(Guid userGuid)
{
Console.WriteLine("Enter new FIO:");
string newFIO = Console.ReadLine();
Console.WriteLine("Enter new Group ID:");
int newGroupID = int.Parse(Console.ReadLine());
var user = new User
{
Guid = userGuid,
FIO = newFIO,
Group = new Group { Id = newGroupID }
};
_userUseCase.UpdateUser(user);
Console.WriteLine("User updated successfully.");
}
public void DeleteUser(Guid userGuid)
{
_userUseCase.RemoveUserByGuid(userGuid);
Console.WriteLine("User deleted successfully.");
}
public void FindUser(Guid userGuid)
{
var user = _userUseCase.GetAllUsers().FirstOrDefault(u => u.Guid == userGuid);
if (user != null)
{
Console.WriteLine($"User found: {user.FIO}, Group ID: {user.Group.Id}");
}
else
{
Console.WriteLine("User not found.");
}
}
}
}

View File

@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"Demo/1.0.0": {
"runtime": {
"Demo.dll": {}
}
}
}
},
"libraries": {
"Demo/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
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+813a0174bb4546db2ac6eb49035411baa4df8478")]
[assembly: System.Reflection.AssemblyProductAttribute("Demo")]
[assembly: System.Reflection.AssemblyTitleAttribute("Demo")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Создано классом WriteCodeFragment MSBuild.

View File

@ -0,0 +1 @@
2b67eadc27818c4f6d5a522c9ae19e88dc4b399a6e156fa9a1fd17e2088eed02

View File

@ -0,0 +1,13 @@
is_global = true
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Demo
build_property.ProjectDir = C:\Users\adm\Source\Repos\presence_kv\Demo\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
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.Threading;
global using global::System.Threading.Tasks;

Binary file not shown.

View File

@ -0,0 +1 @@
4b5b0f995b1adfca76622723dd459ae2fd250d0a03dfae990704539081a799be

View File

@ -0,0 +1,56 @@
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache
C:\Users\admin\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.exe
C:\Users\admin\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.deps.json
C:\Users\admin\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json
C:\Users\admin\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.dll
C:\Users\admin\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.pdb
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.dll
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\refint\Demo.dll
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.pdb
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache
C:\Users\admin\Source\Repos\presence\Demo\obj\Debug\net8.0\ref\Demo.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache
C:\Users\sokol\OneDrive\Desktop\presence\Demo\obj\Debug\net8.0\Demo.dll
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\bin\Debug\net8.0\Demo.exe
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Demo.deps.json
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\Debug\net8.0\Demo.dll
C:\Users\sokol\OneDrive\Desktop\presence\Demo\bin\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\admin\Downloads\presence\Demo\bin\Debug\net8.0\Demo.exe
C:\Users\admin\Downloads\presence\Demo\bin\Debug\net8.0\Demo.deps.json
C:\Users\admin\Downloads\presence\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json
C:\Users\admin\Downloads\presence\Demo\bin\Debug\net8.0\Demo.dll
C:\Users\admin\Downloads\presence\Demo\bin\Debug\net8.0\Demo.pdb
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\Demo.dll
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\refint\Demo.dll
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\Demo.pdb
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache
C:\Users\admin\Downloads\presence\Demo\obj\Debug\net8.0\ref\Demo.dll
C:\Users\adm\Source\Repos\presence_kv\Demo\bin\Debug\net8.0\Demo.exe
C:\Users\adm\Source\Repos\presence_kv\Demo\bin\Debug\net8.0\Demo.deps.json
C:\Users\adm\Source\Repos\presence_kv\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json
C:\Users\adm\Source\Repos\presence_kv\Demo\bin\Debug\net8.0\Demo.dll
C:\Users\adm\Source\Repos\presence_kv\Demo\bin\Debug\net8.0\Demo.pdb
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\Demo.dll
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\refint\Demo.dll
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\Demo.pdb
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache
C:\Users\adm\Source\Repos\presence_kv\Demo\obj\Debug\net8.0\ref\Demo.dll

Binary file not shown.

View File

@ -0,0 +1 @@
646917542bf92e8c89c0a80da626af33086f53aa936b6509f071016280c8969c

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,68 @@
{
"format": 1,
"restore": {
"C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\Demo.csproj": {}
},
"projects": {
"C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\Demo.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\Demo.csproj",
"projectName": "Demo",
"projectPath": "C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\adm\\.nuget\\packages\\",
"outputPath": "C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\adm\\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",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\adm\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\adm\.nuget\packages\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Demo")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6012168a59e9bbf0281cdaaa8d7f6e69b8ecec8f")]
[assembly: System.Reflection.AssemblyProductAttribute("Demo")]
[assembly: System.Reflection.AssemblyTitleAttribute("Demo")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Создано классом WriteCodeFragment MSBuild.

View File

@ -0,0 +1 @@
5de05b4a35f41436d5b2174788ce9573db675ed8b8e335f323628d840c587465

View File

@ -0,0 +1,13 @@
is_global = true
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Demo
build_property.ProjectDir = C:\Users\admin\Downloads\presence\Demo\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
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.Threading;
global using global::System.Threading.Tasks;

Binary file not shown.

View File

@ -0,0 +1,73 @@
{
"version": 3,
"targets": {
"net8.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
"net8.0": []
},
"packageFolders": {
"C:\\Users\\adm\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\Demo.csproj",
"projectName": "Demo",
"projectPath": "C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\adm\\.nuget\\packages\\",
"outputPath": "C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\adm\\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",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1,8 @@
{
"version": 2,
"dgSpecHash": "Z47kTcRkVsY=",
"success": true,
"projectFilePath": "C:\\Users\\adm\\Source\\Repos\\presence_kv\\Demo\\Demo.csproj",
"expectedPackageFiles": [],
"logs": []
}