/// <summary> /// Gets a account from the database /// </summary> /// <param name="email">email to login with</param> /// <returns></returns> public Account GetAccount(string email) { try { int someid = -1; someid = GetClientIdByEmail(email); if (someid != -1) { Connect(); Client returnclient = null; using (cmd = new OracleCommand()) { cmd.Connection = con; cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT * FROM TACCOUNT A, TGEBRUIKER G, THULPBEHOEVENDE H WHERE A.ID = G.ACCOUNTID AND H.GEBRUIKERID = G.ID AND LOWER(A.EMAIL) = LOWER(:email)"; cmd.Parameters.Add("email", email); dr = cmd.ExecuteReader(); while (dr.Read()) { var accountid = SafeReadInt(dr, 0); var username = SafeReadString(dr, 1); var password = SafeReadString(dr, 2); var clientemail = SafeReadString(dr, 3); var userid = SafeReadInt(dr, 4); var name = SafeReadString(dr, 5); var adress = SafeReadString(dr, 6); var location = SafeReadString(dr, 7); var phonenumber = SafeReadString(dr, 8); var haslicense = SafeReadString(dr, 9); var hascar = SafeReadString(dr, 10); var unsubscribedate = SafeReadDateTime(dr, 11); var trash1 = SafeReadInt(dr, 12); var clientid = SafeReadInt(dr, 13); var ovpossible = SafeReadString(dr, 14); var thrash2 = SafeReadInt(dr, 15); // Create returnclient = new Client(accountid, username, password, clientemail, userid, name, adress, location, phonenumber, haslicense, hascar, clientid, ovpossible, unsubscribedate); } return returnclient; } } someid = GetVolunteerIdByEmail(email); if (someid != -1) { Connect(); Volunteer returnvolunteer = null; using (cmd = new OracleCommand()) { cmd.Connection = con; cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT * FROM TACCOUNT A, TGEBRUIKER G, TVRIJWILLIGER V WHERE A.ID = G.ACCOUNTID AND G.ID = V.GEBRUIKERID AND LOWER(A.EMAIL) = LOWER(:email)"; cmd.Parameters.Add("email", email); dr = cmd.ExecuteReader(); while (dr.Read()) { var accountid = SafeReadInt(dr, 0); var username = SafeReadString(dr, 1); var password = SafeReadString(dr, 2); var volunteeremail = SafeReadString(dr, 3); var userid = SafeReadInt(dr, 4); var name = SafeReadString(dr, 5); var adress = SafeReadString(dr, 6); var location = SafeReadString(dr, 7); var phonenumber = SafeReadString(dr, 8); var haslicense = SafeReadString(dr, 9); var hascar = SafeReadString(dr, 10); var unsubscribedate = SafeReadDateTime(dr, 11); var trash1 = SafeReadInt(dr, 12); var volunteerid = SafeReadInt(dr, 13); var dateofbirth = SafeReadDateTime(dr, 14); var pathtophoto = SafeReadString(dr, 15); var pathtovog = SafeReadString(dr, 16); var thrash2 = SafeReadInt(dr, 17); // Create returnvolunteer = new Volunteer(accountid, username, password, volunteeremail, userid, name, adress, location, phonenumber, haslicense, hascar, unsubscribedate, volunteerid, dateofbirth, pathtophoto, pathtovog); } return returnvolunteer; } } someid = GetAdminIdByEmail(email); if (someid != -1) { Connect(); Admin returnadmin = null; using (cmd = new OracleCommand()) { cmd.Connection = con; cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT A.ID, A.GEBRUIKERSNAAM, A.WACHTWOORD, A.EMAIL, B.ID FROM TACCOUNT A, TBEHEERDER B WHERE A.ID = B.ACCOUNTID AND LOWER(A.EMAIL) = LOWER(:email)"; cmd.Parameters.Add("email", email); dr = cmd.ExecuteReader(); while (dr.Read()) { var accountid = SafeReadInt(dr, 0); var username = SafeReadString(dr, 1); var password = SafeReadString(dr, 2); var adminemail = SafeReadString(dr, 3); var adminid = SafeReadInt(dr, 4); // Create returnadmin = new Admin(accountid, username, password, adminemail, adminid); } return returnadmin; } } else // Nothing found with that email { return null; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); return null; } finally { Disconnect(); } }