diff --git a/WOKA.xcodeproj/project.pbxproj b/WOKA.xcodeproj/project.pbxproj index 7243ac2..b91da5f 100644 --- a/WOKA.xcodeproj/project.pbxproj +++ b/WOKA.xcodeproj/project.pbxproj @@ -12,7 +12,6 @@ 5202AB012BDFA7900043B7BD /* EmailValidation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5202AB002BDFA7900043B7BD /* EmailValidation.swift */; }; 520346962C64E29A00D0BD20 /* MyListViewAllCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 520346952C64E29A00D0BD20 /* MyListViewAllCell.xib */; }; 520346972C64E29A00D0BD20 /* MyListViewAllCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520346942C64E29A00D0BD20 /* MyListViewAllCell.swift */; }; - 5210438E2C69E18F0005A4D1 /* WOKA.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 5210438C2C69E18F0005A4D1 /* WOKA.xcdatamodeld */; }; 5219C2C22C086D9C00A1DF4D /* DataTypeConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5219C2C12C086D9B00A1DF4D /* DataTypeConversion.swift */; }; 521CB1002C493DB80085BDF8 /* JWPlayerKit in Frameworks */ = {isa = PBXBuildFile; productRef = 521CB0FF2C493DB80085BDF8 /* JWPlayerKit */; }; 522242662BFC74380085C632 /* MyListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 522242632BFC74380085C632 /* MyListVC.swift */; }; @@ -349,6 +348,7 @@ 9CDAEB142C54132E00890C47 /* CheckEddDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CDAEB132C54132E00890C47 /* CheckEddDM.swift */; }; 9CDC343C2BDBBC6B00093089 /* SelectAgeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CDC343B2BDBBC6B00093089 /* SelectAgeVC.swift */; }; 9CDCE1452BDB9B9A003FEF11 /* OnBoardMainSound.m4a in Resources */ = {isa = PBXBuildFile; fileRef = 9CDCE1442BDB9B9A003FEF11 /* OnBoardMainSound.m4a */; }; + 9CF5BA9F2C6BCE9E00BD77F9 /* WOKA.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 9CF5BA9D2C6BCE9E00BD77F9 /* WOKA.xcdatamodeld */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -398,7 +398,6 @@ 520346952C64E29A00D0BD20 /* MyListViewAllCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MyListViewAllCell.xib; sourceTree = ""; }; 520B6E3E2C0751E90091C478 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Theme.strings; sourceTree = ""; }; 520B6E402C0751EF0091C478 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Theme.strings; sourceTree = ""; }; - 5210438D2C69E18F0005A4D1 /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = ""; }; 5219C2C12C086D9B00A1DF4D /* DataTypeConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataTypeConversion.swift; sourceTree = ""; }; 522242632BFC74380085C632 /* MyListVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyListVC.swift; sourceTree = ""; }; 522242652BFC74380085C632 /* TabBarVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabBarVC.swift; sourceTree = ""; }; @@ -732,6 +731,7 @@ 9CDCE1412BDB94BA003FEF11 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Main.strings; sourceTree = ""; }; 9CDCE1422BDB94BD003FEF11 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = ""; }; 9CDCE1442BDB9B9A003FEF11 /* OnBoardMainSound.m4a */ = {isa = PBXFileReference; lastKnownFileType = file; path = OnBoardMainSound.m4a; sourceTree = ""; }; + 9CF5BA9E2C6BCE9E00BD77F9 /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = ""; }; C83A2BA3B8F575DC890CC5DD /* Pods-WOKA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WOKA.debug.xcconfig"; path = "Target Support Files/Pods-WOKA/Pods-WOKA.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -930,7 +930,7 @@ 9C535DC82C00C34000DA6DCD /* Theme */, 52DAC6462C21761700E2F85B /* WebSeries */, 9C834ED92C1C20EC00B29A9C /* WOKA.entitlements */, - 5210438C2C69E18F0005A4D1 /* WOKA.xcdatamodeld */, + 9CF5BA9D2C6BCE9E00BD77F9 /* WOKA.xcdatamodeld */, 52ACC1292C610EC900791528 /* PersistentStorage.swift */, ); path = WOKA; @@ -2314,7 +2314,7 @@ 52A6DCA02C4E3AA600F63C51 /* ShopListingCell.swift in Sources */, 525954192BE8CC3400191286 /* ConstantString.swift in Sources */, 52D774EB2BDFC0BF001D87DE /* OTPVC.swift in Sources */, - 5210438E2C69E18F0005A4D1 /* WOKA.xcdatamodeld in Sources */, + 9CF5BA9F2C6BCE9E00BD77F9 /* WOKA.xcdatamodeld in Sources */, 9C8446872C40FC6E003E3E53 /* AVPlayerTesting.swift in Sources */, 52AF71F42C36C40B00BC5972 /* GamesWebViewVC.swift in Sources */, 9C007F202C255DF200F798C2 /* EpisodeListingDM.swift in Sources */, @@ -3070,14 +3070,14 @@ /* End XCSwiftPackageProductDependency section */ /* Begin XCVersionGroup section */ - 5210438C2C69E18F0005A4D1 /* WOKA.xcdatamodeld */ = { + 9CF5BA9D2C6BCE9E00BD77F9 /* WOKA.xcdatamodeld */ = { isa = XCVersionGroup; children = ( - 5210438D2C69E18F0005A4D1 /* WOKA.xcdatamodel */, + 9CF5BA9E2C6BCE9E00BD77F9 /* WOKA.xcdatamodel */, ); - currentVersion = 5210438D2C69E18F0005A4D1 /* WOKA.xcdatamodel */; + currentVersion = 9CF5BA9E2C6BCE9E00BD77F9 /* WOKA.xcdatamodel */; name = WOKA.xcdatamodeld; - path = /Users/macbookpro/Desktop/WOKA/WOKA/WOKA.xcdatamodeld; + path = /Users/bilal/Desktop/woka_native_ios_swift/WOKA/WOKA.xcdatamodeld; sourceTree = ""; versionGroupType = wrapper.xcdatamodel; }; diff --git a/WOKA/Constants K/GVar.swift b/WOKA/Constants K/GVar.swift index 6523001..0ff6570 100644 --- a/WOKA/Constants K/GVar.swift +++ b/WOKA/Constants K/GVar.swift @@ -19,5 +19,7 @@ extension K{ static var reloadMyListAudioBooks = false static var reloadKaraoke = false static var reloadGames = false + static var reloadHindiWebseries = false + static var reloadEnglishWebseries = false } } diff --git a/WOKA/Home/Controller/MyListVC.swift b/WOKA/Home/Controller/MyListVC.swift index dee14a9..7fc86e4 100644 --- a/WOKA/Home/Controller/MyListVC.swift +++ b/WOKA/Home/Controller/MyListVC.swift @@ -101,14 +101,41 @@ class MyListVC: UIViewController{ } if K.GVar.reloadGames{ - MyListDataTemp.shareInstance.updateGames() { isDone in + MyListDataTemp.shareInstance.updateGames() { [weak self] isDone in + guard let self else{return} if isDone{ self.gamesCV.reloadData() + vm.checkNil() + vm.checkViewAll() } } K.GVar.reloadGames = false } + if K.GVar.reloadEnglishWebseries{ + MyListDataTemp.shareInstance.updateWebSeries(catID: 1){ [weak self] isDone in + guard let self else{return} + if isDone{ + webSeriesCV.reloadData() + vm.checkNil() + vm.checkViewAll() + } + } + K.GVar.reloadEnglishWebseries = false + } + + if K.GVar.reloadHindiWebseries{ + MyListDataTemp.shareInstance.updateWebSeries(catID: 18) { [weak self] isDone in + guard let self else{return} + if isDone{ + webSeriesHindiCV.reloadData() + vm.checkNil() + vm.checkViewAll() + } + } + K.GVar.reloadHindiWebseries = false + } + if K.GVar.myListSoftReload{ vm.reloadCollections() vm.checkNil() diff --git a/WOKA/Home/Controller/MyListViewAllVC.swift b/WOKA/Home/Controller/MyListViewAllVC.swift index 1074d78..c75c425 100644 --- a/WOKA/Home/Controller/MyListViewAllVC.swift +++ b/WOKA/Home/Controller/MyListViewAllVC.swift @@ -62,7 +62,11 @@ extension MyListViewAllVC : TableViewSRC{ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { switch vm.postType{ case 1: // webSeries - return vm.favListingData?.showData?.count ?? 0 + if vm.catID == "1"{ + return vm.favListingData?.showData?.english?.count ?? 0 + }else{ + return vm.favListingData?.showData?.hindi?.count ?? 0 + } case 6: // Games return vm.favListingData?.gameData?.count ?? 0 case 7: // Audio @@ -77,7 +81,38 @@ extension MyListViewAllVC : TableViewSRC{ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { switch vm.postType{ case 1: // webSeries - break + if vm.catID == "1"{ + guard let showData = vm.favListingData?.showData?.english?[indexPath.row] else{return} + + if let showID = showData.id{ + PersistentStorage.shared.addWebSeries(catID: 1, postID: showID, postType: .series) + } + + let showDataModified = WebSeriesShowListDM.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, categoryMasterID: nil, ageRangeMasterID: nil, genderMasterID: showData.genderMasterID, contentMoreDetails: showData.contentMoreDetails, seasonData: nil, categoryData: nil, ageRangeData: nil, genderData: nil, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likedCategoryIDS: nil, favouriteCategoryIDS: ValueWrapper.stringValue(showData.bookmarkCategoryIDS ?? "1") , likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount) + + let sb = UIStoryboard(name: K.StoryBoard.webSeries, bundle: nil) + let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.WebSeries.webSeriesSeasonVC) as! WebSeriesSeasonVC + vcPush.vm.showData = showDataModified + vcPush.vm.indexSelected = indexPath.row + vcPush.vm.categoryID = 1 + self.navigationController?.pushViewController(vcPush, animated: true) + }else{ + guard let showData = vm.favListingData?.showData?.hindi?[indexPath.row] else{return} + + if let showID = showData.id{ + PersistentStorage.shared.addWebSeries(catID: 18, postID: showID, postType: .series) + } + + let showDataModified = WebSeriesShowListDM.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, categoryMasterID: nil, ageRangeMasterID: nil, genderMasterID: showData.genderMasterID, contentMoreDetails: showData.contentMoreDetails, seasonData: nil, categoryData: nil, ageRangeData: nil, genderData: nil, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likedCategoryIDS: nil, favouriteCategoryIDS: ValueWrapper.stringValue(showData.bookmarkCategoryIDS ?? "18") , likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount) + + let sb = UIStoryboard(name: K.StoryBoard.webSeries, bundle: nil) + let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.WebSeries.webSeriesSeasonVC) as! WebSeriesSeasonVC + vcPush.vm.showData = showDataModified + vcPush.vm.indexSelected = indexPath.row + vcPush.vm.categoryID = 18 + self.navigationController?.pushViewController(vcPush, animated: true) + } + case 6://Games guard let gameData = vm.favListingData?.gameData?[indexPath.row] else{return} if let postID = gameData.id{ @@ -125,9 +160,16 @@ extension MyListViewAllVC : TableViewSRC{ let cell = tableView.dequeueReusableCell(withIdentifier: K.CellIdentifier.Home.myListViewAllCell) as! MyListViewAllCell switch vm.postType{ case 1: // Webseries - if let webSeriesData = vm.favListingData?.showData?[indexPath.row] { - cell.webSeriesData(data: webSeriesData) + if vm.catID == "1"{ // eng + if let webSeriesData = vm.favListingData?.showData?.english?[indexPath.row] { + cell.webSeriesData(data: webSeriesData) + } + }else{ // hin + if let webSeriesData = vm.favListingData?.showData?.hindi?[indexPath.row] { + cell.webSeriesData(data: webSeriesData) + } } + case 6: // Games if let gameData = vm.favListingData?.gameData?[indexPath.row] { cell.gameData(data: gameData) diff --git a/WOKA/Home/Model/FavouriteListingDM.swift b/WOKA/Home/Model/FavouriteListingDM.swift index d211337..1119fac 100644 --- a/WOKA/Home/Model/FavouriteListingDM.swift +++ b/WOKA/Home/Model/FavouriteListingDM.swift @@ -113,4 +113,3 @@ struct FavouriteListingDM: Codable { } } - diff --git a/WOKA/Home/MyListDataTemp.swift b/WOKA/Home/MyListDataTemp.swift index 205d10d..bc2fc2c 100644 --- a/WOKA/Home/MyListDataTemp.swift +++ b/WOKA/Home/MyListDataTemp.swift @@ -134,4 +134,56 @@ class MyListDataTemp{ } } } + + func updateWebSeries(catID : Int,onCompletion : @escaping (Bool) -> ()){ + if !isDatafetched{ + + } + let headers : HTTPHeaders = ["Accept-Language" : AuthFunc.shareInstance.languageSelected == .english ? "English" : "Hindi", + "access-token": AuthFunc.shareInstance.getAccessToken()] + let params : Parameters = ["post_type" : 1, + "api_version" : "v2", + "start" : 0, + "limit" : "3", + "category_id" : catID] + + NetworkManager.shareInstance.apiRequest(url: APIEndPoints.Home.favourite_listing, method: .post,parameters : params, headers: headers) { [weak self](result : Result, NetworkManager.APIError>) in + switch result{ + case .success(let data): + switch data.success{ + case 0: + Utilities.dismissProgressHUD() + if catID == 1{ + self?.favListingData?.showData?.english = [] + onCompletion(true) + }else{ + self?.favListingData?.showData?.hindi = [] + onCompletion(true) + } + case 1: + Utilities.dismissProgressHUD() + if catID == 1{ + guard let englishData = data.data?.result?.showData?.english else{ + onCompletion(false) + return + } + self?.favListingData?.showData?.english = englishData + onCompletion(true) + }else{ + guard let hindiData = data.data?.result?.showData?.hindi else{ + onCompletion(false) + return + } + self?.favListingData?.showData?.hindi = hindiData + onCompletion(true) + } + default: + onCompletion(false) + } + case .failure(let error): + print("Audio Error:- ", error) + onCompletion(false) + } + } + } } diff --git a/WOKA/Home/ViewModel/MyListVM.swift b/WOKA/Home/ViewModel/MyListVM.swift index f1d660a..f26938b 100644 --- a/WOKA/Home/ViewModel/MyListVM.swift +++ b/WOKA/Home/ViewModel/MyListVM.swift @@ -141,7 +141,7 @@ class MyListVM{ MyListDataTemp.shareInstance.isDatafetched = true if MyListDataTemp.shareInstance.favListingData?.showData == nil { - MyListDataTemp.shareInstance.favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) + MyListDataTemp.shareInstance.favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) } reloadCollections() checkNil() @@ -219,7 +219,7 @@ class MyListVM{ Utilities.dismissProgressHUD() checkNil() if MyListDataTemp.shareInstance.favListingData?.showData == nil { - MyListDataTemp.shareInstance.favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) + MyListDataTemp.shareInstance.favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) } self.vc.toast(msg: error.localizedDescription , time: 2) } @@ -373,16 +373,9 @@ class MyListVM{ func checkNil(){ - guard let data = MyListDataTemp.shareInstance.favListingData else{ - if MyListDataTemp.shareInstance.webSeriesHindi.count != 0 { - self.vc.noDataStack.isHidden = true - }else{ - self.vc.noDataStack.isHidden = false - } - return - } + guard let data = MyListDataTemp.shareInstance.favListingData else{return} - if data.showData?.count == 0 && data.singKaraokeData?.count == 0 && data.gameData?.count == 0 && data.audioData?.count == 0 && MyListDataTemp.shareInstance.webSeriesHindi.count == 0{ + if data.showData?.english?.count == 0 && data.singKaraokeData?.count == 0 && data.gameData?.count == 0 && data.audioData?.count == 0 && data.showData?.hindi?.count == 0{ self.vc.noDataStack.isHidden = false }else{ self.vc.noDataStack.isHidden = true diff --git a/WOKA/Home/ViewModel/MyListViewAllVM.swift b/WOKA/Home/ViewModel/MyListViewAllVM.swift index ffcfebe..b09119c 100644 --- a/WOKA/Home/ViewModel/MyListViewAllVM.swift +++ b/WOKA/Home/ViewModel/MyListViewAllVM.swift @@ -61,54 +61,56 @@ class MyListViewAllVM{ guard let totalCount = data.data?.result?.totalRecords ,let data = data.data?.result else{return} switch postType{ - case 0: // webSeriesHindi - if favListingData?.gameData == nil { - favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) - } - if let webSeriesData = data.showData { - favListingData?.showData?.append(contentsOf: webSeriesData) - } - - - self.vc.tableView.reloadData() - self.vc.tableHeight.constant = self.vc.tableView.contentSize.height + 100 - self.vc.tableView.layoutIfNeeded() - let webSeriesCount = self.favListingData?.showData?.count ?? 0 - self.vc.tableHeight.constant = CGFloat(webSeriesCount * 230) - self.vc.loadMoreActivityIndicator.stopAnimating() - self.vc.loadMoreActivityIndicator.hidesWhenStopped = true - - if webSeriesCount == totalCount{ - self.vc.loadMoreBtn.isHidden = true - }else{ - self.vc.loadMoreBtn.isHidden = false - } - case 1: // webSeriesEnglish - if favListingData?.gameData == nil { - favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) - } - if let webSeriesData = data.showData { - favListingData?.showData?.append(contentsOf: webSeriesData) - } - - - self.vc.tableView.reloadData() - self.vc.tableHeight.constant = self.vc.tableView.contentSize.height + 100 - self.vc.tableView.layoutIfNeeded() - let webSeriesCount = self.favListingData?.showData?.count ?? 0 - self.vc.tableHeight.constant = CGFloat(webSeriesCount * 230) - self.vc.loadMoreActivityIndicator.stopAnimating() - self.vc.loadMoreActivityIndicator.hidesWhenStopped = true - - if webSeriesCount == totalCount{ - self.vc.loadMoreBtn.isHidden = true - }else{ - self.vc.loadMoreBtn.isHidden = false + case 1: // webseries + if catID == "1"{ // english + if favListingData?.showData?.english == nil { + favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) + } + + if let webSeriesData = data.showData?.english { + favListingData?.showData?.english?.append(contentsOf: webSeriesData) + } + + self.vc.tableView.reloadData() + self.vc.tableHeight.constant = self.vc.tableView.contentSize.height + 100 + self.vc.tableView.layoutIfNeeded() + let webSeriesCount = self.favListingData?.showData?.english?.count ?? 0 + self.vc.tableHeight.constant = CGFloat(webSeriesCount * 230) + self.vc.loadMoreActivityIndicator.stopAnimating() + self.vc.loadMoreActivityIndicator.hidesWhenStopped = true + + if webSeriesCount == totalCount{ + self.vc.loadMoreBtn.isHidden = true + }else{ + self.vc.loadMoreBtn.isHidden = false + } + }else{// hindi + if favListingData?.showData?.hindi == nil { + favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) + } + + if let webSeriesData = data.showData?.hindi { + favListingData?.showData?.hindi?.append(contentsOf: webSeriesData) + } + + self.vc.tableView.reloadData() + self.vc.tableHeight.constant = self.vc.tableView.contentSize.height + 100 + self.vc.tableView.layoutIfNeeded() + let webSeriesCount = self.favListingData?.showData?.hindi?.count ?? 0 + self.vc.tableHeight.constant = CGFloat(webSeriesCount * 230) + self.vc.loadMoreActivityIndicator.stopAnimating() + self.vc.loadMoreActivityIndicator.hidesWhenStopped = true + + if webSeriesCount == totalCount{ + self.vc.loadMoreBtn.isHidden = true + }else{ + self.vc.loadMoreBtn.isHidden = false + } } case 6: // Games if let gameData = data.gameData{ if favListingData?.gameData == nil { - favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) + favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) } self.favListingData?.gameData?.append(contentsOf: gameData) @@ -130,7 +132,7 @@ class MyListViewAllVM{ case 7: if let audioData = data.audioData{ if favListingData?.audioData == nil { - favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) + favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) } self.favListingData?.audioData?.append(contentsOf: audioData) @@ -152,7 +154,7 @@ class MyListViewAllVM{ case 8: //KAraoke if let karaokeData = data.singKaraokeData{ if favListingData?.showData == nil { - favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) + favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) } self.favListingData?.singKaraokeData?.append(contentsOf: karaokeData) diff --git a/WOKA/Theme/Controller/ThemeOneVC.swift b/WOKA/Theme/Controller/ThemeOneVC.swift index 99bf5ed..b58c032 100644 --- a/WOKA/Theme/Controller/ThemeOneVC.swift +++ b/WOKA/Theme/Controller/ThemeOneVC.swift @@ -70,7 +70,7 @@ class ThemeOneVC: UIViewController { vm.initView() if MyListDataTemp.shareInstance.favListingData?.showData == nil { - MyListDataTemp.shareInstance.favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) + MyListDataTemp.shareInstance.favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) } // connectedToNetwork() diff --git a/WOKA/Theme/Controller/ThemeTwoVC.swift b/WOKA/Theme/Controller/ThemeTwoVC.swift index 35db385..e5039c5 100644 --- a/WOKA/Theme/Controller/ThemeTwoVC.swift +++ b/WOKA/Theme/Controller/ThemeTwoVC.swift @@ -33,7 +33,7 @@ class ThemeTwoVC: UIViewController { vm.initView() if MyListDataTemp.shareInstance.favListingData?.showData == nil { - MyListDataTemp.shareInstance.favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: [], videoData: [], gameData: [], singKaraokeData: [], audioData: []) + MyListDataTemp.shareInstance.favListingData = FavouriteListingDM.ResultData(totalRecords: nil, showData: FavouriteListingDM.ResultData.ShowData(hindi: [],english: []),videoData: [],gameData: [],singKaraokeData: [],audioData: []) } } diff --git a/WOKA/WebSeries/Controller/WebSeriesVC.swift b/WOKA/WebSeries/Controller/WebSeriesVC.swift index c1d96c4..add0cef 100644 --- a/WOKA/WebSeries/Controller/WebSeriesVC.swift +++ b/WOKA/WebSeries/Controller/WebSeriesVC.swift @@ -145,22 +145,26 @@ extension WebSeriesVC : TableViewSRC{ vm.showData[index].markAsFavourite = false vm.showData[index].favouriteCategoryIDS = ValueWrapper.stringValue("") showListingTableView.reloadRows(at: [IndexPath(row: index, section: 0)],with: .none) -// K.GVar.reloadMyList = true + if categoryID == 18{ // hindi + K.GVar.reloadHindiWebseries = true + }else{ // english + K.GVar.reloadEnglishWebseries = true + } // Update for mylist - if let id = vm.categoryListingData[vm.dropDownModule.indexForSelectedRow ?? 0].id{ - if id == 1{ // english - if let index = MyListDataTemp.shareInstance.favListingData?.showData?.firstIndex(where: {$0.id == postID}){ - MyListDataTemp.shareInstance.favListingData?.showData?.remove(at: index) - K.GVar.myListSoftReload = true - } - }else{ // hindi - if let index = MyListDataTemp.shareInstance.webSeriesHindi.firstIndex(where: {$0.id == postID}){ - MyListDataTemp.shareInstance.webSeriesHindi.remove(at: index) - K.GVar.myListSoftReload = true - } - } - } +// if let id = vm.categoryListingData[vm.dropDownModule.indexForSelectedRow ?? 0].id{ +// if id == 1{ // english +// if let index = MyListDataTemp.shareInstance.favListingData?.showData?.english?.firstIndex(where: {$0.id == postID}){ +// MyListDataTemp.shareInstance.favListingData?.showData?.english?.remove(at: index) +// K.GVar.myListSoftReload = true +// } +// }else{ // hindi +// if let index = MyListDataTemp.shareInstance.favListingData?.showData?.hindi?.firstIndex(where: {$0.id == postID}){ +// MyListDataTemp.shareInstance.favListingData?.showData?.hindi?.remove(at: index) +// K.GVar.myListSoftReload = true +// } +// } +// } } } }else{ @@ -169,23 +173,26 @@ extension WebSeriesVC : TableViewSRC{ vm.showData[index].markAsFavourite = true vm.showData[index].favouriteCategoryIDS = ValueWrapper.stringValue(categoryID.toString()) showListingTableView.reloadRows(at: [IndexPath(row: index, section: 0)],with: .none) -// K.GVar.reloadMyList = true - - // Update for mylist - if let id = vm.categoryListingData[vm.dropDownModule.indexForSelectedRow ?? 0].id{ - if id == 1{ // english - if !MyListDataTemp.shareInstance.isDatafetched {return} - let showData = vm.showData[index] - MyListDataTemp.shareInstance.favListingData?.showData?.append(FavouriteListingDM.ResultData.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, ageRangeMasterID: showData.ageRangeMasterID, genderMasterID: showData.genderMasterID, categoryMasterID: "1", contentMoreDetails: showData.contentMoreDetails, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount, bookmarkCategoryIDS: "1")) - K.GVar.myListSoftReload = true - }else{ // hindi - // return if the data is not fetched. IT means user has not loaded mylist yet - if !MyListDataTemp.shareInstance.isDatafetched {return} - let showData = vm.showData[index] - MyListDataTemp.shareInstance.webSeriesHindi.append(FavouriteListingDM.ResultData.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, ageRangeMasterID: showData.ageRangeMasterID, genderMasterID: showData.genderMasterID, categoryMasterID: "18", contentMoreDetails: showData.contentMoreDetails, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount, bookmarkCategoryIDS: "18")) - K.GVar.myListSoftReload = true - } + if categoryID == 18{ // hindi + K.GVar.reloadHindiWebseries = true + }else{ // english + K.GVar.reloadEnglishWebseries = true } + // Update for mylist +// if let id = vm.categoryListingData[vm.dropDownModule.indexForSelectedRow ?? 0].id{ +// if id == 1{ // english +// if !MyListDataTemp.shareInstance.isDatafetched {return} +// let showData = vm.showData[index] +// MyListDataTemp.shareInstance.favListingData?.showData?.append(FavouriteListingDM.ResultData.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, ageRangeMasterID: showData.ageRangeMasterID, genderMasterID: showData.genderMasterID, categoryMasterID: "1", contentMoreDetails: showData.contentMoreDetails, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount, bookmarkCategoryIDS: "1")) +// K.GVar.myListSoftReload = true +// }else{ // hindi +// // return if the data is not fetched. IT means user has not loaded mylist yet +// if !MyListDataTemp.shareInstance.isDatafetched {return} +// let showData = vm.showData[index] +// MyListDataTemp.shareInstance.webSeriesHindi.append(FavouriteListingDM.ResultData.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, ageRangeMasterID: showData.ageRangeMasterID, genderMasterID: showData.genderMasterID, categoryMasterID: "18", contentMoreDetails: showData.contentMoreDetails, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount, bookmarkCategoryIDS: "18")) +// K.GVar.myListSoftReload = true +// } +// } } } @@ -203,14 +210,14 @@ extension WebSeriesVC : TableViewSRC{ K.GVar.myListSoftReload = true - if let index = MyListDataTemp.shareInstance.favListingData?.showData?.firstIndex(where: {$0.id == postID}){ - MyListDataTemp.shareInstance.favListingData?.showData?[index].isLiked = false - MyListDataTemp.shareInstance.favListingData?.showData?[index].likesCount! -= 1 + if let index = MyListDataTemp.shareInstance.favListingData?.showData?.english?.firstIndex(where: {$0.id == postID}){ + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].isLiked = false + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].likesCount! -= 1 } - if let index = MyListDataTemp.shareInstance.webSeriesHindi.firstIndex(where: {$0.id == postID}){ - MyListDataTemp.shareInstance.webSeriesHindi[index].isLiked = false - MyListDataTemp.shareInstance.webSeriesHindi[index].likesCount! -= 1 + if let index = MyListDataTemp.shareInstance.favListingData?.showData?.hindi?.firstIndex(where: {$0.id == postID}){ + MyListDataTemp.shareInstance.favListingData?.showData?.hindi?[index].isLiked = false + MyListDataTemp.shareInstance.favListingData?.showData?.hindi?[index].likesCount! -= 1 } } } @@ -224,14 +231,14 @@ extension WebSeriesVC : TableViewSRC{ // Soft reload for webseries english K.GVar.myListSoftReload = true - if let index = MyListDataTemp.shareInstance.favListingData?.showData?.firstIndex(where: {$0.id == postID}){ - MyListDataTemp.shareInstance.favListingData?.showData?[index].isLiked = true - MyListDataTemp.shareInstance.favListingData?.showData?[index].likesCount! += 1 + if let index = MyListDataTemp.shareInstance.favListingData?.showData?.english?.firstIndex(where: {$0.id == postID}){ + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].isLiked = true + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].likesCount! += 1 } - if let index = MyListDataTemp.shareInstance.webSeriesHindi.firstIndex(where: {$0.id == postID}){ - MyListDataTemp.shareInstance.webSeriesHindi[index].isLiked = true - MyListDataTemp.shareInstance.webSeriesHindi[index].likesCount! += 1 + if let index = MyListDataTemp.shareInstance.favListingData?.showData?.english?.firstIndex(where: {$0.id == postID}){ + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].isLiked = true + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].likesCount! += 1 } } } diff --git a/WOKA/WebSeries/ViewModel/WebSeriesSeasonVM.swift b/WOKA/WebSeries/ViewModel/WebSeriesSeasonVM.swift index 505e770..508adc0 100644 --- a/WOKA/WebSeries/ViewModel/WebSeriesSeasonVM.swift +++ b/WOKA/WebSeries/ViewModel/WebSeriesSeasonVM.swift @@ -54,15 +54,17 @@ class WebSeriesSeasonVM{ self.vc.likeFavDelegate?.updateRows(index: indexSelected, type: .favourite, isFav: false, isLike: nil, id: showID) if self.categoryID == 18{ // hindi - if let index = MyListDataTemp.shareInstance.webSeriesHindi.firstIndex(where: {$0.id == showID}){ - MyListDataTemp.shareInstance.webSeriesHindi.remove(at: index) - K.GVar.myListSoftReload = true - } + K.GVar.reloadHindiWebseries = true +// if let index = MyListDataTemp.shareInstance.favListingData?.showData?.hindi?.firstIndex(where: {$0.id == showID}){ +// MyListDataTemp.shareInstance.favListingData?.showData?.hindi?.remove(at: index) +// K.GVar.myListSoftReload = true +// } }else{ // english - if let index = MyListDataTemp.shareInstance.favListingData?.showData?.firstIndex(where: {$0.id == showID}){ - MyListDataTemp.shareInstance.favListingData?.showData?.remove(at: index) - K.GVar.myListSoftReload = true - } + K.GVar.reloadEnglishWebseries = true +// if let index = MyListDataTemp.shareInstance.favListingData?.showData?.english?.firstIndex(where: {$0.id == showID}){ +// MyListDataTemp.shareInstance.favListingData?.showData?.english?.remove(at: index) +// K.GVar.myListSoftReload = true +// } } } }else{ @@ -73,18 +75,18 @@ class WebSeriesSeasonVM{ self.setShowData() self.vc.likeFavDelegate?.updateRows(index: indexSelected, type: .favourite, isFav: true, isLike: nil, id: showID) - if self.categoryID == 18{ // hindi - guard let showData = self.showData else{return} - MyListDataTemp.shareInstance.webSeriesHindi.append(FavouriteListingDM.ResultData.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, ageRangeMasterID: showData.ageRangeMasterID, genderMasterID: showData.genderMasterID, categoryMasterID: self.categoryID?.toString(), contentMoreDetails: showData.contentMoreDetails, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount, bookmarkCategoryIDS: "18")) - K.GVar.myListSoftReload = true - }else{ // english - guard let showData = self.showData else{return} - if MyListDataTemp.shareInstance.favListingData?.showData == nil { - MyListDataTemp.shareInstance.favListingData?.showData = [] - } - MyListDataTemp.shareInstance.favListingData?.showData?.append(FavouriteListingDM.ResultData.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, ageRangeMasterID: showData.ageRangeMasterID, genderMasterID: showData.genderMasterID, categoryMasterID: self.categoryID?.toString(), contentMoreDetails: showData.contentMoreDetails, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount, bookmarkCategoryIDS: "1")) - K.GVar.myListSoftReload = true - } +// if self.categoryID == 18{ // hindi +// guard let showData = self.showData else{return} +// MyListDataTemp.shareInstance.favListingData?.showData?.hindi?.append(FavouriteListingDM.ResultData.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, ageRangeMasterID: showData.ageRangeMasterID, genderMasterID: showData.genderMasterID, categoryMasterID: self.categoryID?.toString(), contentMoreDetails: showData.contentMoreDetails, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount, bookmarkCategoryIDS: "18")) +// K.GVar.myListSoftReload = true +// }else{ // english +// guard let showData = self.showData else{return} +// if MyListDataTemp.shareInstance.favListingData?.showData == nil { +// MyListDataTemp.shareInstance.favListingData?.showData = [] +// } +// MyListDataTemp.shareInstance.favListingData?.showData?.append(FavouriteListingDM.ResultData.ShowDatum(id: showData.id, title: showData.title, description: showData.description, thumbnailPath: showData.thumbnailPath, showType: showData.showType, totalSeasons: showData.totalSeasons, totalEpisodes: showData.totalEpisodes, ageRangeMasterID: showData.ageRangeMasterID, genderMasterID: showData.genderMasterID, categoryMasterID: self.categoryID?.toString(), contentMoreDetails: showData.contentMoreDetails, markAsFavourite: showData.markAsFavourite, isLiked: showData.isLiked, likesCount: showData.likesCount, viewsCount: showData.viewsCount, bookmarkCount: showData.bookmarkCount, bookmarkCategoryIDS: "1")) +// K.GVar.myListSoftReload = true +// } } } } @@ -103,15 +105,15 @@ class WebSeriesSeasonVM{ self.vc.likeFavDelegate?.updateRows(index: indexSelected, type: .liked, isFav: nil, isLike: false, id: showID) if self.categoryID == 18{ // hindi - if let index = MyListDataTemp.shareInstance.webSeriesHindi.firstIndex(where: {$0.id == showID}){ - MyListDataTemp.shareInstance.webSeriesHindi[index].isLiked = false - MyListDataTemp.shareInstance.webSeriesHindi[index].likesCount! -= 1 + if let index = MyListDataTemp.shareInstance.favListingData?.showData?.hindi?.firstIndex(where: {$0.id == showID}){ + MyListDataTemp.shareInstance.favListingData?.showData?.hindi?[index].isLiked = false + MyListDataTemp.shareInstance.favListingData?.showData?.hindi?[index].likesCount! -= 1 K.GVar.myListSoftReload = true } }else{ // english - if let index = MyListDataTemp.shareInstance.favListingData?.showData?.firstIndex(where: {$0.id == showID}){ - MyListDataTemp.shareInstance.favListingData?.showData?[index].isLiked = false - MyListDataTemp.shareInstance.favListingData?.showData?[index].likesCount! -= 1 + if let index = MyListDataTemp.shareInstance.favListingData?.showData?.english?.firstIndex(where: {$0.id == showID}){ + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].isLiked = false + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].likesCount! -= 1 K.GVar.myListSoftReload = true } } @@ -124,15 +126,15 @@ class WebSeriesSeasonVM{ self.vc.likeFavDelegate?.updateRows(index: indexSelected, type: .liked, isFav: nil, isLike: true, id: showID) if self.categoryID == 18{ // hindi - if let index = MyListDataTemp.shareInstance.webSeriesHindi.firstIndex(where: {$0.id == showID}){ - MyListDataTemp.shareInstance.webSeriesHindi[index].isLiked = true - MyListDataTemp.shareInstance.webSeriesHindi[index].likesCount! += 1 + if let index = MyListDataTemp.shareInstance.favListingData?.showData?.hindi?.firstIndex(where: {$0.id == showID}){ + MyListDataTemp.shareInstance.favListingData?.showData?.hindi?[index].isLiked = true + MyListDataTemp.shareInstance.favListingData?.showData?.hindi?[index].likesCount! += 1 K.GVar.myListSoftReload = true } }else{ // english - if let index = MyListDataTemp.shareInstance.favListingData?.showData?.firstIndex(where: {$0.id == showID}){ - MyListDataTemp.shareInstance.favListingData?.showData?[index].isLiked = true - MyListDataTemp.shareInstance.favListingData?.showData?[index].likesCount! += 1 + if let index = MyListDataTemp.shareInstance.favListingData?.showData?.english?.firstIndex(where: {$0.id == showID}){ + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].isLiked = true + MyListDataTemp.shareInstance.favListingData?.showData?.english?[index].likesCount! += 1 K.GVar.myListSoftReload = true } }