async Task <Enums.AvailiabilityEnum> checkDisplayNameAvailability(Providers.StudentProvider provider, Interfaces.IConnectionUtility connection, string displayName) { try { var result = await provider.CheckDisplayNameAlreadyUsed(connection, displayName); if (result) { return(Enums.AvailiabilityEnum.NotAvailable); } return(Enums.AvailiabilityEnum.Available); } catch { return(Enums.AvailiabilityEnum.Unknown); } }
async Task <Enums.AvailiabilityEnum> checkEmailAvailability(Providers.StudentProvider provider, Interfaces.IConnectionUtility connection, string email) { try { var result = await provider.CheckEmailAlreadyRegistered(connection, email); if (result) { return(Enums.AvailiabilityEnum.NotAvailable); } return(Enums.AvailiabilityEnum.Available); } catch { return(Enums.AvailiabilityEnum.Unknown); } }
public async Task <StudentValidationResult> ValidateStudent(Providers.StudentProvider provider, Interfaces.IConnectionUtility conn, ViewModels.StudentVM studentVM) { var result = new StudentValidationResult(); result.DisplayNameError = !checkDisplayName(studentVM.StudentDisplayName); result.NameError = !checkName(studentVM.StudentName); result.EmailError = !checkEmail(studentVM.StudentEmail); if (!result.EmailError) { result.EmailAvailiability = await checkEmailAvailability(provider, conn, studentVM.StudentEmail); } if (!result.DisplayNameError) { result.DisplayNameAvaliability = await checkDisplayNameAvailability(provider, conn, studentVM.StudentDisplayName); } result.PasswordError = !checkPassword(studentVM.Password); return(result); }