-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDZ59.cs
153 lines (129 loc) · 5 KB
/
DZ59.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace UserManagementSystem
{
public class Program
{
static string filePath = "users.xml";
static void Main(string[] args)
{
List<User> users = LoadUsers();
while (true)
{
Console.WriteLine("1. Реєстрація користувача");
Console.WriteLine("2. Авторизація адміністратора");
Console.WriteLine("3. Вийти");
Console.Write("Виберіть опцію: ");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
RegisterUser(users);
break;
case "2":
AdminLogin(users);
break;
case "3":
Environment.Exit(0);
break;
default:
Console.WriteLine("Невірний вибір. Спробуйте ще раз.");
break;
}
}
}
static void RegisterUser(List<User> users)
{
Console.Write("Введіть електронну пошту: ");
string email = Console.ReadLine();
if (IsUserExists(users, email))
{
Console.WriteLine("Користувач з такою поштою вже існує.");
return;
}
Console.Write("Введіть пароль: ");
string password = Console.ReadLine();
Console.Write("Введіть повне ім'я: ");
string fullName = Console.ReadLine();
Console.Write("Введіть дату народження (рррр-мм-дд): ");
string dateOfBirth = Console.ReadLine();
Console.Write("Введіть номер телефону: ");
string phoneNumber = Console.ReadLine();
User newUser = new User(email, password, fullName, dateOfBirth, phoneNumber);
users.Add(newUser);
SaveUsers(users);
Console.WriteLine("Користувач успішно зареєстрований.");
}
static void AdminLogin(List<User> users)
{
Console.Write("Введіть пароль адміністратора: ");
string adminPassword = Console.ReadLine();
if (adminPassword == "adminPassword")
{
Console.WriteLine("Список користувачів:");
foreach (var user in users)
{
Console.WriteLine($"Електронна пошта: {user.Email}, Повне ім'я: {user.FullName}, Дата народження: {user.DateOfBirth}, Номер телефону: {user.PhoneNumber}");
}
}
else
{
Console.WriteLine("Невірний пароль адміністратора.");
}
}
static List<User> LoadUsers()
{
List<User> users = new List<User>();
if (File.Exists(filePath))
{
XmlSerializer serializer = new XmlSerializer(typeof(List<User>));
using (StreamReader reader = new StreamReader(filePath))
{
users = (List<User>)serializer.Deserialize(reader);
}
}
return users;
}
static void SaveUsers(List<User> users)
{
XmlSerializer serializer = new XmlSerializer(typeof(List<User>));
using (StreamWriter writer = new StreamWriter(filePath))
{
serializer.Serialize(writer, users);
}
}
static bool IsUserExists(List<User> users, string email)
{
foreach (var user in users)
{
if (user.Email == email)
{
return true;
}
}
return false;
}
}
public class User
{
public string Email { get; set; }
public string Password { get; set; }
public string FullName { get; set; }
public string DateOfBirth { get; set; }
public string PhoneNumber { get; set; }
public User() { }
public User(string email, string password, string fullName, string dateOfBirth, string phoneNumber)
{
Email = email;
Password = password;
FullName = fullName;
DateOfBirth = dateOfBirth;
PhoneNumber = phoneNumber;
}
}
}