slarny4/Demo1/Program.cs
2024-10-22 01:57:01 +03:00

242 lines
9.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Demo.Data.LocalData;
using Demo.Data.LocalData.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
bool exit = false;
while (!exit)
{
Console.Clear();
Console.WriteLine("1. Показать всех пользователей");
Console.WriteLine("2. Удалить пользователя по GUID");
Console.WriteLine("3. Обновить пользователя");
Console.WriteLine("4. Найти пользователя по GUID");
Console.WriteLine("5. Показать все группы");
Console.WriteLine("6. Добавить группу");
Console.WriteLine("7. Обновить группу");
Console.WriteLine("8. Удалить группу по ID");
Console.WriteLine("9. Найти группу по ID");
Console.WriteLine("0. Выход");
Console.Write("Выберите опцию: ");
var choice = Console.ReadLine();
switch (choice)
{
case "1":
ShowUsers();
break;
case "2":
DeleteUserByGuid();
break;
case "3":
UpdateUser();
break;
case "4":
FindUserByGuid();
break;
case "5":
ShowGroups();
break;
case "6":
AddGroup();
break;
case "7":
UpdateGroup();
break;
case "8":
DeleteGroupById();
break;
case "9":
FindGroupById();
break;
case "0":
exit = true;
break;
default:
Console.WriteLine("Неверный выбор. Нажмите любую клавишу для продолжения.");
Console.ReadKey();
break;
}
}
}
static void ShowUsers()
{
Console.Clear();
foreach (var user in LocalStaticData.Users)
{
Console.WriteLine($"ID: {user.Id}, ФИО: {user.FIO}, GroupID: {user.GroupID}");
}
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
static void DeleteUserByGuid()
{
Console.Clear();
Console.Write("Введите GUID пользователя для удаления: ");
if (Guid.TryParse(Console.ReadLine(), out Guid userId))
{
var user = LocalStaticData.Users.FirstOrDefault(u => u.Id == userId);
if (user != null)
{
LocalStaticData.Users.Remove(user);
Console.WriteLine("Пользователь удалён.");
}
else
{
Console.WriteLine("Пользователь не найден.");
}
}
else
{
Console.WriteLine("Неверный формат GUID.");
}
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
static void UpdateUser()
{
Console.Clear();
Console.Write("Введите GUID пользователя для обновления: ");
if (Guid.TryParse(Console.ReadLine(), out Guid userId))
{
var user = LocalStaticData.Users.FirstOrDefault(u => u.Id == userId);
if (user != null)
{
Console.Write("Введите новое ФИО: ");
user.FIO = Console.ReadLine();
Console.Write("Введите новый GroupID: ");
if (int.TryParse(Console.ReadLine(), out int groupId))
{
user.GroupID = groupId;
Console.WriteLine("Пользователь обновлён.");
}
else
{
Console.WriteLine("Неверный формат GroupID.");
}
}
else
{
Console.WriteLine("Пользователь не найден.");
}
}
else
{
Console.WriteLine("Неверный формат GUID.");
}
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
static void FindUserByGuid()
{
Console.Clear();
Console.Write("Введите GUID пользователя для поиска: ");
if (Guid.TryParse(Console.ReadLine(), out Guid userId))
{
var user = LocalStaticData.Users.FirstOrDefault(u => u.Id == userId);
if (user != null)
{
Console.WriteLine($"ID: {user.Id}, ФИО: {user.FIO}, GroupID: {user.GroupID}");
}
else
{
Console.WriteLine("Пользователь не найден.");
}
}
else
{
Console.WriteLine("Неверный формат GUID.");
}
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
static void ShowGroups()
{
Console.Clear();
Console.WriteLine("Список групп:");
foreach (var group in LocalStaticData.Groups)
{
Console.WriteLine(group);
}
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
static void AddGroup()
{
Console.Clear();
Console.Write("Введите название группы для добавления: ");
var groupName = Console.ReadLine();
LocalStaticData.Groups.Add(groupName);
Console.WriteLine("Группа добавлена.");
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
static void UpdateGroup()
{
Console.Clear();
Console.Write("Введите индекс группы для обновления (начиная с 0): ");
if (int.TryParse(Console.ReadLine(), out int index) && index >= 0 && index < LocalStaticData.Groups.Count)
{
Console.Write("Введите новое название группы: ");
LocalStaticData.Groups[index] = Console.ReadLine();
Console.WriteLine("Группа обновлена.");
}
else
{
Console.WriteLine("Неверный индекс группы.");
}
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
static void DeleteGroupById()
{
Console.Clear();
Console.Write("Введите индекс группы для удаления (начиная с 0): ");
if (int.TryParse(Console.ReadLine(), out int index) && index >= 0 && index < LocalStaticData.Groups.Count)
{
LocalStaticData.Groups.RemoveAt(index);
Console.WriteLine("Группа удалена.");
}
else
{
Console.WriteLine("Неверный индекс группы.");
}
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
static void FindGroupById()
{
Console.Clear();
Console.Write("Введите индекс группы для поиска (начиная с 0): ");
if (int.TryParse(Console.ReadLine(), out int index) && index >= 0 && index < LocalStaticData.Groups.Count)
{
Console.WriteLine($"Группа: {LocalStaticData.Groups[index]}");
}
else
{
Console.WriteLine("Группа не найдена.");
}
Console.WriteLine("Нажмите любую клавишу для продолжения.");
Console.ReadKey();
}
}
}