init
This commit is contained in:
commit
813a0174bb
25
Demo.sln
Normal file
25
Demo.sln
Normal 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
|
10
Demo/Data/Exceptions/DataAlreadyExistsException.cs
Normal file
10
Demo/Data/Exceptions/DataAlreadyExistsException.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.Exceptions
|
||||||
|
{
|
||||||
|
// Исключение для случая, когда данные уже существуют
|
||||||
|
public class DataAlreadyExistsException : Exception
|
||||||
|
{
|
||||||
|
public DataAlreadyExistsException(string message) : base(message) { }
|
||||||
|
}
|
||||||
|
}
|
10
Demo/Data/Exceptions/DataNotFoundException.cs
Normal file
10
Demo/Data/Exceptions/DataNotFoundException.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.Exceptions
|
||||||
|
{
|
||||||
|
// Исключение для случая, когда данные не найдены
|
||||||
|
public class DataNotFoundException : Exception
|
||||||
|
{
|
||||||
|
public DataNotFoundException(string message) : base(message) { }
|
||||||
|
}
|
||||||
|
}
|
10
Demo/Data/Exceptions/GuidNotFoundException.cs
Normal file
10
Demo/Data/Exceptions/GuidNotFoundException.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.Exceptions
|
||||||
|
{
|
||||||
|
// Исключение для случая, когда GUID не найден
|
||||||
|
public class GuidNotFoundException : Exception
|
||||||
|
{
|
||||||
|
public GuidNotFoundException(string message) : base(message) { }
|
||||||
|
}
|
||||||
|
}
|
10
Demo/Data/Exceptions/InvalidGroupIdException.cs
Normal file
10
Demo/Data/Exceptions/InvalidGroupIdException.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.Exceptions
|
||||||
|
{
|
||||||
|
// Исключение для случаев, когда передан некорректный или несуществующий ID группы
|
||||||
|
public class InvalidGroupIdException : Exception
|
||||||
|
{
|
||||||
|
public InvalidGroupIdException(string message) : base(message) { }
|
||||||
|
}
|
||||||
|
}
|
8
Demo/Data/LocalData/Entity/Group.cs
Normal file
8
Demo/Data/LocalData/Entity/Group.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
namespace Demo.Domain.Models
|
||||||
|
{
|
||||||
|
public class GroupLocalEntity
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
}
|
||||||
|
}
|
12
Demo/Data/LocalData/Entity/Presence.cs
Normal file
12
Demo/Data/LocalData/Entity/Presence.cs
Normal 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; }
|
||||||
|
}
|
||||||
|
}
|
25
Demo/Data/LocalData/Entity/User.cs
Normal file
25
Demo/Data/LocalData/Entity/User.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
31
Demo/Data/LocalData/LocalStaticData.cs
Normal file
31
Demo/Data/LocalData/LocalStaticData.cs
Normal 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 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
84
Demo/Data/Repository/GroupRepositoryImpl.cs
Normal file
84
Demo/Data/Repository/GroupRepositoryImpl.cs
Normal 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}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
68
Demo/Data/Repository/UserRepositoryImpl.cs
Normal file
68
Demo/Data/Repository/UserRepositoryImpl.cs
Normal 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
14
Demo/Demo.csproj
Normal 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>
|
14
Demo/Domain/Models/Group.cs
Normal file
14
Demo/Domain/Models/Group.cs
Normal 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; }
|
||||||
|
}
|
||||||
|
}
|
10
Demo/Domain/Models/Presence.cs
Normal file
10
Demo/Domain/Models/Presence.cs
Normal 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; }
|
||||||
|
}
|
||||||
|
}
|
16
Demo/Domain/Models/User.cs
Normal file
16
Demo/Domain/Models/User.cs
Normal 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; }
|
||||||
|
}
|
||||||
|
}
|
30
Demo/Domain/UseCase/GroupUseCase.cs
Normal file
30
Demo/Domain/UseCase/GroupUseCase.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
84
Demo/Domain/UseCase/UserUseCase.cs
Normal file
84
Demo/Domain/UseCase/UserUseCase.cs
Normal 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
21
Demo/Program.cs
Normal 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
43
Demo/UI/GroupConsole.cs
Normal 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
96
Demo/UI/MainMenu.cs
Normal 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
60
Demo/UI/UserConsole.cs
Normal 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.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
23
Demo/bin/Debug/net8.0/Demo.deps.json
Normal file
23
Demo/bin/Debug/net8.0/Demo.deps.json
Normal 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": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
Demo/bin/Debug/net8.0/Demo.dll
Normal file
BIN
Demo/bin/Debug/net8.0/Demo.dll
Normal file
Binary file not shown.
BIN
Demo/bin/Debug/net8.0/Demo.exe
Normal file
BIN
Demo/bin/Debug/net8.0/Demo.exe
Normal file
Binary file not shown.
BIN
Demo/bin/Debug/net8.0/Demo.pdb
Normal file
BIN
Demo/bin/Debug/net8.0/Demo.pdb
Normal file
Binary file not shown.
12
Demo/bin/Debug/net8.0/Demo.runtimeconfig.json
Normal file
12
Demo/bin/Debug/net8.0/Demo.runtimeconfig.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net8.0",
|
||||||
|
"framework": {
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "8.0.0"
|
||||||
|
},
|
||||||
|
"configProperties": {
|
||||||
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
23
Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs
Normal file
23
Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs
Normal 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.
|
||||||
|
|
1
Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache
Normal file
1
Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache
Normal file
@ -0,0 +1 @@
|
|||||||
|
efd0090b9c54c0abf864e23fbf373a506c3fb00e3f28b8ef9c89c024ba7d64a7
|
@ -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 =
|
8
Demo/obj/Debug/net8.0/Demo.GlobalUsings.g.cs
Normal file
8
Demo/obj/Debug/net8.0/Demo.GlobalUsings.g.cs
Normal 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;
|
BIN
Demo/obj/Debug/net8.0/Demo.assets.cache
Normal file
BIN
Demo/obj/Debug/net8.0/Demo.assets.cache
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
f99c4e359b24acf3225e0e4301aebeedd510c03d00507261adb31764dc1d4cf2
|
42
Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt
Normal file
42
Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt
Normal 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
|
BIN
Demo/obj/Debug/net8.0/Demo.dll
Normal file
BIN
Demo/obj/Debug/net8.0/Demo.dll
Normal file
Binary file not shown.
1
Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache
Normal file
1
Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache
Normal file
@ -0,0 +1 @@
|
|||||||
|
02cdd9e0986a102e7732e877ec932f42f00981a7aa4040bf65a1930454f6c138
|
BIN
Demo/obj/Debug/net8.0/Demo.pdb
Normal file
BIN
Demo/obj/Debug/net8.0/Demo.pdb
Normal file
Binary file not shown.
BIN
Demo/obj/Debug/net8.0/apphost.exe
Normal file
BIN
Demo/obj/Debug/net8.0/apphost.exe
Normal file
Binary file not shown.
BIN
Demo/obj/Debug/net8.0/ref/Demo.dll
Normal file
BIN
Demo/obj/Debug/net8.0/ref/Demo.dll
Normal file
Binary file not shown.
BIN
Demo/obj/Debug/net8.0/refint/Demo.dll
Normal file
BIN
Demo/obj/Debug/net8.0/refint/Demo.dll
Normal file
Binary file not shown.
72
Demo/obj/Demo.csproj.nuget.dgspec.json
Normal file
72
Demo/obj/Demo.csproj.nuget.dgspec.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
16
Demo/obj/Demo.csproj.nuget.g.props
Normal file
16
Demo/obj/Demo.csproj.nuget.g.props
Normal 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>
|
2
Demo/obj/Demo.csproj.nuget.g.targets
Normal file
2
Demo/obj/Demo.csproj.nuget.g.targets
Normal 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" />
|
@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
23
Demo/obj/Release/net8.0/Demo.AssemblyInfo.cs
Normal file
23
Demo/obj/Release/net8.0/Demo.AssemblyInfo.cs
Normal 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.
|
||||||
|
|
1
Demo/obj/Release/net8.0/Demo.AssemblyInfoInputs.cache
Normal file
1
Demo/obj/Release/net8.0/Demo.AssemblyInfoInputs.cache
Normal file
@ -0,0 +1 @@
|
|||||||
|
5de05b4a35f41436d5b2174788ce9573db675ed8b8e335f323628d840c587465
|
@ -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 =
|
8
Demo/obj/Release/net8.0/Demo.GlobalUsings.g.cs
Normal file
8
Demo/obj/Release/net8.0/Demo.GlobalUsings.g.cs
Normal 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;
|
BIN
Demo/obj/Release/net8.0/Demo.assets.cache
Normal file
BIN
Demo/obj/Release/net8.0/Demo.assets.cache
Normal file
Binary file not shown.
78
Demo/obj/project.assets.json
Normal file
78
Demo/obj/project.assets.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
8
Demo/obj/project.nuget.cache
Normal file
8
Demo/obj/project.nuget.cache
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"dgSpecHash": "RrqvWWGEBZQ=",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "C:\\Users\\admin\\Downloads\\presence\\Demo\\Demo.csproj",
|
||||||
|
"expectedPackageFiles": [],
|
||||||
|
"logs": []
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user