PageRenderTime 107ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/iQuran/iQuran/DataBase.m

https://bitbucket.org/dhaval_openxcell/dhaval-quran
Objective C | 600 lines | 393 code | 154 blank | 53 comment | 79 complexity | 4511aa5311f95c84eb3e163deff46e58 MD5 | raw file
  1. //
  2. // DataBase.m
  3. // HostMaster
  4. //
  5. // Created by apple on 10/3/11.
  6. // Copyright 2011 bvhkh. All rights reserved.
  7. //
  8. #import "DataBase.h"
  9. #import <sqlite3.h>
  10. @implementation DataBase
  11. #pragma mark -
  12. #pragma mark Get Path
  13. // Fetch Database path
  14. -(NSString *) getDBPath
  15. {
  16. NSString *databaseName = @"QuranDatabase.sqlite";
  17. NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  18. NSString *documentsDir = [documentPaths objectAtIndex:0];
  19. NSString *databasePath = [documentsDir stringByAppendingPathComponent:databaseName];
  20. return databasePath;
  21. }
  22. #pragma mark -
  23. #pragma mark Manage Event Table
  24. // Insert Event Data
  25. //CREATE TABLE "QuranChapter" ("cId" INTEGER PRIMARY KEY NOT NULL ,"iChapterID" VARCHAR,"iChapterNum" VARCHAR,"vNameEn" VARCHAR,"vMeaning" VARCHAR,"vChronOrder" VARCHAR,"vOtherName" VARCHAR,"vOtherMeaning" VARCHAR,"vOrigin" VARCHAR,"versecount" VARCHAR, "vNameAr" VARCHAR, "vNameRu" VARCHAR, "vNameUr" VARCHAR, "vNameBn" VARCHAR, "vNameId" VARCHAR)
  26. -(void)InsertIntoQuranChapterId:(NSString *)chapterId ChapteNumber:(NSString *)chapteNumber ChapterNameEng:(NSString *)chapterNameEng Meaning:(NSString *)meaning CronichalOrder:(NSString *)cronicalOrder OtherName:(NSString *)otherName OtherMeaning:(NSString *)otherMeaning Origin:(NSString *)origin VerseCount:(NSString *)verseCount ChapterNameAr:(NSString *)ChapterNameAr ChapterNameRu:(NSString *)ChapterNameRu ChapterNameBn:(NSString *)ChapterNameBn chapterNameId:(NSString *)chapterNameId ChapterNameUr:(NSString *)ChapterNameUr
  27. {
  28. sqlite3 *database;
  29. sqlite3_stmt *stment;
  30. stment =nil;
  31. NSString *databasePath = [self getDBPath];
  32. NSString *sql=[NSString stringWithFormat:@"insert into QuranChapter (iChapterID,iChapterNum,vNameEn,vMeaning,vChronOrder,vOtherName,vOtherMeaning,vOrigin,versecount,vNameAr,vNameRu,vNameUr,vNameBn,vNameId)Values('%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@')",chapterId,chapteNumber,chapterNameEng,meaning,cronicalOrder,otherName,otherMeaning,origin,verseCount,ChapterNameAr,ChapterNameRu,ChapterNameUr,ChapterNameBn,chapterNameId];
  33. if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
  34. {
  35. if (sqlite3_prepare_v2(database, [sql UTF8String], -1, &stment, NULL) == SQLITE_OK)
  36. {
  37. NSLog(@"Success");
  38. sqlite3_step(stment);
  39. }
  40. }
  41. sqlite3_finalize(stment);
  42. sqlite3_close(database);
  43. }
  44. -(void)InsertIntoQuranVerseWithChapterId:(NSString *)chapterId ChapteNumber:(NSString *)chapteNumber VerseId:(NSString *)verseId VerseNumber:(NSString *)verseNumber LanguageEnglish:(NSString *)english LanguageArabic:(NSString *)arabic LanguageUrdu:(NSString *)urdu LanguageRussian:(NSString *)russian LanguageBangladeshi:(NSString *)bangladeshi LanguageIndinesian:(NSString *)indonesia OriginalUrdu:(NSString *)urduOriginal OriginalArabic:(NSString *)arabicOriginal TransEnglish:(NSString *)transEng CronichalOrder:(NSString *)cronicalOrder OtherMeaning:(NSString *)otherMeaning Origin:(NSString *)origin
  45. {
  46. sqlite3 *database;
  47. sqlite3_stmt *stment;
  48. stment =nil;
  49. NSString *databasePath = [self getDBPath];
  50. NSString *sql=[NSString stringWithFormat:@"insert into QuranVerses (iChapterNum,iVerseID,vTextEn,vTextAr,vTransEn,iVerserNumber,vChronOrder,vOtherMeaning,vOrigin,Arabic_,Urdu_,vTextBn,vTextId,vTextUr,vTextRu)Values('%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@','%@')",chapteNumber,verseId,english,arabic,transEng,verseNumber,cronicalOrder,otherMeaning,origin,arabicOriginal,urduOriginal,bangladeshi,indonesia,urdu,russian];
  51. if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
  52. {
  53. if (sqlite3_prepare_v2(database, [sql UTF8String], -1, &stment, NULL) == SQLITE_OK)
  54. {
  55. sqlite3_step(stment);
  56. }
  57. else
  58. {
  59. }
  60. }
  61. sqlite3_finalize(stment);
  62. sqlite3_close(database);
  63. }
  64. -(int)GetLastImageId
  65. {
  66. sqlite3 *database;
  67. int Count=0;
  68. NSString *dbPath = [self getDBPath];
  69. if(sqlite3_open([dbPath UTF8String], &database)== SQLITE_OK)
  70. {
  71. const char *sqlStatement = "SELECT MAX(ImageId) FROM HuntersAlbums";
  72. sqlite3_stmt *compiledStatement;
  73. if (sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement , NULL)==SQLITE_OK)
  74. {
  75. while (sqlite3_step(compiledStatement)==SQLITE_ROW)
  76. {
  77. Count = sqlite3_column_int(compiledStatement, 0);
  78. }
  79. sqlite3_finalize(compiledStatement);
  80. }
  81. sqlite3_close(database);
  82. }
  83. return Count;
  84. }
  85. // Fetch All Album Data
  86. -(NSMutableArray *)SelectAllChapterOfQuran
  87. {
  88. NSMutableArray *arrdata;
  89. arrdata=[[NSMutableArray alloc]init];
  90. sqlite3 *database;
  91. NSString *databasePath = [self getDBPath];
  92. if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
  93. NSString *sqlQuery=@"Select * from QuranChapter ORDER BY ABS(iChapterNum) ASC";
  94. sqlite3_stmt *compiledStatement;
  95. compiledStatement=nil;
  96. if(sqlite3_prepare_v2(database, [sqlQuery UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK) {
  97. while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
  98. if ((char *)sqlite3_column_text(compiledStatement,0)!=0) {
  99. NSMutableDictionary *temData = [[NSMutableDictionary alloc] init];
  100. int pKey = sqlite3_column_int(compiledStatement,0);
  101. [temData setValue:[NSString stringWithFormat:@"%d",pKey] forKey:@"cId"];
  102. [temData setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,1)] forKey:@"iChapterID"];
  103. [temData setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,2)] forKey:@"iChapterNum"];
  104. NSString* NameEng = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,3)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  105. NSString* Meaning = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  106. NSString* OtherName = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,6)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  107. NSString* OtherMeaning = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,7)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  108. NSString* Origin = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,8)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  109. NSString* NameAr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,10)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  110. NSString* NameRu = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,11)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  111. NSString* NameUr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,12)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  112. NSString* NameBn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,13)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  113. NSString* NameId = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,14)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  114. [temData setObject:NameEng forKey:@"vNameEn"];
  115. [temData setObject:NameAr forKey:@"vNameAr"];
  116. [temData setObject:NameRu forKey:@"vNameRu"];
  117. [temData setObject:NameBn forKey:@"vNameBn"];
  118. [temData setObject:NameUr forKey:@"vNameUr"];
  119. [temData setObject:NameId forKey:@"vNameId"];
  120. [temData setObject:Meaning forKey:@"vMeaning"];
  121. [temData setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,5)] forKey:@"vChronOrder"];
  122. [temData setObject:OtherName forKey:@"vOtherName"];
  123. [temData setObject:OtherMeaning forKey:@"vOtherMeaning"];
  124. [temData setObject:Origin forKey:@"vOrigin"];
  125. [temData setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,9)] forKey:@"versecount"];
  126. //[temData setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,10)] forKey:@"Reciter1"];
  127. [arrdata addObject:temData];
  128. }
  129. }
  130. }
  131. sqlite3_finalize(compiledStatement);
  132. }
  133. sqlite3_close(database);
  134. return arrdata;
  135. }
  136. -(NSMutableArray*)GetChapterInfoWithChapterNumber:(int)chapterNumber Language:(NSString *)Language
  137. {
  138. NSMutableArray *aryData;
  139. aryData = [[NSMutableArray alloc]init];
  140. sqlite3 *database;
  141. NSString *databasePath = [self getDBPath];
  142. if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
  143. {
  144. //NSString *sqlQuery=[NSString stringWithFormat:@"Select vNameEn, vMeaning, vChronOrder, vOtherName, vOtherMeaning, vOrigin, versecount, iChapterNum from QuranChapter where iChapterNum = %d ORDER BY ABS(iChapterNum) ASC",chapterNumber];
  145. NSString *secondaryLang = @"";
  146. if([Language isEqualToString:@"Arabic"])
  147. {
  148. secondaryLang = @"vNameAr";
  149. }
  150. else if([Language isEqualToString:@"Arabic"])
  151. {
  152. secondaryLang = @"vNameAr";
  153. }
  154. else if([Language isEqualToString:@"Urdu"])
  155. {
  156. secondaryLang = @"vNameUr";
  157. }
  158. else if([Language isEqualToString:@"Russian"])
  159. {
  160. secondaryLang = @"vNameRu";
  161. }
  162. else if([Language isEqualToString:@"Indonesian"])
  163. {
  164. secondaryLang = @"vNameId";
  165. }
  166. else if([Language isEqualToString:@"Bengali"])
  167. {
  168. secondaryLang = @"vNameBn";
  169. }
  170. if ([appDelegate.languageSelected isEqualToString:@"en"])
  171. {
  172. secondaryLang = @"vNameEn";
  173. }
  174. NSString *sqlQuery=[NSString stringWithFormat:@"Select %@, vMeaning, vChronOrder, vOtherName, vOtherMeaning, vOrigin, versecount, iChapterNum from QuranChapter where iChapterNum = %d ORDER BY ABS(iChapterNum) ASC",secondaryLang,chapterNumber];
  175. sqlite3_stmt *compiledStatement;
  176. compiledStatement=nil;
  177. if(sqlite3_prepare_v2(database, [sqlQuery UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK)
  178. {
  179. while(sqlite3_step(compiledStatement) == SQLITE_ROW)
  180. {
  181. if ((char *)sqlite3_column_text(compiledStatement,0)!=0)
  182. {
  183. NSMutableDictionary *tempData = [[NSMutableDictionary alloc] init];
  184. NSString* NameEng = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,0)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  185. [tempData setValue:NameEng forKey:secondaryLang];
  186. NSString* Meaning = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,1)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  187. [tempData setValue:Meaning forKey:@"vMeaning"];
  188. [tempData setValue:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,2)] forKey:@"vChronOrder"];
  189. NSString* OtherName = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,3)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  190. [tempData setValue:OtherName forKey:@"vOtherName"];
  191. NSString* OtherMean = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  192. [tempData setValue:OtherMean forKey:@"vOtherMeaning"];
  193. NSString* Origin = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,5)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  194. [tempData setValue:Origin forKey:@"vOrigin"];
  195. [tempData setValue:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,6)] forKey:@"versecount"];
  196. [tempData setValue:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,7)] forKey:@"iChapterNum"];
  197. [aryData addObject:tempData];
  198. }
  199. }
  200. }
  201. sqlite3_finalize(compiledStatement);
  202. }
  203. sqlite3_close(database);
  204. return aryData;
  205. }
  206. -(NSMutableArray *)SelectVersesFromChapterNumber:(NSString *)chapterNo withLanguage:(NSString *)language
  207. {
  208. NSMutableArray *arrdata;
  209. arrdata=[[NSMutableArray alloc]init];
  210. sqlite3 *database;
  211. NSString *databasePath = [self getDBPath];
  212. if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
  213. NSString *secondaryLang = @"";
  214. if([language isEqualToString:@"Arabic"])
  215. {
  216. secondaryLang = @"vTextAr";
  217. }
  218. else if([language isEqualToString:@"Urdu"])
  219. {
  220. secondaryLang = @"vTextUr";
  221. }
  222. else if([language isEqualToString:@"Russian"])
  223. {
  224. secondaryLang = @"vTextRu";
  225. }
  226. else if([language isEqualToString:@"Indonesian"])
  227. {
  228. secondaryLang = @"vTextId";
  229. }
  230. else if([language isEqualToString:@"Bengali"])
  231. {
  232. secondaryLang = @"vTextBn";
  233. }
  234. NSString *sqlQuery=[NSString stringWithFormat:@"Select iChapterNum,iVerseID,vTextEn,vTransEn,%@,iVerserNumber from VersesTable where iChapterNum = %@ ORDER BY ABS(iVerserNumber) ASC",secondaryLang,chapterNo];
  235. sqlite3_stmt *compiledStatement;
  236. compiledStatement=nil;
  237. if(sqlite3_prepare_v2(database, [sqlQuery UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK) {
  238. while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
  239. if ((char *)sqlite3_column_text(compiledStatement,0)!=0) {
  240. NSMutableDictionary *temData = [[NSMutableDictionary alloc] init];
  241. [temData setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,0)] forKey:@"iChapterNum"];
  242. NSString *iVerseID = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,1)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  243. [temData setObject:iVerseID forKey:@"iVerseID"];
  244. NSString *vTextEn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,2)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  245. [temData setObject:vTextEn forKey:@"vTextEn"];
  246. NSString *vTransEn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  247. [temData setObject:vTransEn forKey:@"vTransEn"];
  248. if([secondaryLang isEqualToString:@"vTextAr"])
  249. {
  250. //NSString vTextAr = [[NSString stringWithUTF8String:(char )sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  251. //[temData setObject:vTextAr forKey:@"vTextAr"];
  252. NSString *Arabic_ = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  253. [temData setObject:Arabic_ forKey:@"Arabic_"];
  254. }
  255. else if([secondaryLang isEqualToString:@"vTextUr"])
  256. {
  257. //NSString vTextAr = [[NSString stringWithUTF8String:(char )sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  258. //[temData setObject:vTextAr forKey:@"vTextUr"];
  259. NSString *Urdu_ = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  260. [temData setObject:Urdu_ forKey:@"Urdu_"];
  261. }
  262. else if([secondaryLang isEqualToString:@"vTextRu"])
  263. {
  264. NSString *vTextAr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  265. [temData setObject:vTextAr forKey:@"Ru_"];
  266. }
  267. else if([secondaryLang isEqualToString:@"vTextId"])
  268. {
  269. NSString* vTextAr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  270. [temData setObject:vTextAr forKey:@"Id_"];
  271. }
  272. else if([secondaryLang isEqualToString:@"vTextBn"])
  273. {
  274. NSString* vTextAr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  275. [temData setObject:vTextAr forKey:@"Bn_"];
  276. }
  277. NSString* iVerserNumber = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)];
  278. [temData setObject:iVerserNumber forKey:@"iVerserNumber"];
  279. [arrdata addObject:temData];
  280. }
  281. }
  282. }
  283. sqlite3_finalize(compiledStatement);
  284. }
  285. sqlite3_close(database);
  286. return arrdata;
  287. }
  288. -(NSMutableArray*)SelectVerses:(NSString *)verseNo andChapterNumber:(NSString *)chapterNo
  289. {
  290. NSMutableArray *arrdata;
  291. arrdata=[[NSMutableArray alloc]init];
  292. sqlite3 *database;
  293. NSString *databasePath = [self getDBPath];
  294. if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
  295. NSString *sqlQuery=[NSString stringWithFormat:@"Select * from VersesTable where iChapterNum = %@ and iVerserNumber = %@",chapterNo,verseNo];
  296. sqlite3_stmt *compiledStatement;
  297. compiledStatement=nil;
  298. if(sqlite3_prepare_v2(database, [sqlQuery UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK) {
  299. while(sqlite3_step(compiledStatement) == SQLITE_ROW)
  300. {
  301. if ((char *)sqlite3_column_text(compiledStatement,0)!=0)
  302. {
  303. NSMutableDictionary *temData = [[NSMutableDictionary alloc] init];
  304. int pKey = sqlite3_column_int(compiledStatement,0);
  305. [temData setValue:[NSString stringWithFormat:@"%d",pKey] forKey:@"cId"];
  306. [temData setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,1)] forKey:@"iChapterNum"];
  307. NSString* iVerseID = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,2)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  308. [temData setObject:iVerseID forKey:@"iVerseID"];
  309. NSString* vTextEn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,3)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  310. [temData setObject:vTextEn forKey:@"vTextEn"];
  311. NSString* iVerserNumber = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,6)];
  312. [temData setObject:iVerserNumber forKey:@"iVerserNumber"];
  313. /*NSString* vTextAr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  314. [temData setObject:vTextAr forKey:@"vTextAr"];
  315. NSString* vTransEn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,5)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  316. [temData setObject:vTransEn forKey:@"vTransEn"];
  317. NSString* iVerserNumber = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,6)];
  318. [temData setObject:iVerserNumber forKey:@"iVerserNumber"];
  319. NSString* vChronOrder = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,7)];
  320. [temData setObject:vChronOrder forKey:@"vChronOrder"];
  321. NSString* vOtherMeaning = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,8)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  322. [temData setObject:vOtherMeaning forKey:@"vOtherMeaning"];
  323. NSString* vOrigin = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,9)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  324. [temData setObject:vOrigin forKey:@"vOrigin"];
  325. NSString* Arabic_ = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,10)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  326. [temData setObject:Arabic_ forKey:@"Arabic_"];
  327. NSString* Urdu_ = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,11)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  328. [temData setObject:Urdu_ forKey:@"Urdu_"];
  329. NSString* vTextBn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,12)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  330. [temData setObject:vTextBn forKey:@"vTextBn"];
  331. NSString* vTextId = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,13)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  332. [temData setObject:vTextId forKey:@"vTextId"];
  333. NSString* vTextUr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,14)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  334. [temData setObject:vTextUr forKey:@"vTextUr"];
  335. NSString* vTextRu = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,15)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  336. [temData setObject:vTextRu forKey:@"vTextRu"];*/
  337. [arrdata addObject:temData];
  338. }
  339. }
  340. }
  341. sqlite3_finalize(compiledStatement);
  342. }
  343. sqlite3_close(database);
  344. return arrdata;
  345. }
  346. //update Event Data
  347. -(void)updateAlbumImage:(NSString *)albumImg ForAlbum:(int)albumId
  348. {
  349. sqlite3 *database;
  350. NSString *databasePath = [self getDBPath];
  351. if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
  352. NSString *sqlQuery=[NSString stringWithFormat:@"Update NewAlbum set AlbumImage = '%@' where AlbumId = %d",albumImg,albumId];
  353. sqlite3_stmt *compiledStatement;
  354. compiledStatement=nil;
  355. if(sqlite3_prepare_v2(database, [sqlQuery UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK)
  356. {
  357. sqlite3_step(compiledStatement);
  358. }
  359. sqlite3_finalize(compiledStatement);
  360. }
  361. sqlite3_close(database);
  362. }
  363. -(void)removeAllImageWithAlbum:(int)albumId
  364. {
  365. sqlite3 *database;
  366. NSString *databasePath = [self getDBPath];
  367. if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
  368. NSString *sqlQuery=[NSString stringWithFormat:@"Delete From HuntersAlbums where AlbumId=%d",albumId];
  369. sqlite3_stmt *compiledStatement;
  370. compiledStatement=nil;
  371. if(sqlite3_prepare_v2(database, [sqlQuery UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK) {
  372. sqlite3_step(compiledStatement);
  373. }
  374. sqlite3_finalize(compiledStatement);
  375. }
  376. sqlite3_close(database);
  377. }
  378. #pragma mark - GetData To Bookmark
  379. -(NSMutableArray *)get_VersesFromChapterNumber:(NSString *)chapterNo iVerseID:(NSString *)iVerseID
  380. {
  381. NSMutableArray *arrdata;
  382. arrdata=[[NSMutableArray alloc]init];
  383. sqlite3 *database;
  384. NSString *databasePath = [self getDBPath];
  385. if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
  386. {
  387. NSString *sqlQuery=[NSString stringWithFormat:@"Select * from VersesTable where iChapterNum = %@ AND iVerseID = '%@'",chapterNo,iVerseID];
  388. sqlite3_stmt *compiledStatement;
  389. compiledStatement=nil;
  390. if(sqlite3_prepare_v2(database, [sqlQuery UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK) {
  391. while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
  392. if ((char *)sqlite3_column_text(compiledStatement,0)!=0)
  393. {
  394. NSMutableDictionary *temData = [[NSMutableDictionary alloc] init];
  395. int pKey = sqlite3_column_int(compiledStatement,0);
  396. [temData setObject:[NSString stringWithFormat:@"%d",pKey] forKey:@"primaryKey"];
  397. [temData setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,1)] forKey:@"iChapterNum"];
  398. NSString *iVerseID = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,2)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  399. [temData setObject:iVerseID forKey:@"iVerseID"];
  400. NSString *vTextEn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,3)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  401. [temData setObject:vTextEn forKey:@"vTextEn"];
  402. NSString *vTextAr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  403. [temData setObject:vTextAr forKey:@"vTextAr"];
  404. NSString *vTransEn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,5)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  405. [temData setObject:vTransEn forKey:@"vTransEn"];
  406. NSString *iVerserNumber = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,6)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  407. [temData setObject:iVerserNumber forKey:@"iVerserNumber"];
  408. NSString *vChronOrder = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,7)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  409. [temData setObject:vChronOrder forKey:@"vChronOrder"];
  410. NSString* vOtherMeaning = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,8)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  411. [temData setObject:vOtherMeaning forKey:@"vOtherMeaning"];
  412. NSString* vOrigin = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,9)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  413. [temData setObject:vOrigin forKey:@"vOrigin"];
  414. NSString* Arabic_ = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,10)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  415. [temData setObject:Arabic_ forKey:@"Arabic_"];
  416. NSString* Urdu_ = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,11)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  417. [temData setObject:Urdu_ forKey:@"Urdu_"];
  418. NSString* vTextBn = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,12)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  419. [temData setObject:vTextBn forKey:@"vTextBn"];
  420. NSString* vTextId = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,13)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  421. [temData setObject:vTextId forKey:@"vTextId"];
  422. NSString* vTextUr = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,13)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  423. [temData setObject:vTextUr forKey:@"vTextUr"];
  424. NSString* vTextRu = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,14)] stringByReplacingOccurrencesOfString:@"åπ¬çø∂" withString:@"'"];
  425. [temData setObject:vTextRu forKey:@"vTextRu"];
  426. [arrdata addObject:temData];
  427. }
  428. }
  429. }
  430. sqlite3_finalize(compiledStatement);
  431. }
  432. sqlite3_close(database);
  433. return arrdata;
  434. }
  435. @end