Przeglądaj źródła

160921
Fix: cart count issue

Ray Zhang 9 lat temu
rodzic
commit
0f167ed6c3

BIN
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 53 - 53
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -154,11 +154,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496215532.482259"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2326"
-            endingLineNumber = "2326"
+            startingLineNumber = "2330"
+            endingLineNumber = "2330"
             landmarkName = "+model_subtotal:count:db:compute_part:"
             landmarkName = "+model_subtotal:count:db:compute_part:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -170,11 +170,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2441"
-            endingLineNumber = "2441"
+            startingLineNumber = "2496"
+            endingLineNumber = "2496"
             landmarkName = "+offline_requestcart:"
             landmarkName = "+offline_requestcart:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -202,11 +202,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496215532.482259"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2307"
-            endingLineNumber = "2307"
+            startingLineNumber = "2311"
+            endingLineNumber = "2311"
             landmarkName = "+model_subtotal:count:db:compute_part:"
             landmarkName = "+model_subtotal:count:db:compute_part:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -218,11 +218,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "3376"
-            endingLineNumber = "3376"
+            startingLineNumber = "3433"
+            endingLineNumber = "3433"
             landmarkName = "+model_selector:field:db:"
             landmarkName = "+model_selector:field:db:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -234,11 +234,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "3380"
-            endingLineNumber = "3380"
+            startingLineNumber = "3437"
+            endingLineNumber = "3437"
             landmarkName = "+model_selector:field:db:"
             landmarkName = "+model_selector:field:db:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -522,11 +522,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2686"
-            endingLineNumber = "2686"
+            startingLineNumber = "2743"
+            endingLineNumber = "2743"
             landmarkName = "+offline_login:"
             landmarkName = "+offline_login:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -554,11 +554,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2688"
-            endingLineNumber = "2688"
+            startingLineNumber = "2745"
+            endingLineNumber = "2745"
             landmarkName = "+offline_login:"
             landmarkName = "+offline_login:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -650,11 +650,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "4214"
-            endingLineNumber = "4214"
+            startingLineNumber = "4271"
+            endingLineNumber = "4271"
             landmarkName = "+item_image:db:"
             landmarkName = "+item_image:db:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -666,11 +666,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "4397"
-            endingLineNumber = "4397"
+            startingLineNumber = "4454"
+            endingLineNumber = "4454"
             landmarkName = "+offline_contactlist:"
             landmarkName = "+offline_contactlist:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -1002,11 +1002,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "9151"
-            endingLineNumber = "9151"
+            startingLineNumber = "9208"
+            endingLineNumber = "9208"
             landmarkName = "+offline_add2cartbyname:"
             landmarkName = "+offline_add2cartbyname:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -1098,11 +1098,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496215532.482259"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2367"
-            endingLineNumber = "2367"
+            startingLineNumber = "2371"
+            endingLineNumber = "2371"
             landmarkName = "+model_subtotal:count:db:compute_part:"
             landmarkName = "+model_subtotal:count:db:compute_part:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -1114,11 +1114,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2467"
-            endingLineNumber = "2467"
+            startingLineNumber = "2523"
+            endingLineNumber = "2523"
             landmarkName = "+offline_requestcart:"
             landmarkName = "+offline_requestcart:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -1130,11 +1130,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "6816"
-            endingLineNumber = "6816"
+            startingLineNumber = "6873"
+            endingLineNumber = "6873"
             landmarkName = "+offline_cartremove:"
             landmarkName = "+offline_cartremove:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -1146,11 +1146,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "5427"
-            endingLineNumber = "5427"
+            startingLineNumber = "5484"
+            endingLineNumber = "5484"
             landmarkName = "+categoryList:limited:"
             landmarkName = "+categoryList:limited:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -1162,11 +1162,11 @@
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496139622.991006"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "5249"
-            endingLineNumber = "5249"
+            startingLineNumber = "5306"
+            endingLineNumber = "5306"
             landmarkName = "+offline_saveContact:"
             landmarkName = "+offline_saveContact:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -1174,15 +1174,15 @@
       <BreakpointProxy
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
          <BreakpointContent
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496208364.055627"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2490"
-            endingLineNumber = "2490"
+            startingLineNumber = "2546"
+            endingLineNumber = "2546"
             landmarkName = "+offline_requestcart:"
             landmarkName = "+offline_requestcart:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>
@@ -1190,15 +1190,15 @@
       <BreakpointProxy
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
          <BreakpointContent
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "496208402.486887"
+            timestampString = "496216315.779401"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2523"
-            endingLineNumber = "2523"
+            startingLineNumber = "2580"
+            endingLineNumber = "2580"
             landmarkName = "+offline_requestcart:"
             landmarkName = "+offline_requestcart:"
             landmarkType = "5">
             landmarkType = "5">
          </BreakpointContent>
          </BreakpointContent>

+ 62 - 5
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m

@@ -2107,7 +2107,7 @@
     
     
     sqlite3 *db = [iSalesDB get_db];
     sqlite3 *db = [iSalesDB get_db];
     
     
-    int cart_count=[iSalesDB get_recordcount:db table:@"offline_cart" where:[NSString stringWithFormat:@"so_no='%@'",orderCode]];
+    int cart_count=[self query_ordercartcount:orderCode db:db];
     
     
     int wish_count=[iSalesDB get_recordcount:db table:@"offline_wishlist" where:@"1=1"];
     int wish_count=[iSalesDB get_recordcount:db table:@"offline_wishlist" where:@"1=1"];
     ret[@"wish_count"]=[NSNumber numberWithInt:wish_count ];
     ret[@"wish_count"]=[NSNumber numberWithInt:wish_count ];
@@ -2269,6 +2269,10 @@
 +(NSDictionary*) model_subtotal:(int) item_id count:(int)count db:(sqlite3*)db compute_part:(bool)compute
 +(NSDictionary*) model_subtotal:(int) item_id count:(int)count db:(sqlite3*)db compute_part:(bool)compute
 {
 {
     //compute: add part to subtotal;
     //compute: add part to subtotal;
+    
+    NSMutableDictionary * dict_item = [[NSMutableDictionary alloc]init];
+    
+    dict_item[@(item_id)]=@"1";
     NSMutableDictionary* ret = [[NSMutableDictionary alloc]init];
     NSMutableDictionary* ret = [[NSMutableDictionary alloc]init];
     
     
     double cuft=0;
     double cuft=0;
@@ -2375,19 +2379,70 @@
         NSArray * arr_bundle=[self model_bundle:item_id db:db count:&arr_count];
         NSArray * arr_bundle=[self model_bundle:item_id db:db count:&arr_count];
         for(int i=0;i<arr_bundle.count;i++)
         for(int i=0;i<arr_bundle.count;i++)
         {
         {
-            [arr_bundle[i] intValue];
+            dict_item[arr_bundle[i]]=@"1";
+            
             NSDictionary* bundlejson=[self model_subtotal:[arr_bundle[i] intValue] count:[arr_count[i] intValue]*count db:db compute_part:compute];
             NSDictionary* bundlejson=[self model_subtotal:[arr_bundle[i] intValue] count:[arr_count[i] intValue]*count db:db compute_part:compute];
             cuft+=[bundlejson[@"cuft"] doubleValue];
             cuft+=[bundlejson[@"cuft"] doubleValue];
             weight+=[bundlejson[@"weight"] doubleValue];
             weight+=[bundlejson[@"weight"] doubleValue];
             carton+=[bundlejson[@"carton"] intValue];
             carton+=[bundlejson[@"carton"] intValue];
+            
+            [dict_item addEntriesFromDictionary:bundlejson[@"items"]];
+            
         }
         }
     }
     }
     ret[@"cuft"]= [NSNumber numberWithDouble:cuft];
     ret[@"cuft"]= [NSNumber numberWithDouble:cuft];
     ret[@"weight"]= [NSNumber numberWithDouble:weight];
     ret[@"weight"]= [NSNumber numberWithDouble:weight];
     ret[@"carton"]= [NSNumber numberWithInteger:carton];
     ret[@"carton"]= [NSNumber numberWithInteger:carton];
-    
+    ret[@"items"]=dict_item;
     return ret;
     return ret;
 }
 }
++(int) query_ordercartcount:(NSString*) orderCode db:(sqlite3*)db
+{
+    
+    
+    
+    
+    NSString *sqlQuery =     [ NSString stringWithFormat:@"select item_id from offline_cart where so_no='%@'",orderCode];
+    
+    
+    //        NSString *sqlQuery =     [ NSString stringWithFormat:@"select c.product_id,decrypt(c.str_price),c.discount,c.item_count,c.line_note,m.name,m.description,c.item_id,m.stockUom,c._id from offline_cart c  left join product m on c.product_id=m.product_id where c.so_no='%@'",orderCode ];
+    
+    
+    //   NSString *sqlQuery = @"select * from (select decrypt(str_price) from offline_cart) c";
+    
+    DebugLog(@"offline_login sql:%@",sqlQuery);
+    sqlite3_stmt * statement;
+    
+    
+
+    
+     int cart_count=0;
+    int dbresult=sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil);
+    if ( dbresult== SQLITE_OK)
+    {
+        
+        
+        while (sqlite3_step(statement) == SQLITE_ROW)
+        {
+
+            int item_id = sqlite3_column_int(statement, 0);
+            
+          
+            NSDictionary* bsubtotaljson=[self model_subtotal:item_id count:1 db:db compute_part:true];
+           
+            cart_count+=[bsubtotaljson[@"items"] allKeys].count;
+            
+        }
+        
+        
+        
+        sqlite3_finalize(statement);
+    }
+    
+  
+    return cart_count;
+
+}
 +(NSData*) offline_requestcart :(NSMutableDictionary *) params
 +(NSData*) offline_requestcart :(NSMutableDictionary *) params
 {
 {
     NSMutableDictionary* ret = [[NSMutableDictionary alloc] init];
     NSMutableDictionary* ret = [[NSMutableDictionary alloc] init];
@@ -2445,6 +2500,7 @@
     NSDate *date1 = [NSDate date];
     NSDate *date1 = [NSDate date];
     
     
     int count=0;
     int count=0;
+    int cart_count=0;
     int dbresult=sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil);
     int dbresult=sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil);
     if ( dbresult== SQLITE_OK)
     if ( dbresult== SQLITE_OK)
     {
     {
@@ -2519,6 +2575,7 @@
             double cuft=[bsubtotaljson[@"cuft"] doubleValue];
             double cuft=[bsubtotaljson[@"cuft"] doubleValue];
             double weight=[bsubtotaljson[@"weight"] doubleValue];
             double weight=[bsubtotaljson[@"weight"] doubleValue];
             int carton=[bsubtotaljson[@"carton"] intValue];
             int carton=[bsubtotaljson[@"carton"] intValue];
+            cart_count+=[bsubtotaljson[@"items"] allKeys].count;
             
             
 //            itemjson[@"img_url"]= [self model_category_img:[NSString stringWithFormat:@"%@",[NSNumber numberWithInt:item_id]] model_name:nil db:db];
 //            itemjson[@"img_url"]= [self model_category_img:[NSString stringWithFormat:@"%@",[NSNumber numberWithInt:item_id]] model_name:nil db:db];
 //            NSDate *img_date = [NSDate date];
 //            NSDate *img_date = [NSDate date];
@@ -2562,12 +2619,12 @@
     [self printTimeIntervalBetween:date1 and:[NSDate date]];
     [self printTimeIntervalBetween:date1 and:[NSDate date]];
     
     
     
     
-    int cart_count=[iSalesDB get_recordcount:db table:@"offline_cart" where:[NSString stringWithFormat:@"so_no='%@'",orderCode]];
+    //int cart_count=[iSalesDB get_recordcount:db table:@"offline_cart" where:[NSString stringWithFormat:@"so_no='%@'",orderCode]];
     
     
     int wish_count=[iSalesDB get_recordcount:db table:@"offline_wishlist" where:@"1=1"];
     int wish_count=[iSalesDB get_recordcount:db table:@"offline_wishlist" where:@"1=1"];
     ret[@"wish_count"]=[NSNumber numberWithInt:wish_count ];
     ret[@"wish_count"]=[NSNumber numberWithInt:wish_count ];
     ret[@"cart_count"]=[NSNumber numberWithInt:cart_count ];
     ret[@"cart_count"]=[NSNumber numberWithInt:cart_count ];
-    ret[@"count"]=[NSNumber numberWithInt:cart_count ];
+    ret[@"count"]=[NSNumber numberWithInt:count ];
 
 
     ret[@"mode"]=@"Regular Mode";
     ret[@"mode"]=@"Regular Mode";