Esempio n. 1
0
        //Gibt eine Liste der Videos anhand einer VideoDtoSearch
        public void ReadVideos(VideoDtoSearch videoSearch, out IList <Loan> videos)
        {
            videos = new List <Loan>();
            AData.Open(_dbConnection);
            this.SqlSelectVideo(videoSearch, _dbCommand);
            DbDataReader dbDataReader = _dbCommand.ExecuteReader();

            if (dbDataReader.HasRows)
            {
                int nColumns = dbDataReader.FieldCount;
                while (dbDataReader.Read())
                {
                    Loan video = new Loan()
                    {
                        ID         = dbDataReader.GetInt32(0),
                        Title      = dbDataReader.GetString(1),
                        Borrower   = dbDataReader.GetString(2),
                        ReturnDate = dbDataReader.GetDateTime(3)
                    };
                    videos.Add(video);
                }
            }
            if (!dbDataReader.IsClosed)
            {
                dbDataReader.Close();
            }
            AData.Close(_dbConnection);
        }
Esempio n. 2
0
 internal CDialogMain(ILogic logic)
 {
     InitializeComponent();
     _logic             = logic;
     _videoSearch       = new VideoDtoSearch();
     _videoLoan         = new VideoDtoLoan();
     _videoLoanExisting = new VideoDtoLoan();
 }
Esempio n. 3
0
        //Sucht mit Filtern nach einem Video
        public void ReadVideo(VideoDtoLoan videoLoan, out DataTable dataTable)
        {
            VideoDtoSearch videoSearch = new VideoDtoSearch()
            {
                ID         = videoLoan.ID,
                Title      = videoLoan.Title,
                Borrower   = videoLoan.Borrower,
                ReturnDate = videoLoan.ReturnDate,
                Rated      = 1,
            };

            _dataSearch.ReadVideos(videoSearch, out dataTable);
        }
Esempio n. 4
0
        //Gibt eine Daten Tabelle der Videos anhand einer VideoDtoSearch
        public void ReadVideos(VideoDtoSearch videoSearch, out DataTable dataTableVideos)
        {
            dataTableVideos = new DataTable("Videos");
            AData.Open(_dbConnection);
            DbDataAdapter dbDataAdapter = _dbProviderFactory.CreateDataAdapter();

            this.SqlSelectVideo(videoSearch, _dbCommand);
            _dbCommand.Connection       = _dbConnection;
            dbDataAdapter.SelectCommand = _dbCommand;
            int records = dbDataAdapter.Fill(dataTableVideos);

            AData.Close(_dbConnection);
        }
Esempio n. 5
0
 internal CDialogSearch(ILogicSearch logicSearch, IDialog dialog)
 {
     InitializeComponent();
     if (dialog is CDialogMain)
     {
         _dialogMain = dialog as CDialogMain;
     }
     else
     {
         CErrorHandling.ShowAndStop("Fehler beim Initialisieren von CDialogSearch", "Programmabbruch");
     }
     _logicSearch = logicSearch;
     _videoSearch = new VideoDtoSearch();
 }
Esempio n. 6
0
        public object[] ReadID(VideoDtoSearch value)
        {
            List <int> listID = new List <int>();

            ReadVideos(value, out DataTable dataTable);
            foreach (DataRow row in dataTable.Rows)
            {
                string id = row["ID"].ToString();
                listID.Add(Util.ParseInt(id, 0));
                listID.Sort();
            }
            if (listID == null)
            {
                throw new CDataException("ID-Liste ist leer");
            }
            return(Util.ToArray(listID));
        }
Esempio n. 7
0
        //Liest alla Titel aus
        public object[] ReadTitle(VideoDtoSearch value)
        {
            List <string> listTitle = new List <string>();

            ReadVideos(value, out DataTable dataTable);
            foreach (DataRow row in dataTable.Rows)
            {
                string title = row["Title"].ToString();
                if (!listTitle.Contains(title))
                {
                    listTitle.Add(title);
                    listTitle.Sort();
                }
            }
            if (listTitle == null)
            {
                throw new CDataException("Titelliste ist leer");
            }
            return(Util.ToArray(listTitle));
        }
Esempio n. 8
0
        //Gibt das Rückgabedatum zurück
        public object[] ReadReturnDate(VideoDtoSearch value)
        {
            List <DateTime> listReturnDate = new List <DateTime>();

            ReadVideos(value, out DataTable dataTable);
            foreach (DataRow row in dataTable.Rows)
            {
                string returnDate = row["ReturnDate"].ToString();
                if (!listReturnDate.Contains(Util.ParseDate(returnDate, DateTime.MinValue)) && (Util.ParseDate("1.1.2001", DateTime.MinValue) != Util.ParseDate(returnDate, DateTime.MinValue)))
                {
                    listReturnDate.Add(Util.ParseDate(returnDate, DateTime.MinValue));
                    listReturnDate.Sort();
                }
            }
            if (listReturnDate == null)
            {
                throw new CDataException("ReturnDate-Liste ist leer");
            }
            return(Util.ToArray(listReturnDate));
        }
Esempio n. 9
0
        //Gibt alle Ausleihenden aus
        public object[] ReadBorrower(VideoDtoSearch value)
        {
            List <string> listBorrower = new List <string>();

            ReadVideos(value, out DataTable dataTable);
            foreach (DataRow row in dataTable.Rows)
            {
                string borrower = row["Borrower"].ToString();
                if (!listBorrower.Contains(borrower) && (borrower != ""))
                {
                    listBorrower.Add(borrower);
                    listBorrower.Sort();
                }
            }
            if (listBorrower == null)
            {
                throw new CDataException("Borrower-Liste ist leer");
            }
            return(Util.ToArray(listBorrower));
        }
Esempio n. 10
0
        //Liest die FSK aus
        public object[] ReadRated(VideoDtoSearch value)
        {
            List <int> listRated = new List <int>();

            ReadVideos(value, out DataTable dataTable);
            foreach (DataRow row in dataTable.Rows)
            {
                string rated = row["Rated"].ToString();
                if (!listRated.Contains(Util.ParseInt(rated, 1)))
                {
                    listRated.Add(Util.ParseInt(rated, 1));
                    listRated.Sort();
                }
            }
            if (listRated == null)
            {
                throw new CDataException("FSK-Liste ist leer");
            }
            return(Util.ToArray(listRated));
        }
Esempio n. 11
0
        //Liest alle Laufzeiten aus
        public object[] ReadRunningTime(VideoDtoSearch value)
        {
            List <int> listRunningTime = new List <int>();

            ReadVideos(value, out DataTable dataTable);
            foreach (DataRow row in dataTable.Rows)
            {
                string runningTime = row["RunningTime"].ToString();
                if (!listRunningTime.Contains(Util.ParseInt(runningTime, 0)))
                {
                    listRunningTime.Add(Util.ParseInt(runningTime, 0));
                    listRunningTime.Sort();
                }
            }
            if (listRunningTime == null)
            {
                throw new CDataException("Laufzeitliste-Liste ist leer");
            }
            return(Util.ToArray(listRunningTime));
        }
Esempio n. 12
0
        //Liest alle Release Daten aus
        public object[] ReadReleaseYear(VideoDtoSearch value)
        {
            List <int> listReleaseYear = new List <int>();

            ReadVideos(value, out DataTable dataTable);
            foreach (DataRow row in dataTable.Rows)
            {
                string releaseYear = row["ReleaseYear"].ToString();
                if (!listReleaseYear.Contains(Util.ParseInt(releaseYear, 0)))
                {
                    listReleaseYear.Add(Util.ParseInt(releaseYear, 0));
                    listReleaseYear.Sort();
                }
            }
            if (listReleaseYear == null)
            {
                throw new CDataException("Erscheinungsjahrliste ist leer");
            }
            return(Util.ToArray(listReleaseYear));
        }
Esempio n. 13
0
        //Liest alle Preise aus
        public object[] ReadBorrowingRate(VideoDtoSearch value)
        {
            List <double> listBorrowingRate = new List <double>();

            ReadVideos(value, out DataTable dataTable);
            foreach (DataRow row in dataTable.Rows)
            {
                string borrowingRate = row["BorrowingRate"].ToString();
                if (!listBorrowingRate.Contains(Util.ParseDouble(borrowingRate, 0.0)))
                {
                    listBorrowingRate.Add(Util.ParseDouble(borrowingRate, 0.0));
                    listBorrowingRate.Sort();
                }
            }
            if (listBorrowingRate == null)
            {
                throw new CDataException("Preisiste-Liste ist leer");
            }
            return(Util.ToArray(listBorrowingRate));
        }
Esempio n. 14
0
        private void ButtonConfirm_Click(object sender, EventArgs e)
        {
            // Übernehmen der Werte aus den Comboboxen
            VideoDtoSearch videoSearch = _dialogMain.VideoSearch;

            videoSearch.ID            = Util.ParseInt(comboBoxID.Text, _videoSearch.ID);
            videoSearch.Title         = comboBoxTitle.Text;
            videoSearch.Genre         = comboBoxGenre.Text;
            videoSearch.BorrowingRate = Util.ParseDouble(comboBoxBorrowingRate.Text, _videoSearch.BorrowingRate);
            videoSearch.ReleaseYear   = Util.ParseInt(comboBoxReleaseYear.Text, _videoSearch.ReleaseYear);
            videoSearch.RunningTime   = Util.ParseInt(comboBoxRunningTime.Text, _videoSearch.RunningTime);
            videoSearch.Rated         = Util.ParseInt(comboBoxRated.Text, 1);
            videoSearch.Borrower      = comboBoxBorrower.Text;
            videoSearch.ReturnDate    = Util.ParseDate(comboBoxReturnDate.Text, videoSearch.ReturnDate);

            // Weitergeben der Daten und schließen des Fensters
            this.VideoDtoSearch = videoSearch;
            this.DialogResult   = DialogResult.OK;
            // Zurücksetzen aller Combobox-Items, wenn Ergebnis erhalten
            ResetAll();
            this.Close();
        }
Esempio n. 15
0
        private void SuchenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                // Fenster wird nach erfogreicher Suche erneut angezeigt
                while (true)
                {
                    // Zeigt Fenster zum Suchen
                    DialogResult dialogResult = DialogSearch.ShowDialog();

                    // wenn Button Bestätigen bei der Suche gedrückt
                    if (dialogResult == DialogResult.OK)
                    {
                        _videoSearch = DialogSearch.VideoDtoSearch;
                        // wird Suchen ausgeführt
                        _logic.Search.ReadVideos(_videoSearch, out DataTable dataTable);
                        // und das Ergebnis in DialogSearchView dargestellen
                        DialogSearchResult.ResultTable = dataTable;
                        dialogResult = DialogSearchResult.ShowDialog();
                    }
                    // wenn Button Abbrechen gedrückt, wird das Fenster geschlossen ohne eine Aktion auszuführen
                    else
                    {
                        return;
                    }
                }
            }
            catch (DataException dataException)
            {
                MessageBox.Show(dataException.Message, "Abbruch Suchen",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, "Abbruch Suchen",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 16
0
 //Sucht nach einem Video
 public void ReadVideos(VideoDtoSearch videoSearch, out DataTable datatable)
 {
     _dataSearch.ReadVideos(videoSearch, out datatable);
 }
Esempio n. 17
0
        //Erstellt den SQL Befehl für das Ausgeben der Videos und setzt ihn in DbCommand command ein
        protected virtual void SqlSelectVideo(VideoDtoSearch videoSearch, DbCommand dbCommand)
        {
            dbCommand.CommandType = CommandType.Text;
            dbCommand.Parameters.Clear();
            dbCommand.CommandText = @"SELECT * FROM VideoTable";
            if (videoSearch.ID == 0)
            {
                if (videoSearch.Title != "" && videoSearch.Title != null)
                {
                    dbCommand.CommandText += " WHERE Title = @Title";
                    AData.AddParameter(dbCommand, "@Title", videoSearch.Title);
                }
            }
            else
            {
                dbCommand.CommandText += " WHERE ID = @ID";
                AData.AddParameter(dbCommand, "@ID", videoSearch.ID);
                if (videoSearch.Title != "" && videoSearch.Title != null)
                {
                    dbCommand.CommandText += " AND Title = @Title";
                    AData.AddParameter(dbCommand, "@Title", videoSearch.Title);
                }
            }


            if (videoSearch.Genre != "" && videoSearch.Genre != null)
            {
                if (dbCommand.CommandText == "SELECT * FROM VideoTable")
                {
                    dbCommand.CommandText += " WHERE Genre = @Genre";
                    AData.AddParameter(dbCommand, "@Genre", videoSearch.Genre);
                }
                else
                {
                    dbCommand.CommandText += " AND Genre = @Genre";
                    AData.AddParameter(dbCommand, "@Genre", videoSearch.Genre);
                }
            }

            if (videoSearch.BorrowingRate != 0.0 && videoSearch.BorrowingRate != 0)
            {
                if (dbCommand.CommandText == "SELECT * FROM VideoTable")
                {
                    dbCommand.CommandText += " WHERE BorrowingRate >=  @BorrowingRateMin";
                    AData.AddParameter(dbCommand, "@BorrowingRateMin", 0.0);
                    dbCommand.CommandText += " AND BorrowingRate <= @BorrowingRate";
                    AData.AddParameter(dbCommand, "@BorrowingRate", videoSearch.BorrowingRate);
                }
                else
                {
                    dbCommand.CommandText += " AND BorrowingRate >=  @BorrowingRateMin";
                    AData.AddParameter(dbCommand, "@BorrowingRateMin", 0.0);
                    dbCommand.CommandText += " AND BorrowingRate <= @BorrowingRate";
                    AData.AddParameter(dbCommand, "@BorrowingRate", videoSearch.BorrowingRate);
                }
            }
            if (videoSearch.ReleaseYear != 0)
            {
                if (dbCommand.CommandText == "SELECT * FROM VideoTable")
                {
                    dbCommand.CommandText += " WHERE ReleaseYear = @ReleaseYear";
                    AData.AddParameter(dbCommand, "@ReleaseYear", videoSearch.ReleaseYear);
                }
                else
                {
                    dbCommand.CommandText += " AND ReleaseYear = @ReleaseYear";
                    AData.AddParameter(dbCommand, "@ReleaseYear", videoSearch.ReleaseYear);
                }
            }
            if (videoSearch.RunningTime != 0)
            {
                if (dbCommand.CommandText == "SELECT * FROM VideoTable")
                {
                    dbCommand.CommandText += " WHERE RunningTime >=  @RunningTimeMin";
                    AData.AddParameter(dbCommand, "@RunningTimeMin", 0);
                    dbCommand.CommandText += " AND RunningTime <= @RunningTime";
                    AData.AddParameter(dbCommand, "@RunningTime", videoSearch.RunningTime);
                }
                else
                {
                    dbCommand.CommandText += " AND RunningTime >=  @RunningTimeMin";
                    AData.AddParameter(dbCommand, "@RunningTimeMin", 0);
                    dbCommand.CommandText += " AND RunningTime <= @RunningTime";
                    AData.AddParameter(dbCommand, "@RunningTime", videoSearch.RunningTime);
                }
            }
            if (videoSearch.Rated != 1)
            {
                if (dbCommand.CommandText == "SELECT * FROM VideoTable")
                {
                    dbCommand.CommandText += " WHERE Rated = @Rated";
                    AData.AddParameter(dbCommand, "@Rated", videoSearch.Rated);
                }
                else
                {
                    dbCommand.CommandText += " AND Rated = @Rated";
                    AData.AddParameter(dbCommand, "@Rated", videoSearch.Rated);
                }
            }

            if (videoSearch.Borrower != "" && videoSearch.Borrower != null)
            {
                if (dbCommand.CommandText == "SELECT * FROM VideoTable")
                {
                    dbCommand.CommandText += " WHERE Borrower = @Borrower";
                    AData.AddParameter(dbCommand, "@Borrower", videoSearch.Borrower);
                }
                else
                {
                    dbCommand.CommandText += " AND Borrower = @Borrower";
                    AData.AddParameter(dbCommand, "@Borrower", videoSearch.Borrower);
                }
            }
            if (videoSearch.ReturnDate != DateTime.MinValue)
            {
                if (dbCommand.CommandText == "SELECT * FROM VideoTable")
                {
                    dbCommand.CommandText += " WHERE ReturnDate >= @ReturnDateMin";
                    AData.AddParameter(dbCommand, "@ReturnDateMin", DateTime.MinValue);
                    dbCommand.CommandText += " AND ReturnDate <= @ReturnDate";
                    AData.AddParameter(dbCommand, "@ReturnDate", videoSearch.ReturnDate);
                }
                else
                {
                    dbCommand.CommandText += " AND ReturnDate >= @ReturnDateMin";
                    AData.AddParameter(dbCommand, "@ReturnDateMin", DateTime.MinValue);
                    dbCommand.CommandText += " AND ReturnDate <= @ReturnDate";
                    AData.AddParameter(dbCommand, "@ReturnDate", videoSearch.ReturnDate);
                }
            }

            dbCommand.CommandText += " ORDER BY ID;";
        }