/// <summary> /// 쇼핑카트 내용 업데이트 /// </summary> private void UpdateShoppingCartDatabase() { // 쇼핑카트 객체 생성 ShoppingCartDB cart = new ShoppingCartDB(); // 고유 키 값 반환 string cartId = cart.GetShoppingCartId(); // 그리드뷰의 아이템 개수만큼 반복 for (int i = 0; i < ctlShoppingCartList.Rows.Count; i++) { // 수량 텍스트박스 값 가져오기 TextBox quantityTxt = (TextBox)ctlShoppingCartList.Rows[i].FindControl("Quantity"); // 삭제 체크박스 값 가져오기 CheckBox remove = (CheckBox)ctlShoppingCartList.Rows[i].FindControl("Remove"); int quantity; try { // 수량 값 가져오기 quantity = Int32.Parse(quantityTxt.Text); // 원래 바인딩될 때의 수량과 현재 텍스트박스의 수량이 틀리고, 삭제 체크박스가 선택되어 있다면... if (quantity != (int)ctlShoppingCartList.DataKeys[i].Value || remove.Checked == true) { // 해당 상품코드값 가져오기 Label lblProductID = (Label)ctlShoppingCartList.Rows[i].FindControl("ProductID"); // 수량이 0이거나 삭제가 체크되었다면, 삭제 로직 실행 if (quantity == 0 || remove.Checked == true) { cart.RemoveItem(cartId, Int32.Parse(lblProductID.Text)); } else // 그렇지 않으면 업데이트 로직 실행 { cart.UpdateItem(cartId, Int32.Parse(lblProductID.Text), quantity); } } } catch { lblErrorMessage.Text = "고객님께서 입력하신 자료가 잘못되었습니다."; } } // end for }