Пример #1
0
        /// <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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
            }
        }