/// <summary> /// Bokar tid för fordonet i databasen, bokar in fordonet som endast registreringsnummer så denna /// funktion förutsätter att bilen är registrerad. /// Lämnar kvar felmeddelande i tmpMsgs-arrayen. /// </summary> /// <param name="anvandare">Kunden / administratörens kundobjekt</param> /// <param name="regnr">Fordonets registreringsnummer</param> /// <param name="datum">Datumet som bokningen gäller</param> /// <returns>Returnerar true om allt gick som det skulle eller falskt annars.</returns> public bool boka(kund anvandare, string regnr, string datum, string spec) { List<string> errorMsgs = new List<string>(); SqlCeDatabase db = new SqlCeDatabase(); string agare = anvandare.GetEmail(); string namn = anvandare.GetNamn(); string fnamn = namn.Substring(0, namn.IndexOf(' ')); string enamn = namn.Substring(namn.IndexOf(' ') + 1); string tfn = anvandare.GetTfn(); string query = "INSERT INTO Bokning " + "(datum, fnamn, enamn, bil, email, tfn, spec) " + "VALUES ('?x?','?x?','?x?','?x?', '?x?', '?x?', '?x?')"; string[] args = new string[7] { datum, fnamn, enamn, regnr, agare, tfn, spec }; if (db.query(query, args) == 0) { int opResultat = db.operation(); if (opResultat == 0) return true; else { errorMsgs.Add("Det blev något fel när din bokning skulle processeras. Kontakta ansvarig för programmet"); if (DEBUG) errorMsgs.AddRange(this.db.GetTmpMsgs()); } } else { errorMsgs.Add("Det blev ett fel vid skapandet av frågan. Kontakta ansvarig för programmet."); if (DEBUG) errorMsgs.AddRange(this.db.GetTmpMsgs()); } if (errorMsgs.Count > 0) { this.tmpMsgs = errorMsgs.ToArray(); } return false; }
/// <summary> /// Denna funktion lägger till personer till registret. /// Den använder sig av klassen SqlCeDatabase för att ansluta till en kompakt MSSQL-server/fil. /// </summary> /// <param name="args">En array med strängar som representerar värdena till kunden. /// Kan med fördel användas med kollaInmatnings funktionen</param> /// <returns>Returnerar ett intvärde. /// 0 om allt slutade utan problem /// Annars returnerar den db.operation eller db.query felkoden.</returns> public int ReggaKund(string[] args) { SqlCeDatabase db = new SqlCeDatabase(); string query = "Insert into Kunder" + "(fnamn, enamn, email, tfn, adress, personnr, losen)" + " values " + "('?x?','?x?','?x?','?x?','?x?','?x?','?x?')"; if (db.query(query, args) == 0) { if (db.operation() == 0) { int resultat = 0; return resultat; } else { return db.operation(); } } else return db.query(query, args); }
/// <summary> /// Denna funktion lägger till ett fordon i hyrregistret. /// Den använder sig av klassen SQLCeDatabase för att ansluta till en kompakt MSSQL-server/fil. /// </summary> /// <param name="reg">Regnumret på fordonet</param> /// <param name="modell">Fordonets modell</param> /// <param name="arsmodell">Fordonets årsmodell</param> /// <param name="marke">Fordonets märke</param> /// <param name="typ">Typen av fordon</param> /// <returns>Returnerar returnkod som int. /// 0 - Operationen utfördes utan problem /// </returns> public int insertHyrFordon(string reg, string modell, string arsmodell, string marke, string typ) { SqlCeDatabase db = new SqlCeDatabase(); string insertQuery = "INSERT INTO HyrFordon (regnr, typ, modell, arsmodell, marke) values ('?x?','?x?','?x?','?x?','?x?')"; string[] args = { reg, typ, modell, arsmodell, marke }; if (db.query(insertQuery, args) != 0) { this.tmpMsgs = db.GetTmpMsgs(); return 1; } if (db.operation() != 0) { this.tmpMsgs = db.GetTmpMsgs(); return 2; } return 0; }
/// <summary> /// Bokar en tid för ett fordon för en kund som är oregistread /// </summary> /// <param name="fnamn">Förnamnet på kunden</param> /// <param name="enamn">Efternamnet på kunden</param> /// <param name="regnr">Fordonets registreringsnummer</param> /// <param name="datum">Bokningens datum</param> /// <param name="marke">Fordonets marke</param> /// <param name="modell">Fordonets modell</param> /// <param name="arsmodell">Fordonets årsmodell</param> /// <returns></returns> public bool boka(string fnamn, string enamn, string tfn, string regnr, string datum, string marke, string modell, string arsmodell, string agare, string spec) { List<string> errorMsgs = new List<string>(); SqlCeDatabase db = new SqlCeDatabase(); bil_objekt bil = new bil_objekt(); string tid = datum.Substring(11); datum = datum.Substring(0, 10); int kod = bil.insertFordon(regnr, modell, arsmodell, marke, agare); if (kod == 0) { string query = "INSERT INTO Bokning " + "(datum, fnamn, enamn, bil, tfn, tid, spec) " + "VALUES ('?x?','?x?','?x?', '?x?', '?x?', '?x?', '?x?')"; string[] args = { datum, fnamn, enamn, regnr, tfn, tid, spec }; if (db.query(query, args) == 0) { int opResultat = db.operation(); if (opResultat == 0) return true; else { errorMsgs.Add("Det blev något fel när din bokning skulle processeras. Kontakta systemansvarig"); if (DEBUG) errorMsgs.AddRange(db.GetTmpMsgs()); } } else { errorMsgs.Add("Det blev ett fel vid skapandet av frågan. Kontakta ansvarig för programmet."); if (DEBUG) errorMsgs.AddRange(db.GetTmpMsgs()); } } else { if (DEBUG) errorMsgs.AddRange(bil.GetTmpMsgs()); else errorMsgs.Add("Det blev något fel när ditt fordon skulle registreras"); } if (errorMsgs.Count > 0) { this.tmpMsgs = errorMsgs.ToArray(); } return false; }
/// <summary> /// Registrerar ett fordon för oregistrerade kunder /// </summary> /// <param name="reg">Fordonets registreringsnummer</param> /// <param name="modell">Fordonets modell</param> /// <param name="arsmodell">Fordonets årsmodell</param> /// <param name="marke">Fordonets märke</param> /// <param name="agare">Fordonets ägare</param> /// <returns></returns> public int insertFordon(string reg, string modell, string arsmodell, string marke, string agare) { SqlCeDatabase db = new SqlCeDatabase(); List<string> resultat = new List<string>(); List<string> errorMsgs = new List<string>(); string queryNyBil = "INSERT INTO Fordon" + "(reg, modell, arsmodell, marke, agare) " + " values ('?x?','?x?','?x?','?x?','?x?')"; string[] argsNyBil = new string[5] { reg, modell, arsmodell, marke, agare }; int queryResultat = db.query(queryNyBil, argsNyBil); // Skapar en string-array av resultatet från db.query() för att kunna använda i jämförelser och returns int returnkod; if (queryResultat == 0) { int operationResultat = db.operation(); // Skapar en string-array av resultatet från db.operation() för att kunna använda i jämförelser och returns if (operationResultat == 0) { returnkod = 0; } else { errorMsgs.Add("Det blev ett fel när ditt fordon skulle registreras. Kontakta systemansvarig."); if (DEBUG) errorMsgs.AddRange(db.GetTmpMsgs()); returnkod = 1; } } else { errorMsgs.Add("Det blev ett fel med frågeformuleringen. Kontakta systemansvarig."); if (DEBUG) errorMsgs.AddRange(db.GetTmpMsgs()); returnkod = 2; } if (errorMsgs.Count > 0) this.tmpMsgs = errorMsgs.ToArray(); return returnkod; }