@@ -18,7 +18,8 @@ public class StorageHandler : IStorageHandler<CategoryModel, DataModel>
1818 /// <summary>
1919 /// Selected model of <see cref="CategoryModel"/>.
2020 /// </summary>
21- public CategoryModel CurrentCategory { get ; set ; }
21+ public int CurrentCategoryIndex { get ; set ; } = - 1 ;
22+
2223 private Random random = new Random ( ) ;
2324
2425 /// <summary>
@@ -47,9 +48,6 @@ public void AddCategory(CategoryModel category)
4748 /// <param name="category">Adding data</param>
4849 public void AddData ( DataModel data )
4950 {
50- if ( CurrentCategory == null )
51- return ;
52-
5351 List < int > usingIndexes = new List < int > ( ) ;
5452 for ( int i = 0 ; i < categoryController . Count ( ) ; i ++ )
5553 {
@@ -66,16 +64,9 @@ public void AddData(DataModel data)
6664
6765 dataController . PasteAt ( SecureManager . GetIndexOf ( newIndex ) , data ) ;
6866
69- for ( int i = 0 ; i < categoryController . Count ( ) ; i ++ )
70- {
71- CategoryModel category = categoryController . Get ( i ) ;
72- if ( category . Equals ( CurrentCategory ) )
73- {
74- category . DataIndexes . Add ( newIndex ) ;
75- categoryController . PasteAt ( i , category ) ;
76- break ;
77- }
78- }
67+ CategoryModel category = categoryController . Get ( CurrentCategoryIndex ) ;
68+ category . DataIndexes . Add ( newIndex ) ;
69+ categoryController . PasteAt ( CurrentCategoryIndex , category ) ;
7970 }
8071
8172 /// <summary>
@@ -93,23 +84,19 @@ public List<CategoryModel> GetCategories()
9384 /// <returns></returns>
9485 public List < DataModel > GetData ( )
9586 {
96- if ( CurrentCategory != null )
97- {
98- List < DataModel > dataList = new List < DataModel > ( ) ;
99- dataList . Capacity = CurrentCategory . DataIndexes . Count ( ) ;
87+ List < DataModel > dataList = new List < DataModel > ( ) ;
88+ CategoryModel currentCategory = categoryController . Get ( CurrentCategoryIndex ) ;
89+ dataList . Capacity = currentCategory . DataIndexes . Count ( ) ;
10090
101- foreach ( var index in CurrentCategory . DataIndexes )
102- {
103- DataModel data = dataController . Get ( SecureManager . GetIndexOf ( index ) ) ;
104- dataList . Add ( data ) ;
105- }
91+ foreach ( var index in currentCategory . DataIndexes )
92+ {
93+ DataModel data = dataController . Get ( SecureManager . GetIndexOf ( index ) ) ;
94+ dataList . Add ( data ) ;
95+ }
10696
107- SetUsingData ( CurrentCategory . DataIndexes ) ;
97+ SetUsingData ( currentCategory . DataIndexes ) ;
10898
109- return dataList ;
110- }
111- else
112- return new List < DataModel > ( ) ;
99+ return dataList ;
113100 }
114101
115102 /// <summary>
@@ -139,17 +126,10 @@ public void RemoveData(DataModel data)
139126
140127 if ( index > - 1 )
141128 {
142- for ( int i = 0 ; i < categoryController . Count ( ) ; i ++ )
143- {
144- CategoryModel category = categoryController . Get ( i ) ;
145- if ( category . DataIndexes . Contains ( index ) )
146- {
147- category . DataIndexes . Remove ( index ) ;
148- categoryController . PasteAt ( i , category ) ;
149- SetUsingData ( category . DataIndexes ) ;
150- break ;
151- }
152- }
129+ CategoryModel currentCategory = categoryController . Get ( CurrentCategoryIndex ) ;
130+ currentCategory . DataIndexes . Remove ( index ) ;
131+ categoryController . PasteAt ( CurrentCategoryIndex , currentCategory ) ;
132+ SetUsingData ( currentCategory . DataIndexes ) ;
153133 }
154134 }
155135
0 commit comments