public ActionResult CreateKunde(Kunde neuerKunde) { try { this.kundenService.KundeSpeichern(neuerKunde, 1); return RedirectToAction("Index"); } catch { return View(); } }
/// <summary> /// Gibt alle Kunden von allen Geschaeftspaertnern zurueck /// </summary> /// <returns>List aller Kunden</returns> public List<Kunde> GetAlleKunden() { var result = new List<Kunde>(); MySqlCommand command = new MySqlCommand( "SELECT k.ID, k.KundeSeit, k.KundenNr, p.Vorname, p.Nachname,p.GeschlechtID, p.Geburtsdatum, p.Fax, p.Telefon, p.Strasse, p.Hausnummer, p.PLZ, p.Ort, p.`E-Mail`, p.MobilNr FROM Kunden k, Person p WHERE k.PersonId=p.ID", this.connection); var reader = command.ExecuteReader(); try { if (reader.HasRows) { while (reader.Read()) { var kunde = new Kunde(); kunde.Id = reader.IsDBNull(reader.GetOrdinal("ID")) != true ? reader.GetInt32("ID") : 0; kunde.KundeSeit = reader.IsDBNull(reader.GetOrdinal("KundeSeit")) != true ? reader.GetDateTime("KundeSeit") : DateTime.MinValue; kunde.Vorname = reader.IsDBNull(reader.GetOrdinal("Vorname")) != true ? reader.GetString("Vorname") : ""; kunde.Nachname = reader.IsDBNull(reader.GetOrdinal("Nachname")) != true ? reader.GetString("Nachname") : ""; kunde.Geburtstag = reader.IsDBNull(reader.GetOrdinal("Geburtsdatum")) != true ? reader.GetDateTime("Geburtsdatum").Date : DateTime.MinValue; kunde.Fax = reader.IsDBNull(reader.GetOrdinal("Fax")) != true ? reader.GetString("Fax") : ""; kunde.Telefon = reader.IsDBNull(reader.GetOrdinal("Telefon")) != true ? reader.GetString("Telefon") : ""; kunde.Strasse = reader.IsDBNull(reader.GetOrdinal("Strasse")) != true ? reader.GetString("Strasse") : ""; kunde.Hausnummer = reader.IsDBNull(reader.GetOrdinal("Hausnummer")) != true ? reader.GetString("Hausnummer") : ""; kunde.PLZ = reader.IsDBNull(reader.GetOrdinal("PLZ")) != true ? reader.GetString("PLZ") : ""; kunde.Ort = reader.IsDBNull(reader.GetOrdinal("Ort")) != true ? reader.GetString("Ort") : ""; kunde.EMail = reader.IsDBNull(reader.GetOrdinal("E-Mail")) != true ? reader.GetString("E-Mail") : ""; kunde.KundenNummer = reader.IsDBNull(reader.GetOrdinal("KundenNr")) != true ? reader.GetString("KundenNr") : ""; kunde.Geschlecht = reader.IsDBNull(reader.GetOrdinal("GeschlechtID")) != true ? reader.GetBoolean(reader.GetOrdinal("GeschlechtID")) : true; kunde.MobilNr = reader.IsDBNull(reader.GetOrdinal("MobilNr")) != true ? reader.GetString("MobilNr") : ""; result.Add(kunde); } } reader.Close(); } catch (Exception exception) { reader.Dispose(); } return result; }
public ActionResult Edit(Kunde kunde) { try { this.kundenService.KundenAktualisieren(kunde); return RedirectToAction("Index"); } catch { ViewBag.ErrorMessage = "Es ist ein Fehler während der Aktualisierung aufgetreten."; return View(kunde); } }
/// <summary> /// Gibt einen Wert zurueck ob der Kunde gespeichert wurde /// </summary> /// <param name="neuerKunde">Der zu speichernde Kunde</param> /// <returns>true oder false</returns> public bool KundeSpeichern(Kunde neuerKunde,int gpId) { var command = new MySqlCommand("INSERT INTO person (Vorname, Nachname, Geburtsdatum, GeschlechtID, Fax, Telefon, Strasse, Hausnummer, PLZ, Ort, `E-Mail`,MobilNr) VALUES (@Vorname, @Nachname, @Geburtsdatum, @Geschlecht, @Fax, @Telefon, @Strasse, @Hausnummer, @PLZ, @Ort, @EMail, @MobilNr)", this.connection); command.Parameters.AddWithValue("@Vorname", neuerKunde.Vorname); command.Parameters.AddWithValue("@Nachname", neuerKunde.Nachname); command.Parameters.AddWithValue("@Geburtsdatum", neuerKunde.Geburtstag); command.Parameters.AddWithValue("@Geschlecht", neuerKunde.Geschlecht); command.Parameters.AddWithValue("@Fax", neuerKunde.Fax != "" ? neuerKunde.Fax : null); command.Parameters.AddWithValue("@Telefon", neuerKunde.Telefon != "" ? neuerKunde.Telefon : null); command.Parameters.AddWithValue("@Strasse", neuerKunde.Strasse != "" ? neuerKunde.Strasse : null); command.Parameters.AddWithValue("@PLZ", neuerKunde.PLZ != "" ? neuerKunde.PLZ : null); command.Parameters.AddWithValue("@Ort", neuerKunde.Ort != "" ? neuerKunde.Ort : null); command.Parameters.AddWithValue("@EMail", neuerKunde.EMail != "" ? neuerKunde.EMail : null); command.Parameters.AddWithValue("@Hausnummer", neuerKunde.Hausnummer); command.Parameters.AddWithValue("@MobilNr", neuerKunde.MobilNr); try { command.ExecuteNonQuery(); } catch (Exception exception) { return false; } var personId = (int)command.LastInsertedId; command = new MySqlCommand("INSERT INTO Kunden (KundeSeit, UnternehmenId, EmpfohlenVon, GeschaeftspartnerID, PersonId, KundenNr) VALUES (@KundeSeit, @UnternehmenId, @EmpfohlenVon, @GeschaeftspartnerID, @PersonId, @kdnr);", this.connection); command.Parameters.AddWithValue( "@KundeSeit", neuerKunde.KundeSeit != DateTime.MinValue ? neuerKunde.KundeSeit : DateTime.Now); command.Parameters.AddWithValue( "@UnternehmenID", neuerKunde.Unternehmen != null ? neuerKunde.Unternehmen.Id : 0); command.Parameters.AddWithValue( "@EmpfohlenVon", neuerKunde.EmpfohlenVon != null ? (object)neuerKunde.EmpfohlenVon.Id : null); command.Parameters.AddWithValue("@GeschaeftspartnerID", gpId); // todo: gpId als parameter übergeben command.Parameters.AddWithValue("@PersonId", personId); command.Parameters.AddWithValue("@kdnr", neuerKunde.KundenNummer); try { command.ExecuteNonQuery(); } catch (Exception exception) { return false; } return true; }
/// <summary> /// Gibt einen Wert zurueck ob der Kunde aktualisiert wurde /// </summary> /// <param name="kunden">Der vorhandene und zu aktualisierende Kunde</param> /// <returns>true oder false</returns> public bool KundenAktualisieren(Kunde kunden) { var command = new MySqlCommand("SELECT PersonId From Kunden WHERE ID=@id",this.connection); command.Parameters.AddWithValue("@id", kunden.Id); var id = command.ExecuteScalar(); command = new MySqlCommand("UPDATE Person SET Vorname=@Vorname, Nachname=@Nachname, Geburtsdatum=@Geburtsdatum, GeschlechtID=@Geschlecht, Fax=@Fax, Telefon=@Telefon, Strasse=@Strasse, Hausnummer=@Hausnummer, PLZ=@PLZ, Ort=@Ort, `E-Mail`=@EMail, MobilNr=@MobilNr WHERE ID=@id", this.connection); command.Parameters.AddWithValue("@Vorname", kunden.Vorname); command.Parameters.AddWithValue("@Nachname", kunden.Nachname); command.Parameters.AddWithValue("@Geburtsdatum", kunden.Geburtstag); command.Parameters.AddWithValue("@Geschlecht", kunden.Geschlecht); command.Parameters.AddWithValue("@Fax", kunden.Fax != "" ? kunden.Fax : null); command.Parameters.AddWithValue("@Telefon", kunden.Telefon != "" ? kunden.Telefon : null); command.Parameters.AddWithValue("@Strasse", kunden.Strasse != "" ? kunden.Strasse : null); command.Parameters.AddWithValue("@PLZ", kunden.PLZ != "" ? kunden.PLZ : null); command.Parameters.AddWithValue("@Ort", kunden.Ort != "" ? kunden.Ort : null); command.Parameters.AddWithValue("@EMail", kunden.EMail != "" ? kunden.EMail : null); command.Parameters.AddWithValue("@Hausnummer", kunden.Hausnummer); command.Parameters.AddWithValue("@id", Convert.ToInt32(id)); command.Parameters.AddWithValue("@MobilNr", kunden.MobilNr); try { command.ExecuteNonQuery(); } catch (Exception exception) { return false; } command = new MySqlCommand("UPDATE Kunden SET KundenNr=@kdnr WHERE ID=@id",this.connection); command.Parameters.AddWithValue("@kdnr", kunden.KundenNummer); command.Parameters.AddWithValue("@id", kunden.Id); try { command.ExecuteNonQuery(); } catch (Exception exception) { return false; } //var personId = (int)command.LastInsertedId; //command = new MySqlCommand("INSERT INTO Kunden (KundeSeit, UnternehmenId, EmpfohlenVon, GeschaeftspartnerID, PersonId) VALUES (@KundeSeit, @UnternehmenId, @EmpfohlenVon, @GeschaeftspartnerID, @PersonId);", this.connection); //command.Parameters.AddWithValue( // "@KundeSeit", kunde.KundeSeit != DateTime.MinValue ? kunde.KundeSeit : DateTime.Now); //command.Parameters.AddWithValue( // "@UnternehmenID", kunde.Unternehmen != null ? kunde.Unternehmen.Id : 0); //command.Parameters.AddWithValue( // "@EmpfohlenVon", kunde.EmpfohlenVon != null ? (object)kunde.EmpfohlenVon.Id : null); //command.Parameters.AddWithValue("@GeschaeftspartnerID", gpId); // todo: gpId als parameter übergeben //command.Parameters.AddWithValue("@PersonId", personId); //try //{ // command.ExecuteNonQuery(); //} //catch (Exception exception) //{ // return false; //}) return true; }