- updated mylist

- modified favlisting api and response
- add individual handler for reloads.
This commit is contained in:
Bilal
2024-08-14 00:31:53 +05:30
parent 5cf02c5aae
commit b16dbeb6bf
12 changed files with 273 additions and 147 deletions

View File

@@ -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 = "<group>"; };
520B6E3E2C0751E90091C478 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Theme.strings; sourceTree = "<group>"; };
520B6E402C0751EF0091C478 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Theme.strings; sourceTree = "<group>"; };
5210438D2C69E18F0005A4D1 /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = "<group>"; };
5219C2C12C086D9B00A1DF4D /* DataTypeConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataTypeConversion.swift; sourceTree = "<group>"; };
522242632BFC74380085C632 /* MyListVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyListVC.swift; sourceTree = "<group>"; };
522242652BFC74380085C632 /* TabBarVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabBarVC.swift; sourceTree = "<group>"; };
@@ -732,6 +731,7 @@
9CDCE1412BDB94BA003FEF11 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Main.strings; sourceTree = "<group>"; };
9CDCE1422BDB94BD003FEF11 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = "<group>"; };
9CDCE1442BDB9B9A003FEF11 /* OnBoardMainSound.m4a */ = {isa = PBXFileReference; lastKnownFileType = file; path = OnBoardMainSound.m4a; sourceTree = "<group>"; };
9CF5BA9E2C6BCE9E00BD77F9 /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = "<group>"; };
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 = "<group>"; };
/* 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 = "<group>";
versionGroupType = wrapper.xcdatamodel;
};

View File

@@ -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
}
}

View File

@@ -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()

View File

@@ -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)

View File

@@ -113,4 +113,3 @@ struct FavouriteListingDM: Codable {
}
}

View File

@@ -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<BaseResponseModel<FavouriteListingDM>, 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)
}
}
}
}

View File

@@ -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

View File

@@ -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)

View File

@@ -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()

View File

@@ -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: [])
}
}

View File

@@ -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
}
}
}

View File

@@ -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
}
}