2
2
3
3
public partial class ItemsPageViewModel : BaseViewModel
4
4
{
5
- [ ObservableProperty ]
6
- private List < OperatonItemsVM > allItems = new ( ) ;
7
-
8
- [ ObservableProperty ]
9
- private List < OperatonItemsVM > inItems = new ( ) ;
5
+ static List < OperatonItemsVM > AllItems = new List < OperatonItemsVM > ( ) ;
10
6
11
7
[ ObservableProperty ]
12
- private List < OperatonItemsVM > outItems = new ( ) ;
8
+ private List < OperatonItemsVM > items = new ( ) ;
13
9
14
10
[ ObservableProperty ]
15
11
private List < int > loadingItems = new ( ) { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ;
16
12
17
13
[ ObservableProperty ]
18
- private bool isLoadingAllItems = false ;
14
+ private bool isLoadingItems = false ;
19
15
20
16
[ ObservableProperty ]
21
- private bool isLoadingInItems = false ;
17
+ private bool isRefreshing = false ;
22
18
23
19
[ ObservableProperty ]
24
- private bool isLoadingOutItems = false ;
20
+ private int operationType = 0 ;
25
21
26
22
[ ObservableProperty ]
27
- private int allIType = 0 ;
23
+ private int dateType = 3 ;
28
24
29
25
[ ObservableProperty ]
30
- private int inIType = 0 ;
26
+ private bool isShowPopup = false ;
31
27
32
- [ ObservableProperty ]
33
- private int outIType = 0 ;
28
+ private int index = 0 ;
34
29
35
30
public ItemsPageViewModel ( )
36
31
{
37
32
Random random = new Random ( ) ;
38
- for ( int i = 1 ; i <= 40 ; i ++ )
33
+ for ( int i = 1 ; i <= 500 ; i ++ )
39
34
{
40
35
var amount = random . Next ( 1 , 10000 ) ;
41
36
AllItems . Add (
@@ -44,98 +39,74 @@ public ItemsPageViewModel()
44
39
Id = Guid . NewGuid ( ) ,
45
40
Icon = amount % 2 == 0 ? "loss.png" : "profits.png" ,
46
41
Color = amount % 2 == 0 ? Red : Green ,
47
- Date = DateTime . Now . AddDays ( - ( amount % 30 ) ) . ToString ( "dd.MM.yyyy HH:mm" ) ,
42
+ Date = DateTime . Now . AddDays ( - ( amount % 200 ) ) . ToString ( "dd.MM.yyyy HH:mm" ) ,
48
43
Title = amount % 2 == 0 ? "Borç ödendi" : "Ödeme Alındı" ,
49
44
Description = amount % 2 == 0 ? "Ödemeler yapıldı" : "Yaka parası alındı." ,
50
45
Amount = $ "{ amount } ₺"
51
46
}
52
47
) ;
53
48
}
54
- AllItems = AllItems . OrderByDescending ( e => DateTime . Parse ( e . Date ) ) . ToList ( ) ;
55
- InItems = AllItems . Where ( e => e . Color == Green ) . ToList ( ) ;
56
- OutItems = AllItems . Where ( e => e . Color == Red ) . ToList ( ) ;
49
+
50
+ Items = AllItems . Take ( 15 ) . ToList ( ) ;
57
51
}
58
52
59
53
60
- //[RelayCommand]
61
- public List < OperatonItemsVM > GetItems ( DateTime date , bool ? isIncome = null )
54
+ public List < OperatonItemsVM > GetItems ( DateTime date )
62
55
{
63
- IsLoadingAllItems = true ;
64
-
65
- List < OperatonItemsVM > tempList = new List < OperatonItemsVM > ( ) ;
66
- Random random = new Random ( ) ;
67
- for ( int i = 1 ; i <= 70 ; i ++ )
68
- {
69
- var amount = random . Next ( 1 , 10000 ) ;
70
- tempList . Add (
71
- new OperatonItemsVM
72
- {
73
- Id = Guid . NewGuid ( ) ,
74
- Icon = amount % 2 == 0 ? "loss.png" : "profits.png" ,
75
- Color = amount % 2 == 0 ? Red : Green ,
76
- Date = DateTime . Now . AddDays ( - ( amount % 30 ) ) . ToString ( "dd.MM.yyyy HH:mm" ) ,
77
- Title = amount % 2 == 0 ? "Borç ödendi" : "Ödeme Alındı" ,
78
- Description = amount % 2 == 0 ? "Ödemeler yapıldı" : "Yaka parası alındı." ,
79
- Amount = $ "{ amount } ₺"
80
- }
81
- ) ;
82
- }
83
- tempList = tempList
84
- . Where ( e => DateTime . Parse ( e . Date ) >= date && isIncome . HasValue ? isIncome . Value ? e . Color == Green : e . Color == Red : true )
56
+ var tempList = AllItems
57
+ . Where ( e => DateTime . Parse ( e . Date ) >= date && OperationType == 0 ? true : OperationType == 1 ? e . Color == Green : e . Color == Red )
85
58
. OrderByDescending ( e => DateTime . Parse ( e . Date ) )
59
+ . Skip ( index )
60
+ . Take ( 15 )
86
61
. ToList ( ) ;
87
62
88
63
return tempList ;
89
64
}
90
65
91
66
[ RelayCommand ]
92
- public async Task AllItemTypeChanged ( )
67
+ public async Task ApplyFilter ( )
93
68
{
94
- IsLoadingAllItems = true ;
95
- await Task . Delay ( 3500 ) ;
96
- if ( AllIType == 0 )
97
- AllItems = GetItems ( DateTime . Now . AddDays ( - 7 ) ) ;
98
- else if ( AllIType == 1 )
99
- AllItems = GetItems ( DateTime . Now . AddMonths ( - 1 ) ) ;
100
- else if ( AllIType == 2 )
101
- AllItems = GetItems ( DateTime . Now . AddMonths ( - 6 ) ) ;
102
- else if ( AllIType == 3 )
103
- AllItems = GetItems ( DateTime . Now . AddYears ( - 1 ) ) ;
104
-
105
- IsLoadingAllItems = false ;
69
+ IsLoadingItems = true ;
70
+ index = 0 ;
71
+
72
+ if ( DateType == 0 )
73
+ Items = GetItems ( DateTime . Now . AddDays ( - 7 ) ) ;
74
+ else if ( DateType == 1 )
75
+ Items = GetItems ( DateTime . Now . AddMonths ( - 1 ) ) ;
76
+ else if ( DateType == 2 )
77
+ Items = GetItems ( DateTime . Now . AddMonths ( - 6 ) ) ;
78
+ else if ( DateType == 3 )
79
+ Items = GetItems ( DateTime . Now . AddYears ( - 1 ) ) ;
80
+
81
+ IsShowPopup = false ;
82
+ await Task . Delay ( 1500 ) ;
83
+
84
+ IsLoadingItems = false ;
106
85
}
107
86
108
87
[ RelayCommand ]
109
- public async Task InItemTypeChanged ( )
88
+ public async Task LoadMore ( )
110
89
{
111
- IsLoadingInItems = true ;
112
- await Task . Delay ( 3500 ) ;
113
- if ( InIType == 0 )
114
- InItems = GetItems ( DateTime . Now . AddDays ( - 7 ) , true ) ;
115
- else if ( InIType == 1 )
116
- InItems = GetItems ( DateTime . Now . AddMonths ( - 1 ) , true ) ;
117
- else if ( InIType == 2 )
118
- InItems = GetItems ( DateTime . Now . AddMonths ( - 6 ) , true ) ;
119
- else if ( InIType == 3 )
120
- InItems = GetItems ( DateTime . Now . AddYears ( - 1 ) , true ) ;
121
-
122
- IsLoadingInItems = false ;
90
+ if ( index != 0 )
91
+ IsRefreshing = true ;
92
+
93
+ if ( DateType == 0 )
94
+ Items . AddRange ( GetItems ( DateTime . Now . AddDays ( - 7 ) ) ) ;
95
+ else if ( DateType == 1 )
96
+ Items . AddRange ( GetItems ( DateTime . Now . AddMonths ( - 1 ) ) ) ;
97
+ else if ( DateType == 2 )
98
+ Items . AddRange ( GetItems ( DateTime . Now . AddMonths ( - 6 ) ) ) ;
99
+ else if ( DateType == 3 )
100
+ Items . AddRange ( GetItems ( DateTime . Now . AddYears ( - 1 ) ) ) ;
101
+
102
+ //await Task.Delay(1500);
103
+ index += 15 ;
104
+ IsRefreshing = false ;
123
105
}
124
106
125
107
[ RelayCommand ]
126
- public async Task OutItemTypeChanged ( )
108
+ public async Task ShowFilterPopup ( )
127
109
{
128
- IsLoadingOutItems = true ;
129
- await Task . Delay ( 3500 ) ;
130
- if ( OutIType == 0 )
131
- OutItems = GetItems ( DateTime . Now . AddDays ( - 7 ) , false ) ;
132
- else if ( OutIType == 1 )
133
- OutItems = GetItems ( DateTime . Now . AddMonths ( - 1 ) , false ) ;
134
- else if ( OutIType == 2 )
135
- OutItems = GetItems ( DateTime . Now . AddMonths ( - 6 ) , false ) ;
136
- else if ( OutIType == 3 )
137
- OutItems = GetItems ( DateTime . Now . AddYears ( - 1 ) , false ) ;
138
-
139
- IsLoadingOutItems = false ;
110
+ IsShowPopup = true ;
140
111
}
141
112
}
0 commit comments