/* Unieke code format: * Registratiecode: 000-XXX00-00 * KoppelCode: XXX00-000-00 * * XXX staat voor 3 letters van de docent * 00 staat voor 2 cijfers van de docent * -> voorbeeld: er zijn 2 docenten met dezelfde afkorting, aldus een cijfer erachter * om deze docenten te kunnen onderscheiden. */ public UniekeCode GenereerNieuweCode(string studentnummer, UniekeCodeType typeCode) { UniekeCode nieuweUniekeCode = null; int LaatsteNummeriekDeel1 = 0; int LaatsteNummeriekDeel2 = 0; string docentAfkorting = ""; string[] laatsteCodeDelen = null; switch(typeCode) { case UniekeCodeType.REGISTRATIE: laatsteCodeDelen = LaatsteCodes.LaatsteRegistratieCode.Code.Split('-'); LaatsteNummeriekDeel1 = int.Parse(laatsteCodeDelen[0]); docentAfkorting = laatsteCodeDelen[1]; LaatsteNummeriekDeel2 = int.Parse(laatsteCodeDelen[2]); break; case UniekeCodeType.KOPPEL: laatsteCodeDelen = LaatsteCodes.LaatsteRegistratieCode.Code.Split('-'); docentAfkorting = laatsteCodeDelen[0]; LaatsteNummeriekDeel1 = int.Parse(laatsteCodeDelen[1]); LaatsteNummeriekDeel2 = int.Parse(laatsteCodeDelen[2]); break; default: ErrorCode = "Niet bestaande unieke code type gekozen."; break; } if(LaatsteNummeriekDeel1 == 999 && LaatsteNummeriekDeel2 == 99) { // Maximum aantal unieke codes bereikt. ErrorCode = "Maximum aantal codes gegenereerd"; } else { // Maximum nog niet bereikt, dus hoog op met 1 if (LaatsteNummeriekDeel2 == 99) { // maximum van nummeriek deel2 bereikt, hoog nummeriek deel1 op LaatsteNummeriekDeel1++; LaatsteNummeriekDeel2 = 0; } else { // maximum van nummeriek deel2 nog niet bereikt, dus hoog het op met 1 LaatsteNummeriekDeel2++; } } switch(typeCode) { case UniekeCodeType.REGISTRATIE: nieuweUniekeCode = new UniekeCode(FormatUniekeCode(UniekeCodeType.REGISTRATIE, docentAfkorting, LaatsteNummeriekDeel1, LaatsteNummeriekDeel2), studentnummer, false); break; case UniekeCodeType.KOPPEL: nieuweUniekeCode = new UniekeCode(FormatUniekeCode(UniekeCodeType.KOPPEL, docentAfkorting, LaatsteNummeriekDeel1, LaatsteNummeriekDeel2), studentnummer, false); break; default: ErrorCode = "Niet bestaande unieke code type gekozen."; break; } return nieuweUniekeCode; }
public bool KoppelNieuweCodeAanStudent(UniekeCode studentUniekeCode) { Database.DBConnector dbInstance = new Database.DBConnector(); if(dbInstance.KoppelStudentAanUniekeCode(studentUniekeCode)) { return true; } return false; }
internal CodeGenerator.LaatstGegenereerdeCode GetLaatsteUniekeCodes(string docentAfkorting) { CodeGenerator.LaatstGegenereerdeCode laatsteCodes = null; SqlCommand sqlComm = new SqlCommand("spGetLaatsteUniekeCodes", sqlConn); sqlComm.CommandType = System.Data.CommandType.StoredProcedure; sqlComm.Parameters.AddWithValue("@DOCAFKORTING", docentAfkorting); try { sqlConn.Open(); SqlDataReader reader = sqlComm.ExecuteReader(); if(reader.HasRows) { laatsteCodes = new CodeGenerator.LaatstGegenereerdeCode(); while(reader.Read()) { UniekeCode uniekeCode = new UniekeCode((string)reader["Code"], (string)reader["StudentNummer"], (bool)reader["CodeType"]); switch(uniekeCode.isKoppelCode) { case true: laatsteCodes.LaatsteKoppelCode = uniekeCode; break; case false: laatsteCodes.LaatsteRegistratieCode = uniekeCode; break; } } } } catch(Exception ex) { ErrorCode = ex.Message; } finally { sqlConn.Close(); } return laatsteCodes; }
internal bool KoppelStudentAanUniekeCode(UniekeCode studentUniekeCode) { SqlCommand sqlComm = new SqlCommand("spKoppelStudentAanUniekeCode", sqlConn); sqlComm.CommandType = System.Data.CommandType.StoredProcedure; sqlComm.Parameters.AddWithValue("@STUDENTNUMMER",studentUniekeCode.StudentNummer); sqlComm.Parameters.AddWithValue("@UNIEKECODE",studentUniekeCode.Code); sqlComm.Parameters.AddWithValue("@TYPECODE",studentUniekeCode.isKoppelCode); int success = 0; try { sqlConn.Open(); success = int.Parse(sqlComm.ExecuteScalar().ToString()); } catch(Exception ex) { ErrorCode = ex.Message; } finally { sqlConn.Close(); } if(success == 1) { return true; } else { return false; } }
public UniekeCode GetUniekeCode(string studentNummer) { UniekeCode studentCode = null; SqlCommand sqlComm = new SqlCommand("spGetStudentUniekeCode", sqlConn); sqlComm.CommandType = System.Data.CommandType.StoredProcedure; sqlComm.Parameters.AddWithValue("@STUDENTNUMMER", studentNummer); try { sqlConn.Open(); SqlDataReader reader = sqlComm.ExecuteReader(); if(reader.HasRows) { studentCode = new UniekeCode((string)reader["Code"], (string)reader["StudentNummer"], (bool)reader["CodeType"]); } } catch(Exception ex) { ErrorCode = ex.Message; } finally { sqlConn.Close(); } return studentCode; }