This commit is contained in:
Your Name 2024-10-18 14:46:21 +03:00
commit 813a0174bb
52 changed files with 1034 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,31 @@
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,84 @@
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 GroupRepositoryImpl
{
private List<GroupLocalEntity> _groups;
public GroupRepositoryImpl()
{
_groups = LocalStaticData.groups; // Получаем группы из LocalStaticData
}
public List<GroupLocalEntity> GetAllGroups()
{
return _groups;
}
public void AddGroup(int id, string name)
{
try
{
if (_groups.Any(g => g.Id == id))
{
throw new DataAlreadyExistsException($"Группа с ID {id} уже существует."); // Кастомное исключение
}
_groups.Add(new GroupLocalEntity { Id = id, Name = name });
}
catch (DataAlreadyExistsException ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
}
public void UpdateGroup(int id, string newName)
{
try
{
var group = _groups.FirstOrDefault(g => g.Id == id);
if (group == null)
{
throw new InvalidGroupIdException($"Группа с ID {id} не существует."); // Новое исключение
}
group.Name = newName;
}
catch (InvalidGroupIdException ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
catch (DataNotFoundException ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
}
public void DeleteGroupById(int id)
{
try
{
var group = _groups.FirstOrDefault(g => g.Id == id);
if (group != null)
{
_groups.Remove(group);
}
else
{
throw new DataNotFoundException($"Группа с ID {id} не найдена."); // Исключение с русским сообщением
}
}
catch (DataNotFoundException ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
}
}
}

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 GroupLocalEntity
{
public required int Id { get; set; }
public required 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,16 @@
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 required Group Group { get; set; }
}
}

View File

@ -0,0 +1,30 @@
using Demo.Data.Repository;
using Demo.domain.Models;
namespace Demo.Domain.UseCase
{
public class GroupUseCase
{
private readonly GroupRepositoryImpl _repositoryGroupImpl;
public GroupUseCase(GroupRepositoryImpl repositoryGroupImpl)
{
_repositoryGroupImpl = repositoryGroupImpl;
}
public List<GroupLocalEntity> GetAllGroups()
{
return _repositoryGroupImpl.GetAllGroups();
}
public void AddGroup(int id, string name)
{
_repositoryGroupImpl.AddGroup(id, name);
}
public void UpdateGroup(int id, string newName)
{
_repositoryGroupImpl.UpdateGroup(id, newName);
}
}
}

View File

@ -0,0 +1,84 @@
using Demo.Data.Repository;
using Demo.Data.Exceptions; // Добавлено
using Demo.Domain.Models;
using System;
using System.Collections.Generic;
using Demo.domain.Models;
namespace Demo.Domain.UseCase
{
public class UserUseCase
{
private readonly UserRepositoryImpl _userRepositoryImpl;
public UserUseCase(UserRepositoryImpl userRepositoryImpl)
{
_userRepositoryImpl = userRepositoryImpl;
}
public List<UserLocalEntity> GetAllUsers()
{
try
{
return new List<UserLocalEntity>(_userRepositoryImpl.GetAllUsers);
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка при получении пользователей: {ex.Message}");
return new List<UserLocalEntity>(); // Возвращаем пустой список в случае ошибки
}
}
public void DeleteUserByGuid(Guid guid) // Изменен тип параметра
{
try
{
_userRepositoryImpl.DeleteUserByGuid(guid);
}
catch (DataNotFoundException ex)
{
Console.WriteLine($"Ошибка при удалении пользователя: {ex.Message}"); // Логгирование
}
catch (Exception ex) // Ловим любые другие ошибки
{
Console.WriteLine($"Неизвестная ошибка: {ex.Message}");
}
}
public UserLocalEntity? FindUserByGuid(Guid guid) // Изменен тип параметра
{
try
{
return _userRepositoryImpl.FindUserByGuid(guid);
}
catch (DataNotFoundException ex)
{
Console.WriteLine($"Ошибка при поиске пользователя: {ex.Message}"); // Логгирование
return null; // Возвращаем null в случае ошибки
}
catch (Exception ex) // Ловим любые другие ошибки
{
Console.WriteLine($"Неизвестная ошибка: {ex.Message}");
return null; // Возвращаем null в случае ошибки
}
}
public void UpdateUser(Guid guid, string newFIO, int newGroupID)
{
var users = _userRepositoryImpl.GetAllUsers; // Получаем список пользователей
var user = users.FirstOrDefault(u => u.Guid == guid);
if (user != null)
{
user.FIO = newFIO;
user.GroupID = newGroupID;
}
else
{
throw new GuidNotFoundException($"Пользователь с GUID {guid} не найден."); // Кастомное исключение
}
}
}
}

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);
var groupUseCase = new GroupUseCase(groupRepository);
var userConsole = new UserConsole(userUseCase);
var groupConsole = new GroupConsole(groupUseCase);
var mainMenu = new MainMenu(userConsole, groupConsole);
mainMenu.ShowMenu();
}
}

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

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

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

@ -0,0 +1,96 @@
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. Обновить пользователя");
Console.WriteLine("6. Удалить пользователя");
Console.WriteLine("7. Найти пользователя");
Console.WriteLine("8. Выход");
Console.WriteLine("Выберете команду:");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
_userConsole.ShowAllUsers();
break;
case "2":
_groupConsole.ShowAllGroups();
break;
case "3":
_groupConsole.AddGroup();
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("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out Guid userGuid))
{
_userConsole.UpdateUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "6":
Console.WriteLine("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out userGuid))
{
_userConsole.DeleteUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "7":
Console.WriteLine("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out userGuid))
{
_userConsole.FindUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "8":
return;
default:
Console.WriteLine("Ошибка: Выберите корректный пункт меню.");
break;
}
}
}
}
}

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

@ -0,0 +1,60 @@
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.GroupID}");
}
}
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());
_userUseCase.UpdateUser(userGuid, newFIO, newGroupID);
Console.WriteLine("User updated successfully.");
}
public void DeleteUser(Guid userGuid)
{
_userUseCase.DeleteUserByGuid(userGuid);
Console.WriteLine("User deleted successfully.");
}
public void FindUser(Guid userGuid)
{
var user = _userUseCase.FindUserByGuid(userGuid);
if (user != null)
{
Console.WriteLine($"User found: {user.FIO}, Group ID: {user.GroupID}");
}
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+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 @@
efd0090b9c54c0abf864e23fbf373a506c3fb00e3f28b8ef9c89c024ba7d64a7

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 @@
f99c4e359b24acf3225e0e4301aebeedd510c03d00507261adb31764dc1d4cf2

View File

@ -0,0 +1,42 @@
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

Binary file not shown.

View File

@ -0,0 +1 @@
02cdd9e0986a102e7732e877ec932f42f00981a7aa4040bf65a1930454f6c138

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,72 @@
{
"format": 1,
"restore": {
"C:\\Users\\admin\\Downloads\\presence\\Demo\\Demo.csproj": {}
},
"projects": {
"C:\\Users\\admin\\Downloads\\presence\\Demo\\Demo.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\admin\\Downloads\\presence\\Demo\\Demo.csproj",
"projectName": "Demo",
"projectPath": "C:\\Users\\admin\\Downloads\\presence\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "C:\\Users\\admin\\Downloads\\presence\\Demo\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.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.403/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,16 @@
<?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\admin\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\admin\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</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,78 @@
{
"version": 3,
"targets": {
"net8.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
"net8.0": []
},
"packageFolders": {
"C:\\Users\\admin\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\admin\\Downloads\\presence\\Demo\\Demo.csproj",
"projectName": "Demo",
"projectPath": "C:\\Users\\admin\\Downloads\\presence\\Demo\\Demo.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "C:\\Users\\admin\\Downloads\\presence\\Demo\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.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.403/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1,8 @@
{
"version": 2,
"dgSpecHash": "RrqvWWGEBZQ=",
"success": true,
"projectFilePath": "C:\\Users\\admin\\Downloads\\presence\\Demo\\Demo.csproj",
"expectedPackageFiles": [],
"logs": []
}