1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
| Public MustInherit Class PromoDetail
Public Property DTO As PROMO_DTO.PromoDetail
Public Sub New(d As PROMO_DTO.PromoDetail)
Me.DTO = d
End Sub
Public Function GetProducts() As List(Of PROMO_DTO.Product)
If Me.DTO.Products.Count > 0 Then
Return Me.DTO.Products
ElseIf Me.DTO.ProductsOut.Count > 0 Then
Return Me.DTO.ProductsOut
Else
Return Nothing
End If
End Function
'Public MustOverride Sub FlagAsEncoded()
End Class
Public Class PromoDetailDemo
Inherits PromoDetail
Public Overloads Property DTO As PROMO_DTO.PromoDetailDemo
Public Sub New(dto As PROMO_DTO.PromoDetailDemo)
MyBase.New(dto)
Me.DTO = dto
End Sub
Public Sub Delete()
PROMO_DAL.PromoDetail.Delete(Me.DTO.Id)
End Sub
End Class
Public Class PromoDetailsDemo
Public Overloads Property DTO As List(Of PROMO_DTO.PromoDetailDemo)
Public Sub New()
Me.DTO = New List(Of PROMO_DTO.PromoDetailDemo)
End Sub
Public Sub New(dto As List(Of PROMO_DTO.PromoDetailDemo))
Me.DTO = dto
End Sub
Public Sub Save(prm_id As Integer, ba_id As Byte)
If CheckPercentageIsUniqueForList() Then
PROMO_DAL.PromoDetail.SaveDemo(prm_id, ba_id, Me.DTO)
Else
Throw New EncodingDemoException("duplicate percentage", DTO(0).CodeDemo)
End If
End Sub
Friend Function CheckPercentageIsUniqueForList() As Boolean
Dim result As Boolean = True
Dim percentList = (From dto In Me.DTO
Where dto.PercentType.Description = "LIST"
Select dto.Percentage)
For Each p As Decimal In percentList.ToList
If (From dto In Me.DTO
Where dto.Percentage = p AndAlso dto.PercentType.Description = "LIST"
Select dto).ToList.Count > 1 Then
result = False
End If
Next
Return result
End Function
Public Sub GetProducts()
For Each d As PROMO_DTO.PromoDetailDemo In Me.DTO
d.Products = PROMO_DAL.Product.GetDemoProduct(d.Id)
d.ProductsOut = PROMO_DAL.Product.GetDemoProductOut(d.Id)
Next
End Sub
End Class
Public Class PromoDetailOwn
Inherits PromoDetail
Public Overloads Property DTO As PROMO_DTO.PromoDetailOwn
Public Sub New(dto As PROMO_DTO.PromoDetailOwn)
MyBase.New(dto)
Me.DTO = dto
End Sub
End Class
Public Class PromoDetailsOwn
Public Property DTO As List(Of PROMO_DTO.PromoDetailOwn)
Public Sub New()
DTO = New List(Of PROMO_DTO.PromoDetailOwn)
End Sub
Public Sub New(dto As List(Of PROMO_DTO.PromoDetailOwn))
Me.DTO = dto
End Sub
Public Sub Save(prm_id As Integer, ba_id As Byte)
PROMO_DAL.PromoDetail.SaveOwn(prm_id, ba_id, Me.DTO)
End Sub
Public Sub GetProducts()
For Each d As PROMO_DTO.PromoDetailOwn In Me.DTO
d.Products = PROMO_DAL.Product.GetOwnProduct(d.Id)
d.ProductsOut = PROMO_DAL.Product.GetOwnProductOut(d.Id)
Next
End Sub
End Class
Public Class PromoDetailDepartment
Inherits PromoDetail
Public Overloads Property DTO As PROMO_DTO.PromoDetailDepartment
Public Sub New(dto As PROMO_DTO.PromoDetailDepartment)
MyBase.New(dto)
Me.DTO = dto
End Sub
End Class
Public Class PromoDetailsDepartment
Public Property DTO As List(Of PROMO_DTO.PromoDetailDepartment)
Public Sub New()
Me.DTO = New List(Of PROMO_DTO.PromoDetailDepartment)
End Sub
Public Sub New(dto As List(Of PROMO_DTO.PromoDetailDepartment))
Me.DTO = dto
End Sub
Public Sub save(prm_id As Integer, ba_id As Byte)
PROMO_DAL.PromoDetail.SaveDepartment(prm_id, ba_id, Me.DTO)
End Sub
Public Sub GetProducts() 'there is no inclusive list for department
For Each d As PROMO_DTO.PromoDetailDepartment In Me.DTO
d.ProductsOut = PROMO_DAL.Product.GetDeptProductOut(d.Id)
Next
End Sub
End Class |
Partager