using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MTP_UManager
{
static class DataManipulator
{
// Initializating.
public static Person user;
public static void Login()
{
string username = "",
password = "";
Console.Write("Пользователь: ");
username = Console.ReadLine();
Console.WriteLine();
Console.Write("Пароль: ");
password = Console.ReadLine();
DataGetter.GetLoginedUserFromDatabase(username, password);
}
public static void SetUpCurrentUser(string username) /**/
{
string[] userData = Database.GetTheUserFromDatabase(username,
out List<string> coursesUserTook, out List<string> coursesUserSee, out List<string> coursesUserEnded);
string status = userData[1];
if (status == "student")
{
user = new Student(username, "студент")
{
AvailableCoursesID = coursesUserSee,
TakenCoursesID = coursesUserTook,
FinishedCoursesID = coursesUserEnded
};
}
else if (/*Status is teacher*/ false)
{
//TODO
}
else if (/*Status is rector*/false)
{
//TODO
}
Renderer.RenderMainPage(user);
}
// Main Page Menu.
public static void CheckUserChoiceInMainPageMenu(Student user, string userChoice)
{
switch (userChoice)
{
case "1":
Renderer.RenderCoursesListPage(user);
break;
case "2":
Renderer.RenderStudentStatsPage(user);
break;
case "3":
Quit();
break;
default:
Renderer.RenderMainPageMessage(user);
CheckUserChoiceInMainPageMenu(user, Renderer.RenderMenu(DataGetter.GetMainPageMenuItems()));//
break;
}
}
// Course List Page.
public static void CheckUserChoiceInCoursesListPageMenu(Student user, string userChoice)
{
switch (userChoice)
{
case "1":
Renderer.RenderSignUpForCoursePageMessage(user);
CheckUserChoiceInMainPageMenu(user, Renderer.RenderMenu(DataGetter.GetMainPageMenuItems()));
break;
case "2":
Renderer.RenderLeaveCoursePageMessage(user);
CheckUserChoiceInMainPageMenu(user, Renderer.RenderMenu(DataGetter.GetMainPageMenuItems()));
break;
case "3":
Renderer.RenderMainPageMessage(user);
CheckUserChoiceInMainPageMenu(user, Renderer.RenderMenu(DataGetter.GetMainPageMenuItems()));
break;
default:
Renderer.RenderCoursesListPage(user);
break;
}
}
public static void SignUpForCourse(Student user, string courseID)
{
if ((!user.FinishedCoursesID.Contains(courseID)) && (!user.TakenCoursesID.Contains(courseID)))
user.TakenCoursesID.Add(courseID);
}
public static void LeaveCourse(Student user, string courseID)
{
user.TakenCoursesID.Remove(courseID);
}
public static void Quit()
{
Renderer.RenderLoginPageMessage();
}
// Course Student Stats.
public static void CheckUserChoiceInStudentStatsPageMenu(Student user, string userChoice)
{
switch (userChoice)
{
case "1":
Renderer.RenderStudentStatsPageMessage(user);
CheckUserChoiceInMainPageMenu(user, Renderer.RenderMenu(DataGetter.GetMainPageMenuItems()));
break;
default:
Renderer.RenderStudentStatsPage(user);
break;
}
}
}
}