/**
         * Prepare a command.
         **/
        private void PrepareCommand(SqlCommand command, Pronajem pronajem)
        {
            command.Parameters.Add(new SqlParameter("@id_pronajem", SqlDbType.Int));
            command.Parameters["@id_pronajem"].Value = pronajem.Id_pronajem;

            command.Parameters.Add(new SqlParameter("@datum_od", SqlDbType.Date));
            command.Parameters["@datum_od"].Value = pronajem.Datum_od;

            command.Parameters.Add(new SqlParameter("@datum_do", SqlDbType.Date));
            command.Parameters["@datum_do"].Value = pronajem.Datum_do;

            command.Parameters.Add(new SqlParameter("@cena", SqlDbType.Int));
            command.Parameters["@cena"].Value = pronajem.Cena;

            command.Parameters.Add(new SqlParameter("@zaloha", SqlDbType.Int));
            command.Parameters["@zaloha"].Value = pronajem.Zaloha;

            command.Parameters.Add(new SqlParameter("@poznamka", SqlDbType.VarChar, Pronajem.LEN_ATTR_poznamka));
            command.Parameters["@poznamka"].Value = pronajem.Poznamka;

            command.Parameters.Add(new SqlParameter("@id_klient", SqlDbType.Int));
            command.Parameters["@id_klient"].Value = pronajem.Id_klient.Id_klient;

            command.Parameters.Add(new SqlParameter("@spz", SqlDbType.VarChar, Auto.LEN_ATTR_spz));
            command.Parameters["@spz"].Value = pronajem.SPZ.SPZ;

            command.Parameters.Add(new SqlParameter("@id_zamestnanec", SqlDbType.Int));
            command.Parameters["@id_zamestnanec"].Value = pronajem.Id_zamestnanec.Id_zamestnanec;
        }
        private Collection <Pronajem> Read(SqlDataReader reader)
        {
            Collection <Pronajem> pronajmy = new Collection <Pronajem>();

            while (reader.Read())
            {
                Pronajem pronajem = new Pronajem();
                pronajem.Id_pronajem = reader.GetInt32(0);
                pronajem.Datum_od    = reader.GetDateTime(1);
                pronajem.Datum_do    = reader.GetDateTime(2);
                pronajem.Cena        = reader.GetInt32(3);
                pronajem.Zaloha      = reader.GetInt32(4);
                if (!reader.IsDBNull(5))
                {
                    pronajem.Poznamka = reader.GetString(5);
                }
                pronajem.Id_klient           = new Klient();
                pronajem.Id_klient.Id_klient = reader.GetInt32(6);
                pronajem.SPZ            = new Auto();
                pronajem.SPZ.SPZ        = reader.GetString(7);
                pronajem.Id_zamestnanec = new Zamestnanec();
                pronajem.Id_zamestnanec.Id_zamestnanec = reader.GetInt32(8);

                pronajmy.Add(pronajem);
            }
            return(pronajmy);
        }
        /**
         * Update the record.
         **/
        public int Update(Pronajem pronajem)
        {
            Database db = new Database();

            db.Connect();
            SqlCommand command = db.CreateCommand(SQL_UPDATE);

            PrepareCommand(command, pronajem);
            int ret = db.ExecuteNonQuery(command);

            db.Close();
            return(ret);
        }
        /**
         * Select the record.
         **/
        public Pronajem Select(int id_pronajem)
        {
            Database db = new Database();

            db.Connect();
            SqlCommand command = db.CreateCommand(SQL_SELECT_ID);

            command.Parameters.Add(new SqlParameter("@id_pronajem", SqlDbType.Int));
            command.Parameters["@id_pronajem"].Value = id_pronajem;

            SqlDataReader reader = db.Select(command);

            Collection <Pronajem> pronajmy = Read(reader);
            Pronajem pronajem = null;

            if (pronajmy.Count == 1)
            {
                pronajem = pronajmy[0];
            }
            reader.Close();
            db.Close();
            return(pronajem);
        }