SlideShare a Scribd company logo
1 of 1
Imports Microsoft.VisualBasic 
Public Class CartItemList 
Private cartItems As List(Of CartItem) 
Public Sub New() 
cartItems = New List(Of CartItem) 
End Sub 
Public ReadOnly Property Count As Integer 
Get 
Return cartItems.Count 
End Get 
End Property 
Default Public Property Item(ByVal index As Integer) As CartItem 
Get 
Return cartItems(index) 
End Get 
Set(ByVal value As CartItem) 
cartItems(index) = value 
End Set 
End Property 
Default Public ReadOnly Property Item(ByVal id As String) As CartItem 
Get 
For Each c As CartItem In cartItems 
If c.Product.ProductID = id Then 
Return c 
End If 
Next 
Return Nothing 
End Get 
End Property 
Public Shared Function GetCart() As CartItemList 
If CType(HttpContext.Current.Session("Cart"), CartItemList) Is Nothing Then 
HttpContext.Current.Session.Add("Cart", New CartItemList) 
End If 
Return CType(HttpContext.Current.Session("Cart"), CartItemList) 
End Function 
Public Sub AddItem(ByVal product As Product, ByVal quantity As Integer) 
Dim c As New CartItem(product, quantity) 
cartItems.Add(c) 
End Sub 
Public Sub RemoveAt(ByVal index As Integer) 
cartItems.RemoveAt(index) 
End Sub 
Public Sub Clear() 
cartItems.Clear() 
End Sub 
End Class

More Related Content

Viewers also liked

Massimo Tiso è il nuovo AD di QUI! Group Brasil
Massimo Tiso è il nuovo AD di QUI! Group BrasilMassimo Tiso è il nuovo AD di QUI! Group Brasil
Massimo Tiso è il nuovo AD di QUI! Group BrasilGregorio Fogliani
 
Gibbins and Perkin INTED2016 Critical Thinking paper
Gibbins and Perkin INTED2016   Critical Thinking paperGibbins and Perkin INTED2016   Critical Thinking paper
Gibbins and Perkin INTED2016 Critical Thinking paperGlynis Perkin
 
Best practices en Marketing Digital – Retour d’expérience de Microsoft
Best practices en Marketing Digital – Retour d’expérience de MicrosoftBest practices en Marketing Digital – Retour d’expérience de Microsoft
Best practices en Marketing Digital – Retour d’expérience de MicrosoftAgoraCMS
 
Naranjo genesis cuadro comparativo.
Naranjo genesis cuadro comparativo.Naranjo genesis cuadro comparativo.
Naranjo genesis cuadro comparativo.gene2301
 
Virtual SAN - A Deep Dive into Converged Storage (technical whitepaper)
Virtual SAN - A Deep Dive into Converged Storage (technical whitepaper)Virtual SAN - A Deep Dive into Converged Storage (technical whitepaper)
Virtual SAN - A Deep Dive into Converged Storage (technical whitepaper)DataCore APAC
 
Latest News on Commodity Market
Latest News on Commodity MarketLatest News on Commodity Market
Latest News on Commodity MarketShiksha Chouhan
 
Alimentación saludable
Alimentación saludableAlimentación saludable
Alimentación saludableJozz Freire
 
Perfil profesional de egreso
Perfil profesional de egresoPerfil profesional de egreso
Perfil profesional de egresoJessi Garcia
 

Viewers also liked (14)

herramientas metálicas
herramientas metálicasherramientas metálicas
herramientas metálicas
 
Massimo Tiso è il nuovo AD di QUI! Group Brasil
Massimo Tiso è il nuovo AD di QUI! Group BrasilMassimo Tiso è il nuovo AD di QUI! Group Brasil
Massimo Tiso è il nuovo AD di QUI! Group Brasil
 
Gibbins and Perkin INTED2016 Critical Thinking paper
Gibbins and Perkin INTED2016   Critical Thinking paperGibbins and Perkin INTED2016   Critical Thinking paper
Gibbins and Perkin INTED2016 Critical Thinking paper
 
Best practices en Marketing Digital – Retour d’expérience de Microsoft
Best practices en Marketing Digital – Retour d’expérience de MicrosoftBest practices en Marketing Digital – Retour d’expérience de Microsoft
Best practices en Marketing Digital – Retour d’expérience de Microsoft
 
Naranjo genesis cuadro comparativo.
Naranjo genesis cuadro comparativo.Naranjo genesis cuadro comparativo.
Naranjo genesis cuadro comparativo.
 
Revista
RevistaRevista
Revista
 
Virtual SAN - A Deep Dive into Converged Storage (technical whitepaper)
Virtual SAN - A Deep Dive into Converged Storage (technical whitepaper)Virtual SAN - A Deep Dive into Converged Storage (technical whitepaper)
Virtual SAN - A Deep Dive into Converged Storage (technical whitepaper)
 
I beacon mobile_tea
I beacon mobile_teaI beacon mobile_tea
I beacon mobile_tea
 
Latest News on Commodity Market
Latest News on Commodity MarketLatest News on Commodity Market
Latest News on Commodity Market
 
Practica n4-control
Practica n4-controlPractica n4-control
Practica n4-control
 
Alimentación saludable
Alimentación saludableAlimentación saludable
Alimentación saludable
 
Caratula
CaratulaCaratula
Caratula
 
Perfil profesional de egreso
Perfil profesional de egresoPerfil profesional de egreso
Perfil profesional de egreso
 
Website development company in noida
Website development company in noidaWebsite development company in noida
Website development company in noida
 

Similar to CartItemList

12.9 Program Online shopping cart (continued) (C++)This program e.pdf
12.9 Program Online shopping cart (continued) (C++)This program e.pdf12.9 Program Online shopping cart (continued) (C++)This program e.pdf
12.9 Program Online shopping cart (continued) (C++)This program e.pdffasttracksunglass
 
Why SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScriptWhy SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScriptmartinlippert
 
Infinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtilInfinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtilInfinum
 
Practical Event Sourcing
Practical Event SourcingPractical Event Sourcing
Practical Event SourcingMathias Verraes
 
The C# programming laguage delegates notes Delegates.pptx
The C# programming laguage delegates notes Delegates.pptxThe C# programming laguage delegates notes Delegates.pptx
The C# programming laguage delegates notes Delegates.pptxVitsRangannavar
 
MBL301 Data Persistence to Amazon Dynamodb for Mobile Apps - AWS re: Invent 2012
MBL301 Data Persistence to Amazon Dynamodb for Mobile Apps - AWS re: Invent 2012MBL301 Data Persistence to Amazon Dynamodb for Mobile Apps - AWS re: Invent 2012
MBL301 Data Persistence to Amazon Dynamodb for Mobile Apps - AWS re: Invent 2012Amazon Web Services
 
Living in eventually consistent reality
Living in eventually consistent realityLiving in eventually consistent reality
Living in eventually consistent realityBartosz Sypytkowski
 
OOP - PREFINAL ACTIVITY - ACLC
OOP - PREFINAL ACTIVITY - ACLCOOP - PREFINAL ACTIVITY - ACLC
OOP - PREFINAL ACTIVITY - ACLCMarlo Tinio
 
Jetpack Compose - A Lightning Tour
Jetpack Compose - A Lightning TourJetpack Compose - A Lightning Tour
Jetpack Compose - A Lightning TourMatthew Clarke
 
ADG Poznań - Kotlin for Android developers
ADG Poznań - Kotlin for Android developersADG Poznań - Kotlin for Android developers
ADG Poznań - Kotlin for Android developersBartosz Kosarzycki
 
1 MVC – Ajax and Modal Views AJAX stands for Asynch.docx
1  MVC – Ajax and Modal Views AJAX stands for Asynch.docx1  MVC – Ajax and Modal Views AJAX stands for Asynch.docx
1 MVC – Ajax and Modal Views AJAX stands for Asynch.docxhoney725342
 
I have the first program completed (not how request, but it works) a.pdf
I have the first program completed (not how request, but it works) a.pdfI have the first program completed (not how request, but it works) a.pdf
I have the first program completed (not how request, but it works) a.pdffootworld1
 
Database handling with room
Database handling with roomDatabase handling with room
Database handling with roomSergi Martínez
 
Student information system
Student information systemStudent information system
Student information systempatrick7772
 
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfcreate-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfShaiAlmog1
 
Optional. Tips and Tricks - UA Mobile 2019
Optional. Tips and Tricks - UA Mobile 2019Optional. Tips and Tricks - UA Mobile 2019
Optional. Tips and Tricks - UA Mobile 2019UA Mobile
 

Similar to CartItemList (20)

12.9 Program Online shopping cart (continued) (C++)This program e.pdf
12.9 Program Online shopping cart (continued) (C++)This program e.pdf12.9 Program Online shopping cart (continued) (C++)This program e.pdf
12.9 Program Online shopping cart (continued) (C++)This program e.pdf
 
Cart Page Code
Cart Page CodeCart Page Code
Cart Page Code
 
Why SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScriptWhy SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScript
 
Joy of scala
Joy of scalaJoy of scala
Joy of scala
 
Infinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtilInfinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtil
 
Practical Event Sourcing
Practical Event SourcingPractical Event Sourcing
Practical Event Sourcing
 
The C# programming laguage delegates notes Delegates.pptx
The C# programming laguage delegates notes Delegates.pptxThe C# programming laguage delegates notes Delegates.pptx
The C# programming laguage delegates notes Delegates.pptx
 
MBL301 Data Persistence to Amazon Dynamodb for Mobile Apps - AWS re: Invent 2012
MBL301 Data Persistence to Amazon Dynamodb for Mobile Apps - AWS re: Invent 2012MBL301 Data Persistence to Amazon Dynamodb for Mobile Apps - AWS re: Invent 2012
MBL301 Data Persistence to Amazon Dynamodb for Mobile Apps - AWS re: Invent 2012
 
Living in eventually consistent reality
Living in eventually consistent realityLiving in eventually consistent reality
Living in eventually consistent reality
 
OOP - PREFINAL ACTIVITY - ACLC
OOP - PREFINAL ACTIVITY - ACLCOOP - PREFINAL ACTIVITY - ACLC
OOP - PREFINAL ACTIVITY - ACLC
 
Jetpack Compose - A Lightning Tour
Jetpack Compose - A Lightning TourJetpack Compose - A Lightning Tour
Jetpack Compose - A Lightning Tour
 
ADG Poznań - Kotlin for Android developers
ADG Poznań - Kotlin for Android developersADG Poznań - Kotlin for Android developers
ADG Poznań - Kotlin for Android developers
 
1 MVC – Ajax and Modal Views AJAX stands for Asynch.docx
1  MVC – Ajax and Modal Views AJAX stands for Asynch.docx1  MVC – Ajax and Modal Views AJAX stands for Asynch.docx
1 MVC – Ajax and Modal Views AJAX stands for Asynch.docx
 
I have the first program completed (not how request, but it works) a.pdf
I have the first program completed (not how request, but it works) a.pdfI have the first program completed (not how request, but it works) a.pdf
I have the first program completed (not how request, but it works) a.pdf
 
Database handling with room
Database handling with roomDatabase handling with room
Database handling with room
 
Student information system
Student information systemStudent information system
Student information system
 
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfcreate-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
 
Optional. Tips and Tricks - UA Mobile 2019
Optional. Tips and Tricks - UA Mobile 2019Optional. Tips and Tricks - UA Mobile 2019
Optional. Tips and Tricks - UA Mobile 2019
 
【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例
 
DotNet Conference: code smells
DotNet Conference: code smellsDotNet Conference: code smells
DotNet Conference: code smells
 

CartItemList

  • 1. Imports Microsoft.VisualBasic Public Class CartItemList Private cartItems As List(Of CartItem) Public Sub New() cartItems = New List(Of CartItem) End Sub Public ReadOnly Property Count As Integer Get Return cartItems.Count End Get End Property Default Public Property Item(ByVal index As Integer) As CartItem Get Return cartItems(index) End Get Set(ByVal value As CartItem) cartItems(index) = value End Set End Property Default Public ReadOnly Property Item(ByVal id As String) As CartItem Get For Each c As CartItem In cartItems If c.Product.ProductID = id Then Return c End If Next Return Nothing End Get End Property Public Shared Function GetCart() As CartItemList If CType(HttpContext.Current.Session("Cart"), CartItemList) Is Nothing Then HttpContext.Current.Session.Add("Cart", New CartItemList) End If Return CType(HttpContext.Current.Session("Cart"), CartItemList) End Function Public Sub AddItem(ByVal product As Product, ByVal quantity As Integer) Dim c As New CartItem(product, quantity) cartItems.Add(c) End Sub Public Sub RemoveAt(ByVal index As Integer) cartItems.RemoveAt(index) End Sub Public Sub Clear() cartItems.Clear() End Sub End Class