/*
         * Updates the stock-status for a copy
         * Returns true if the copy was updated, false if no copy was updated
         * Throws a DALException if something else went wrong
         */
        public Boolean updateStockStatus(DvdCopy dvdCopy, Boolean in_stock)
        {
            SqlCommand command = null;

            using (var cnn = new SqlConnection(sDatabaseLocatie))
            {
                command = new SqlCommand("UPDATE DvdCopy SET in_stock = @in_stock WHERE dvd_copy_id = @dvd_copy_id", cnn);
                command.Parameters.Add(new SqlParameter("@in_stock", in_stock));
                command.Parameters.Add(new SqlParameter("@dvd_copy_id", dvdCopy.dvd_copy_id));
                try
                {
                    cnn.Open();
                    if (command.ExecuteNonQuery() > 0)
                    {
                        return(true);
                    }
                    return(false);
                }
                catch (Exception ex)
                {
                    throw new DALException("Failed to update copy stock-status", ex);
                }
                finally
                {
                    if (cnn != null)
                    {
                        cnn.Close();
                    }
                }
            }
        }
        /**Deletes item from cart*/
        protected void gvCart_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int index = Convert.ToInt32(e.RowIndex);

            //remove item from shoppingcart
            if (new ShoppingCartService().deleteByID(gvCart.Rows[index].Cells[1].Text))   //cell 1 = shoppingcart_item_id
            {
                //succes
            }
            try
            {
                //set copy as in_stock
                DvdCopyService dvdCopyService = new DvdCopyService();

                DvdCopy dvdCopy = dvdCopyService.getByID(gvCart.Rows[index].Cells[3].Text); //Throws NoRecordException || DALException
                dvdCopyService.updateStockStatus(dvdCopy, true);                            //Throws NoRecordException || DALException

                //update gridview
                if (Session["user"] != null)
                {
                    fillCartGridView();
                }
            }
            catch (NoRecordException)
            {
                //No dvd was found
            }
        }
        /*
         *  Returns a dvdcopy based on an ID
         *  Throws a NoRecordException if no records were found
         *  Throws a DALException if something else went wrong
         */
        public DvdCopy getByID(String copy_id)
        {
            SqlCommand    command = null;
            SqlDataReader reader  = null;

            using (var cnn = new SqlConnection(sDatabaseLocatie))
            {
                command = new SqlCommand("SELECT * FROM DvdCopy WHERE dvd_copy_id = @dvd_copy_id", cnn);
                command.Parameters.Add(new SqlParameter("@dvd_copy_id", copy_id));

                try
                {
                    cnn.Open();
                    reader = command.ExecuteReader();
                    if (reader.HasRows)
                    {
                        DvdCopy dvdCopy = new DvdCopy();
                        while (reader.Read())
                        {
                            dvdCopy = createDvdCopy(reader);                //Throws NoRecordException
                        }
                        return(dvdCopy);
                    }
                }
                catch (Exception ex)
                {
                    if (ex is NoRecordException || ex is DALException)
                    {
                        throw;
                    }
                    throw new DALException("Failed to get copy by ID", ex);
                }
                finally
                {
                    if (reader != null)
                    {
                        reader.Close();
                    }
                    if (cnn != null)
                    {
                        cnn.Close();
                    }
                }
                throw new NoRecordException("No records were found - DvdCopyDAO getCopyWithId()");
            }
        }
        /*
         * Updates a dvdCopy
         * Returns true if copy was updated, false if no copy was updated
         * Throws DALException if something else went wrong
         */
        public Boolean update(DvdCopy copy)
        {
            SqlCommand command = null;

            using (var cnn = new SqlConnection(sDatabaseLocatie))
            {
                command = new SqlCommand("UPDATE DvdCopy " +
                                         "SET dvd_info_id = @dvd_info_id, copy_type_id = @copy_type_id, serialnumber = @serialnumber, note = @note, in_stock = @in_stock " +
                                         "WHERE dvd_copy_id = @dvd_copy_id", cnn);
                command.Parameters.Add(new SqlParameter("@dvd_info_id", copy.dvdinfo.dvd_info_id));
                command.Parameters.Add(new SqlParameter("@copy_type_id", copy.type.id));
                command.Parameters.Add(new SqlParameter("@serialnumber", copy.serialnumber));
                command.Parameters.Add(new SqlParameter("@note", copy.note));
                command.Parameters.Add(new SqlParameter("@in_stock", copy.in_stock));
                command.Parameters.Add(new SqlParameter("@dvd_copy_id", copy.dvd_copy_id));

                try
                {
                    cnn.Open();
                    if (command.ExecuteNonQuery() > 0)
                    {
                        return(true);
                    }
                    return(false);
                }
                catch (Exception ex)
                {
                    throw new DALException("Failed to update copy", ex);
                }
                finally
                {
                    if (cnn != null)
                    {
                        cnn.Close();
                    }
                }
            }
        }
Exemplo n.º 5
0
 public Boolean updateStockStatus(DvdCopy dvdCopy, bool in_stock)
 {
     return(new DvdCopyDAO().updateStockStatus(dvdCopy, in_stock));                          //Throws NoRecordException || DALException
 }
Exemplo n.º 6
0
 public Boolean updateCopy(DvdCopy copy)
 {
     return(new DvdCopyDAO().update(copy));                                           //Throws NoRecordException || DALException
 }