{
Console.Write("\n Ваш выбор: ");
key = Console.ReadKey();
string sKey = Convert.ToString(key.KeyChar);
switch (sKey)
{
case "1": //переход в меню создания извещения на оплату
if (Tree.itemsNode != 0)
{
Console.WriteLine();
PricePhoneDialog(tree);
Console.WriteLine("\n 1. Извещение на оплату телефонного разговора");
Console.WriteLine(" 0. Выход в главное меню(клавиша ESC)");
}
else
Console.WriteLine("\n Картотека пуста!");
break;
case "0": //выход в главное меню
return;
break;
}
} while (key.Key != ConsoleKey.Escape);
}
//Меню для определения стоимости разговора
public static void PricePhoneDialog(Tree tree)
{
do
{
string sPhone = "";
ConsoleKeyInfo temp;
uint Phone = 0;
Console.Write("\n Номер телефона(ххх:хх:хх): ");
for (int i = 0; i < 7; i++)
{
temp = Console.ReadKey();
sPhone = sPhone + temp.KeyChar;
if (i == 2) Console.Write("-");
if (i == 4) Console.Write("-");
}
//контроль ввода номера телефона
try
{
Phone = uint.Parse(sPhone);
string FILE_NAME = sPhone + ".txt";
Tree.iSearch = false;
tree.TreeSearch(Phone);
if (Tree.iSearch == false) Console.WriteLine("\n Такой номер не найден");
else
{
bool index = false;
string sPrace = "";
uint Prace = 0;
do
{
Console.Write("\n Введите цену за минуту разговора: ");
sPrace = Console.ReadLine();
//контроль ввода цены разговора
try
{
Prace = uint.Parse(sPrace);
index = true;
}
catch (Exception)
{
Console.WriteLine("\n Ошибка: \"Цена\" не соответствует формату!");
continue;
}
} while (index != true);
//создание файла с извещением
if (File.Exists(FILE_NAME)) File.Delete(FILE_NAME);
using (StreamWriter output = File.CreateText(FILE_NAME))
{
sPhone = sPhone.Insert(3, "-");
sPhone = sPhone.Insert(6, "-");
output.WriteLine("Абонент: {0}", Tree.SearchName);
output.WriteLine("Номер телефона: {0}", sPhone);
output.WriteLine("Время разговора: {0}", Tree.SearchSTime);
output.WriteLine("Цена за минуту разговора: {0}", Prace);
output.WriteLine("===============");
output.WriteLine("Итого к оплате: {0}", Prace * (Convert.ToUInt32(Tree.SearchTime / 60) + 1));
Console.WriteLine("\n Файл {0} , с извещением на оплату, был успешно создан", FILE_NAME);
}
}
break;
}
catch (Exception)
{
Console.WriteLine("\n Ошибка: \"Номер телефона\" не соответствует формату!");
}
} while (true);
}
}
}