update
This commit is contained in:
commit
2971dbdac4
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
|
9
Demo/Data/Exceptions/DataAlreadyExistsException.cs
Normal file
9
Demo/Data/Exceptions/DataAlreadyExistsException.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.Exceptions
|
||||||
|
{
|
||||||
|
public class DataAlreadyExistsException : Exception
|
||||||
|
{
|
||||||
|
public DataAlreadyExistsException(string message) : base(message) { }
|
||||||
|
}
|
||||||
|
}
|
9
Demo/Data/Exceptions/DataNotFoundException.cs
Normal file
9
Demo/Data/Exceptions/DataNotFoundException.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.Exceptions
|
||||||
|
{
|
||||||
|
public class DataNotFoundException : Exception
|
||||||
|
{
|
||||||
|
public DataNotFoundException(string message) : base(message) { }
|
||||||
|
}
|
||||||
|
}
|
9
Demo/Data/Exceptions/GuidNotFoundException.cs
Normal file
9
Demo/Data/Exceptions/GuidNotFoundException.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.Exceptions
|
||||||
|
{
|
||||||
|
public class GuidNotFoundException : Exception
|
||||||
|
{
|
||||||
|
public GuidNotFoundException(string message) : base(message) { }
|
||||||
|
}
|
||||||
|
}
|
9
Demo/Data/Exceptions/InvalidGroupIdException.cs
Normal file
9
Demo/Data/Exceptions/InvalidGroupIdException.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.Exceptions
|
||||||
|
{
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
32
Demo/Data/LocalData/LocalStaticData.cs
Normal file
32
Demo/Data/LocalData/LocalStaticData.cs
Normal 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 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
103
Demo/Data/Repository/GroupRepositoryImpl.cs
Normal file
103
Demo/Data/Repository/GroupRepositoryImpl.cs
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
18
Demo/Data/Repository/IGroupRepository.cs
Normal file
18
Demo/Data/Repository/IGroupRepository.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
64
Demo/Data/Repository/UserRepositoryImpl.cs
Normal file
64
Demo/Data/Repository/UserRepositoryImpl.cs
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<UserLocalEntity> GetAllUsers => _users;
|
||||||
|
|
||||||
|
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} не найден.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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 Group
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public 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; }
|
||||||
|
}
|
||||||
|
}
|
18
Demo/Domain/Models/User.cs
Normal file
18
Demo/Domain/Models/User.cs
Normal 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; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
39
Demo/Domain/UseCase/GroupUseCase.cs
Normal file
39
Demo/Domain/UseCase/GroupUseCase.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
77
Demo/Domain/UseCase/UserUseCase.cs
Normal file
77
Demo/Domain/UseCase/UserUseCase.cs
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
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();
|
||||||
|
|
||||||
|
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
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,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
47
Demo/UI/GroupConsole.cs
Normal 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
107
Demo/UI/MainMenu.cs
Normal 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
68
Demo/UI/UserConsole.cs
Normal 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.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
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+b4e5a3dd2f475e7d74fb288c1de8905f5f994806")]
|
||||||
|
[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 @@
|
|||||||
|
5878b69e5613879bcba64db1891c8a7dbcd49ccef6a7931f8930b38073917d15
|
@ -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\Class_Student\source\repos\Пресенс 1 обнова\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 @@
|
|||||||
|
4b5b0f995b1adfca76622723dd459ae2fd250d0a03dfae990704539081a799be
|
56
Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt
Normal file
56
Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt
Normal 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
|
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 @@
|
|||||||
|
646917542bf92e8c89c0a80da626af33086f53aa936b6509f071016280c8969c
|
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.
68
Demo/obj/Demo.csproj.nuget.dgspec.json
Normal file
68
Demo/obj/Demo.csproj.nuget.dgspec.json
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"format": 1,
|
||||||
|
"restore": {
|
||||||
|
"C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\Demo.csproj": {}
|
||||||
|
},
|
||||||
|
"projects": {
|
||||||
|
"C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\Demo.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\Demo.csproj",
|
||||||
|
"projectName": "Demo",
|
||||||
|
"projectPath": "C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\Demo.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\Class_Student\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\Class_Student\\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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
Demo/obj/Demo.csproj.nuget.g.props
Normal file
15
Demo/obj/Demo.csproj.nuget.g.props
Normal 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\Class_Student\.nuget\packages\</NuGetPackageFolders>
|
||||||
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<SourceRoot Include="C:\Users\Class_Student\.nuget\packages\" />
|
||||||
|
</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.
73
Demo/obj/project.assets.json
Normal file
73
Demo/obj/project.assets.json
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"targets": {
|
||||||
|
"net8.0": {}
|
||||||
|
},
|
||||||
|
"libraries": {},
|
||||||
|
"projectFileDependencyGroups": {
|
||||||
|
"net8.0": []
|
||||||
|
},
|
||||||
|
"packageFolders": {
|
||||||
|
"C:\\Users\\Class_Student\\.nuget\\packages\\": {}
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\Demo.csproj",
|
||||||
|
"projectName": "Demo",
|
||||||
|
"projectPath": "C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\Demo.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\Class_Student\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\Class_Student\\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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
8
Demo/obj/project.nuget.cache
Normal file
8
Demo/obj/project.nuget.cache
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"dgSpecHash": "lD1Jh1lqFLo=",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "C:\\Users\\Class_Student\\source\\repos\\Пресенс 1 обнова\\Demo\\Demo.csproj",
|
||||||
|
"expectedPackageFiles": [],
|
||||||
|
"logs": []
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user