Skip to content

Commit

Permalink
[PR] [#220] Delete account & various fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ilyalehchylin committed Nov 4, 2022
2 parents 18b8ebb + 71660f5 commit fbe80e6
Show file tree
Hide file tree
Showing 5 changed files with 113 additions and 42 deletions.
2 changes: 1 addition & 1 deletion source/EduCATS/Networking/Links.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public static class Links
/// <summary>
/// Get lectures URL.
/// </summary>
public static string GetLectures =>$"{Servers.Current}/Services/Lectures/LecturesService.svc/GetLecturesMarkVisitingV2";
public static string GetLectures =>$"{Servers.Current}/Services/CoreService.svc/GetLecturesMarkVisitingV2";

/// <summary>
/// Get avaiable tests URL.
Expand Down
26 changes: 16 additions & 10 deletions source/EduCATS/Pages/Login/ViewModels/LoginPageViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ async Task<UserModel> loginRequest()
httpWebRequest.Headers.Add("Sec-Fetch-Dest", "empty");
httpWebRequest.Headers.Add("Sec-Fetch-Mode", "cors");
httpWebRequest.Headers.Add("Sec-Fetch-Site", "same-origin");

string json = body;
byte[] byte1 = Encoding.UTF8.GetBytes(json);
httpWebRequest.ContentLength = byte1.Length;
Expand All @@ -355,17 +355,23 @@ async Task<UserModel> loginRequest()
streamWriter.Close();
}
var tok = "";
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))

try
{
tok = streamReader.ReadToEnd();
streamReader.Close();
var httpResponse = httpWebRequest.GetResponse();

using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
tok = streamReader.ReadToEnd();
streamReader.Close();
}
var token = JsonConvert.DeserializeObject<TokenModel>(tok);
_services.Preferences.AccessToken = token.Token;
SecondUserModel userLoginTest = await DataAccess.LoginTest(Username, Password);
userLogin.UserId = userLoginTest.Id;
userLogin.Username = userLoginTest.Username;
}
var token = JsonConvert.DeserializeObject<TokenModel>(tok);
_services.Preferences.AccessToken = token.Token;
SecondUserModel userLoginTest = await DataAccess.LoginTest(Username, Password);
userLogin.UserId = userLoginTest.Id;
userLogin.Username = userLoginTest.Username;
catch (Exception) { }
}
}
AppUserData.SetLoginData(_services, userLogin.UserId, userLogin.Username);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,21 +50,23 @@ public Command ParentalCommand

public new void Init()
{
setPagesList();
//setPagesList();
setCollapsedDetails();

_service.Device.MainThread(async () =>
{
IsLoading = true;
SetupSubjects();
await getAndSetStatistics();
await setButtonsList();
IsLoading = false;
});

SubjectChanged += async (id, name) =>
{
PlatformServices.Dialogs.ShowLoading();
await getAndSetStatistics();
await setButtonsList();
PlatformServices.Dialogs.HideLoading();
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using EduCATS.Data.User;
using EduCATS.Helpers.Forms;
using EduCATS.Helpers.Logs;
using EduCATS.Networking;
using EduCATS.Pages.Settings.Base.Models;
using EduCATS.Themes;
using Nyxbull.Plugins.CrossLocalization;
Expand Down Expand Up @@ -97,9 +98,13 @@ void setSettings()
createItem(Theme.Current.SettingsLanguageIcon, "settings_language"),
createItem(Theme.Current.SettingsThemeIcon, "settings_theme"),
createItem(Theme.Current.SettingsFontIcon, "settings_font"),
createItem(Theme.Current.BaseCloseIcon, "settings_delete"),
createItem(Theme.Current.SettingsAboutIcon, "settings_about")
};
};

if (_services.Preferences.Server == Servers.EduCatsAddress)
{
SettingsList.Add(createItem(Theme.Current.BaseCloseIcon, "settings_delete"));
}

if (IsLoggedIn) {
SettingsList.Add(createItem(Theme.Current.SettingsLogoutIcon, "settings_logout"));
Expand Down
114 changes: 86 additions & 28 deletions source/EduCATS/Pages/Statistics/Base/ViewModels/StatsPageViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
using EduCATS.Helpers.Logs;
using EduCATS.Networking;
using EduCATS.Networking.Models.SaveMarks;
using EduCATS.Networking.Models.SaveMarks.LabSchedule;
using EduCATS.Networking.Models.SaveMarks.Practicals;
using EduCATS.Pages.Pickers;
using EduCATS.Pages.Statistics.Base.Models;
Expand All @@ -34,19 +35,21 @@ public StatsPageViewModel(IPlatformServices services) : base(services)

public void Init()
{
setPagesList();
//setPagesList();
setCollapsedDetails();

_service.Device.MainThread(async () => {
IsLoading = true;
await SetupSubjects();
await getAndSetStatistics();
await setButtonsList();
checkStudent();
IsLoading = false;
});

SubjectChanged += async (id, name) => {
_service.Dialogs.ShowLoading();
await setButtonsList();
await getAndSetStatistics();
checkStudent();
_service.Dialogs.HideLoading();
Expand Down Expand Up @@ -154,15 +157,73 @@ public string AveragePract
}
}

public void setPagesList()
public async Task setButtonsList()
{
bool isLabs = false;
bool isPract = false;

var dataPract = await DataAccess.GetPractTest(CurrentSubject.Id, PlatformServices.Preferences.GroupId);
if (dataPract.Practicals.Count != 0)
{
isPract = true;
}

var dataLabs = new LabsModel();
var dataTestLabs = new TakedLabs();

if (Servers.Current == Servers.EduCatsAddress)
{
dataTestLabs = await DataAccess.GetLabsTest(CurrentSubject.Id, PlatformServices.Preferences.GroupId);
if (dataTestLabs.Labs.Count != 0)
{
isLabs = true;
}
}
else
{
dataLabs = await DataAccess.GetLabs(CurrentSubject.Id, PlatformServices.Preferences.GroupId);
if (dataLabs.Labs.Count != 0)
{
isLabs = true;
}
}

setPagesList(isLabs, isPract);
}

public void setPagesList(bool isLabs, bool isPract)
{
PagesList = new List<StatsPageModel> {
getPage("stats_page_lectures_visiting"),
getPage("practiсe_visiting"),
getPage("practice_mark"),
getPage("stats_page_labs_visiting"),
getPage("stats_page_labs_rating"),
};
if (isPract && isLabs)
{
PagesList = new List<StatsPageModel> {
getPage("stats_page_lectures_visiting"),
getPage("practiсe_visiting"),
getPage("practice_mark"),
getPage("stats_page_labs_visiting"),
getPage("stats_page_labs_rating"),
};
}
else if (isPract)
{
PagesList = new List<StatsPageModel> {
getPage("stats_page_lectures_visiting"),
getPage("practiсe_visiting"),
getPage("practice_mark"),
};
}
else if (isLabs)
{
PagesList = new List<StatsPageModel> {
getPage("stats_page_lectures_visiting"),
getPage("stats_page_labs_visiting"),
getPage("stats_page_labs_rating"),
};
}
else
{
PagesList = new List<StatsPageModel> {
getPage("stats_page_lectures_visiting") };
}
}

public void setCollapsedDetails(bool isCollapsed = true)
Expand Down Expand Up @@ -226,27 +287,22 @@ protected virtual void openPage(object selectedObject)
var page = selectedObject as StatsPageModel;
var pageType = getPageToOpen(page.Title);

if (Servers.Current == Servers.EduCatsAddress)
if (AppUserData.UserType == UserTypeEnum.Professor)
{
PlatformServices.Navigation.OpenStudentsListStats(
(int)pageType, CurrentSubject.Id, _students, page.Title);
return;
}
else
{
if (AppUserData.UserType == UserTypeEnum.Professor)
var user = _students.SingleOrDefault(s => s.StudentId == PlatformServices.Preferences.UserId);
if (user == null)
{
PlatformServices.Navigation.OpenStudentsListStats(
(int)pageType, CurrentSubject.Id, _students, page.Title);
return;
}
else
{
var user = _students.SingleOrDefault(s => s.StudentId == PlatformServices.Preferences.UserId);
if (user == null)
{
return;
}
PlatformServices.Navigation.OpenDetailedStatistics(
user.Login, CurrentSubject.Id, PlatformServices.Preferences.GroupId, (int)pageType, page.Title, user.Name);
}
}


PlatformServices.Navigation.OpenDetailedStatistics(
user.Login, CurrentSubject.Id, PlatformServices.Preferences.GroupId, (int)pageType, page.Title, user.Name);
}

}
catch (Exception ex)
Expand Down Expand Up @@ -358,7 +414,8 @@ void setChartData(StatsStudentModel stats, LaboratoryWorksModel currentPractStud
avgLabs = calculateAvgLabsMarkTest(currentPractStudentStatistics.LabsMarks);
AverageLabs = avgLabs.ToString(_doubleStringFormat, CultureInfo.InvariantCulture);

avgTests = currentPractStudentStatistics.TestMark.StringToDouble();
avgTests = double.Parse(currentPractStudentStatistics.TestMark, CultureInfo.InvariantCulture);

AverageTests = avgTests.ToString(_doubleStringFormat, CultureInfo.InvariantCulture);

if (worksModel.PracticalsMarks.Count == 0)
Expand All @@ -385,7 +442,8 @@ void setChartData(StatsStudentModel stats, LaboratoryWorksModel currentPractStud
avgLabs = calculateAvgLabsMark(stats.MarkList);
AverageLabs = avgLabs.ToString(_doubleStringFormat, CultureInfo.InvariantCulture);

avgTests = stats.AverageTestMark.StringToDouble();
avgTests = double.Parse(stats.AverageTestMark, CultureInfo.InvariantCulture);

AverageTests = avgTests.ToString(_doubleStringFormat, CultureInfo.InvariantCulture);

rating = (avgLabs + avgTests) / 2;
Expand Down

0 comments on commit fbe80e6

Please sign in to comment.