/// <summary> /// Aktualisiert die Teilnehmer zu einem Termin /// </summary> /// <param name="mandant"></param> /// <param name="seminarterminID"></param> public static void UpdateSeminarterminTeilnehmer(Mandant mandant, string seminarterminID) { var seminartermin = SeminarData.GetSeminartermin(mandant, seminarterminID); var countTeilnehmer = mandant.MainDevice.Lookup.RowCount("PSDSeminarbuchungen", $"Mandant={mandant.Id} AND SeminarterminID={SqlStrings.ToSqlString(seminarterminID)}"); seminartermin.AnzahlTeilnehmer = ConversionHelper.ToInt16(countTeilnehmer); SeminarData.UpdateOrCreateSeminartermin(mandant, seminartermin); }
public static List <Seminartermin> GetSeminartermine(Mandant mandant, string artikelnummer) { var list = new List <Seminartermin>(); var qry = "SELECT SeminarterminID FROM PSDSeminartermine WHERE Mandant=@mandant AND Artikelnummer=@artikelnummer"; var command = mandant.MainDevice.GenericConnection.CreateSqlStringCommand(qry); command.AppendInParameter("mandant", typeof(short), mandant.Id); command.AppendInParameter("artikelnummer", typeof(string), artikelnummer); using (var reader = command.ExecuteReader()) { while (reader.Read()) { list.Add(SeminarData.GetSeminartermin(mandant, reader.GetString("SeminarterminID"))); } } return(list); }
public static object UpdateOrCreateSeminartermin(Mandant mandant, Seminartermin seminartermin) { var newRecord = false; var qry = new StringBuilder(); try { var loadTermin = SeminarData.GetSeminartermin(mandant, seminartermin.SeminarterminID); } catch (RecordNotFoundException) { newRecord = true; } if (newRecord) { qry.AppendLine("INSERT INTO PSDSeminartermine "); qry.AppendLine("(SeminarterminID, Mandant, Matchcode, Artikelnummer, TrainerIDEins, TrainerIDZwei, Startdatum, Endedatum, Startzeit, Endezeit, "); qry.AppendLine("AnzahlTeilnehmer, AnzahlTeilnehmerMax, AnzahlTeilnehmerMin, Stornofrist, Adresse, PLZ, Ort, Absagetermin, Abgesagt, "); qry.AppendLine("Absagegrund, Status, Memo, Aktiv)"); qry.AppendLine("VALUES"); qry.AppendLine("@seminarterminid, @mandant, @matchcode, @artikelnummer, @trainerideins, @traineridzwei, @startdatum, @endedatum, @startzeit, @endezeit, "); qry.AppendLine("@anzahlteilnehmer, @anzahlteilnehmermax, @anzahlteilnehmermin, @stornofrist, @adresse, @plz, @ort, @absagetermin, @abgesagt, "); qry.AppendLine("@absagegrund, @status, @memo, @aktiv)"); } else { qry.AppendLine("UPDATE PSDSeminartermine "); qry.AppendLine("SET "); qry.AppendLine("Matchcode=@matchcode, Artikelnummer=@artikelnummer, TrainerIDEins=@trainerideins, TrainerIDZwei=@traineridzwei, Startdatum=@startdatum, Endedatum=@endedatum, Startzeit=@startzeit, Endezeit=@endezeit, "); qry.AppendLine("AnzahlTeilnehmer=@anzahlteilnehmer, AnzahlTeilnehmerMax=@anzahlteilnehmermax, AnzahlTeilnehmerMin=@anzahlteilnehmermin, Stornofrist=@stornofrist, Adresse=@adresse, PLZ=@plz, Ort=@ort, Absagetermin=@absagetermin, Abgesagt=@abgesagt, "); qry.AppendLine("Absagegrund=@absagegrund, Status=@status, Memo=@memo, Aktiv=@aktiv"); qry.AppendLine("WHERE"); qry.AppendLine("SeminarterminID=@seminarterminid AND Mandant=@mandant"); } try { var command = mandant.MainDevice.GenericConnection.CreateSqlStringCommand(qry.ToString()); command.AppendInParameter("seminarterminid", typeof(string), seminartermin.SeminarterminID); command.AppendInParameter("mandant", typeof(short), mandant.Id); command.AppendInParameter("matchcode", typeof(string), seminartermin.Matchcode); command.AppendInParameter("artikelnummer", typeof(string), seminartermin.Artikelnummer); command.AppendInParameter("trainerideins", typeof(string), seminartermin.TrainerIDEins); command.AppendInParameter("traineridzwei", typeof(string), seminartermin.TrainerIDZwei); command.AppendInParameter("startdatum", typeof(DateTime), seminartermin.Startdatum); command.AppendInParameter("endedatum", typeof(DateTime), seminartermin.Endedatum); command.AppendInParameter("startzeit", typeof(string), seminartermin.Startzeit); command.AppendInParameter("endezeit", typeof(string), seminartermin.Endezeit); command.AppendInParameter("anzahlteilnehmer", typeof(short), seminartermin.AnzahlTeilnehmer); command.AppendInParameter("anzahlteilnehmermin", typeof(short), seminartermin.AnzahlTeilnehmerMin); command.AppendInParameter("anzahlteilnehmermax", typeof(short), seminartermin.AnzahlTeilnehmerMax); command.AppendInParameter("stornofrist", typeof(short), seminartermin.Stornofrist); command.AppendInParameter("adresse", typeof(int), seminartermin.Adresse); command.AppendInParameter("plz", typeof(string), seminartermin.PLZ); command.AppendInParameter("ort", typeof(string), seminartermin.Ort); command.AppendInParameter("absagetermin", typeof(DateTime), seminartermin.Absagetermin); command.AppendInParameter("abgesagt", typeof(short), ConversionHelper.ToDBBoolean(seminartermin.Abgesagt)); command.AppendInParameter("absagegrund", typeof(string), seminartermin.Absagegrund); command.AppendInParameter("status", typeof(string), seminartermin.Status); command.AppendInParameter("memo", typeof(string), seminartermin.Memo); command.AppendInParameter("aktiv", typeof(short), ConversionHelper.ToDBBoolean(seminartermin.Aktiv)); command.ExecuteNonQuery(); seminartermin = SeminarData.GetSeminartermin(mandant, seminartermin.SeminarterminID); return(seminartermin); } catch (Exception ex) { TraceLog.LogException(ex); throw; } }