// // HomeViewController.swift // Vendoo // // Created by Okechi Onyeje on 5/26/16. // Copyright © 2016 Okechi Onyeje. All rights reserved. // import UIKit class HomeViewController: UITabBarController { //acts as RESTful api call manager for etsy //call this from tabbar controller to use etsy REST calls let etsyManager: EtsyRESTAPIManager = EtsyRESTAPIManager() let fbGraphManager = FacebookGraphAPIManager() let firebaseManager = FirebaseManager() var userListings: [Listing] = [] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. dispatch_async(dispatch_get_main_queue(), { self.firebaseManager.ref.child("Users/\(self.firebaseManager.user_email)/user_Listings").observeSingleEventOfType( .Value, withBlock: { (snapshot) -> Void in let listingDict = snapshot.value as? [String : AnyObject] if listingDict != nil { dispatch_async(dispatch_get_main_queue(), { for (keys, values) in listingDict! { self.firebaseManager.ref.observeSingleEventOfType(.Value, withBlock: { snapshot in let databaseDict = snapshot.value as! [String : AnyObject] let storageRef = self.firebaseManager.storage.referenceForURL((databaseDict["image_storage"] as? String)!) let listingImage = storageRef.child("images/\(keys).jpg") listingImage.dataWithMaxSize(10 * 1024 * 1024, completion: { (data, error) -> Void in if(error != nil){ print("problem retrieving items") }else{ let listingInfo = values as? [String : AnyObject] let imageData = UIImage(data: data!) self.userListings.append( Listing(itemTitle: (listingInfo!["listingTitle"] as? String)!, itemCategory: listingInfo!["listingCategory"] as? String, itemPrice: listingInfo!["listingPrice"] as? String, itemDescription: listingInfo!["listingDescription"] as? String, itemImage: imageData!, isDraftListing: (listingInfo!["isListingDraft"] as? Bool)!, itemKey: keys, networksSellingOn: (listingInfo!["networks"] as? Dictionary)! )) NSNotificationCenter.defaultCenter().postNotificationName("finished_fetching_listings", object: nil) } }) }) } }) } }) }) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } /* // MARK: - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { // Get the new view controller using segue.destinationViewController. // Pass the selected object to the new view controller. } */ }