using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace AlenaTest.Pages
{
///
/// Логика взаимодействия для TestPage.xaml
///
public partial class TestPage : Page
{
public int PointsCoder = 0;
public int PointsWeb = 0;
public int PointsDB = 0;
public string Path = "\\q.csv";
public class Question
{
public string Title { get; set; }
public string A1 { get; set; }
public string A2 { get; set; }
public string A3 { get; set; }
public string A1r { get; set; }
public string A2r { get; set; }
public string A3r { get; set; }
}
List questions = new List();
List<(string, string)> answers = new List<(string, string)>();
public TestPage()
{
InitializeComponent();
var lines = File.ReadAllLines(Environment.CurrentDirectory + Path);
int j = 1;
var q = new Question();
for (int i = 0; i < lines.Length; i++)
{
var data = lines[i].Split(";");
q.Title = data[0];
if (j == 1)
{
q.A1 = data[1];
q.A1r = data[2];
}
if (j == 2)
{
q.A2 = data[1];
q.A2r = data[2];
}
if (j == 3)
{
q.A3 = data[1];
q.A3r = data[2];
j = 1;
questions.Add(q);
answers.Add((q.Title, ""));
q = new Question();
continue;
}
j++;
}
list.ItemsSource = questions;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
PointsCoder = 0;
PointsDB = 0;
PointsWeb = 0;
for (int i = 0; i < answers.Count; i++)
{
if (answers[i].Item2 == "")
{
MessageBox.Show("Не все ответы выбраны!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
switch (answers[i].Item2)
{
case "Прогер":
{
PointsCoder++;
} break;
case "БД":
{
PointsDB++;
}
break;
case "Веб":
{
PointsWeb++;
}
break;
default:
break;
}
}
if (PointsCoder > PointsDB)
{
if (PointsCoder > PointsWeb)
{
MessageBox.Show("Ваш результат - программист!", "Результат");
}
else
{
if (PointsWeb > PointsDB)
{
if (PointsCoder == PointsWeb)
{
MessageBox.Show("Ваш результат - программист и веб-разработчик!", "Результат");
}
else
{
MessageBox.Show("Ваш результат - веб-разработчик!", "Результат");
}
}
}
}
else
{
if (PointsWeb > PointsCoder)
{
if (PointsDB > PointsWeb)
{
MessageBox.Show("Ваш результат - администратор баз данных", "Результат");
}
else
{
if (PointsDB == PointsWeb)
{
MessageBox.Show("Ваш результат - администратор баз данных и веб-разработчик!", "Результат");
}
else
{
MessageBox.Show("Ваш результат - веб-разработчик!", "Результат");
}
}
}
else
{
if (PointsDB > PointsWeb)
{
if (PointsCoder == PointsDB)
{
MessageBox.Show("Ваш результат - администратор баз данных и программист", "Результат");
}
else
{
MessageBox.Show("Ваш результат - администратор баз данных", "Результат");
}
}
}
}
if (PointsWeb == PointsCoder && PointsWeb == PointsDB && PointsDB == PointsCoder)
{
MessageBox.Show("Поздравляю! Вам подходят все виды профессий!", "Результат");
}
}
private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
var radio = (RadioButton)sender;
var q = (Question)(radio).DataContext;
string role = "";
if (q.A1 == radio.Content.ToString()) role = q.A1r;
if (q.A2 == radio.Content.ToString()) role = q.A2r;
if (q.A3 == radio.Content.ToString()) role = q.A3r;
var index = answers.FindIndex(a => a.Item1 == q.Title);
answers[index] = (q.Title, role);
}
}
}