public void SaveZeiterfassung(ZeitaufzeichnungTable z, Label label) { IRule pdv = new PositiveDoubleValidator(); IRule piv = new PositiveIntValidator(); IRule piv2 = new PositiveIntValidator(); IRule sl150v = new StringLength150Validator(); IRule lnhsv = new LettersNumbersHyphenSpaceValidator(); piv.Eval(z.ProjektID); piv2.Eval(z.Stunden); sl150v.Eval(z.Bezeichnung); lnhsv.Eval(z.Bezeichnung); pdv.Eval(z.Stundensatz); if (piv.HasErrors || piv2.HasErrors || sl150v.HasErrors || lnhsv.HasErrors || pdv.HasErrors) { throw new InvalidInputException("Daten ungültig!"); } // load elements try { DALFactory.GetDAL().SaveNewZeiterfassung(z); } catch (SQLiteException) { throw; } }
/// <summary> /// Get values of GUI elements and send them to the business layer, they shall be stored in the database. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CreateZeiterfassung(object sender, EventArgs e) { string projektID = null; // hide error label this.HideMsgLabels(); ZeitaufzeichnungTable z = new ZeitaufzeichnungTable(); //define rules IRule lnhsv = new LettersNumbersHyphenSpaceValidator(); IRule pdv = new PositiveDoubleValidator(); IRule piv = new PositiveIntValidator(); IRule sl150v = new StringLength150Validator(); projektID = this.zeiterfassungCombobox.SelectedItem.ToString(); projektID = projektID.Substring(0, projektID.IndexOf(':')); //Bind data z.ProjektID = DataBindingFramework.BindFromInt(projektID, "ProjektID", this.zeiterfassungMsgLabel, false, piv); z.Stunden = DataBindingFramework.BindFromInt(zeiterfassungHoursTextbox.Text, "Dauer", this.zeiterfassungMsgLabel, false, piv); z.Bezeichnung = DataBindingFramework.BindFromString(zeiterfassungDescriptionTextBox.Text, "Bezeichnung", this.zeiterfassungMsgLabel, false, lnhsv, sl150v); z.Stundensatz = DataBindingFramework.BindFromInt(zeiterfassungStundensatzTextBox.Text, "Stundensatz", this.zeiterfassungMsgLabel, false, pdv); ZeiterfassungsManager saver = new ZeiterfassungsManager(); // only if binding had no errors if (!this.zeiterfassungMsgLabel.Visible) { try { saver.SaveZeiterfassung(z, this.zeiterfassungMsgLabel); } catch (SQLiteException) { this.zeiterfassungMsgLabel.Text = "Aussagekräftiger Fehler"; this.zeiterfassungMsgLabel.Show(); } catch (InvalidInputException ex) { this.zeiterfassungMsgLabel.Text = ex.Message; this.zeiterfassungMsgLabel.Show(); } GlobalActions.ShowSuccessLabel(this.zeiterfassungMsgLabel); ResetZeiterfassung(); } }
public List<ZeitaufzeichnungTable> LoadZeiterfassung(ZeitaufzeichnungTable z, Label label) { IRule doubv = new PositiveDoubleValidator(); IRule intv = new PositiveIntValidator(); IRule datev = new DateValidator(); IRule lengthv = new StringLength150Validator(); IRule percv = new PercentValidator(); IRule lnhsv = new LettersNumbersHyphenSpaceValidator(); IRule lhv = new LettersHyphenValidator(); // load elements try { //return DALFactory.GetDAL() } catch (SQLiteException) { throw; } return new List<ZeitaufzeichnungTable>(); }
public void SaveNewZeiterfassung(ZeitaufzeichnungTable z) { String sql = "INSERT INTO Zeitaufzeichnung (ProjektID, Stunden, Bezeichnung, Stundensatz) VALUES (?, ?, ?, ?)"; try { this.SendStatementToDatabase(sql, -1, z.ProjektID, z.Stunden, z.Bezeichnung, z.Stundensatz); logger.Log(Logger.Level.Info, z.ProjektID+ " " + z.Stunden + " " + z.Bezeichnung + " " + z.Stundensatz); } catch (SQLiteException) { this.logger.Log(Logger.Level.Error, "Saving Zeiterfassung failed"); throw; } // success logging this.logger.Log(Logger.Level.Info, "New zeitaufzeichnung " + z.Bezeichnung + " has been stored in the SQLite database."); }
/// <summary> /// Loads all Zeitaufzeichnungen /// </summary> /// <returns>The saved Zeitaufzeichnungen</returns> public List<ZeitaufzeichnungTable> LoadZeiterfassung(int projektID) { string sql = "SELECT * FROM Zeitaufzeichnung WHERE "; sql += "ProjektID = ?;"; List<ZeitaufzeichnungTable> results = new List<ZeitaufzeichnungTable>(); // open connection and get requested Projekt(e) out of database SQLiteConnection con = null; SQLiteTransaction tra = null; SQLiteCommand cmd = null; SQLiteDataReader reader = null; this.logger.Log(Logger.Level.Info, "Try to load Zeitaufzeichnung out of database... ProjektID which shall be searched for: " + projektID); try { // initialise connection con = new SQLiteConnection(ConfigFileManager.ConnectionString); con.Open(); // initialise transaction tra = con.BeginTransaction(); cmd = new SQLiteCommand(sql, con); // bind to SQLiteParameter p_projektID = new SQLiteParameter(); p_projektID.Value = projektID; cmd.Parameters.Add(p_projektID); // execute and get results reader = cmd.ExecuteReader(); while (reader.Read()) { ZeitaufzeichnungTable result = new ZeitaufzeichnungTable(); result.ID = reader.GetInt32(0); result.ProjektID = reader.GetInt32(1); result.Stunden = reader.GetInt32(2); result.Bezeichnung = reader.GetString(3); result.Stundensatz = reader.GetInt32(4); results.Add(result); this.logger.Log(Logger.Level.Info, "Result added to list, ID: " + result.ID); } this.logger.Log(Logger.Level.Info, "Loading finished."); return results; } catch (SQLiteException) { throw; } finally { if (reader != null) { reader.Dispose(); } if (tra != null) { tra.Dispose(); } if (cmd != null) { cmd.Dispose(); } if (con != null) { con.Dispose(); } } }
public void SaveNewZeiterfassung(ZeitaufzeichnungTable z) { z.ID = MockDataBaseManager.ZeitaufzeichnungID; MockDataBaseManager.savedZeitaufzeichnungen.Add(z); }