- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
Public Function Cost(ByVal Vip1 As Boolean, ByVal Dat1 As Date, ByVal Kol1 As Integer, ByVal Cost1 As Decimal) As Decimal
If Vip1 Then
Return Bas(Cost1, Kol1) * 0.9 + IIf(Cost1 * Kol1 < 50, 50, Bas(Cost1, Kol1) * 0.11)
Else
Dim Sk1 As Decimal
If Leto(Dat1) Then
Sk1 = IIf(Bas(Cost1, Kol1) < 1000, 2, 3)
Else
Sk1 = IIf(Bas(Cost1, Kol1) < 1100, 3, 0)
End If
Dim Sk2 As Decimal = IIf(Kol1 > 500, 5, 0)
Dim Sk3 As Decimal
If Leto(Dat1) Then
Sk3 = IIf(Bas(Cost1, Kol1) < 100, 100, Bas(Cost1, Kol1) * 0.1)
Else
Sk3 = IIf(Bas(Cost1, Kol1) < 110, 110, Bas(Cost1, Kol1) * 0.11)
End If
Return (Bas(Cost1, Kol1) - Bas(Cost1, Kol1) * Sk1 * 100 - Bas(Cost1, Kol1) * Sk2 * 100 + Sk3)
End If
End Function
Стандартный ынтырпрайз-говнокод, но изюминка, собсно, не в нём, а в нём:
http://www.sql.ru/forum/actualthread.aspx?bid=9&tid=467673&hl=
2striker. теперь предпросмотр показывает всегда не php, а си. Спасибо за фикс.
guest 01.05.2010 18:21 # 0
UncleAli 01.05.2010 18:52 # +1
3.14159265 05.05.2010 16:21 # 0
Private Function Leto(ByVal Dat1 As Date) As Boolean
Return IIf(Dat1.Month > 3 And Dat1.Month < 9, True, False)
End Function
Private Function Bas(ByVal Cost1 As Decimal, ByVal Kol1 As Integer)
Return Cost1 * Kol1
End Function
cfdev 07.05.2010 14:24 # 0
DPNET 15.10.2011 02:19 # 0