diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate index 8a12093..325e34c 100644 Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-base b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-base index ad8885e..fdaef2a 100644 Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-base and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-base differ diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-ours b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-ours index f7d4c09..8a12093 100644 Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-ours and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-ours differ diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-theirs b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-theirs index 63a8882..c5d7912 100644 Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-theirs and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate-theirs differ diff --git a/Vendoo/EbaySettingsViewController.swift b/Vendoo/EbaySettingsViewController.swift index c40945b..f4229fc 100644 --- a/Vendoo/EbaySettingsViewController.swift +++ b/Vendoo/EbaySettingsViewController.swift @@ -9,11 +9,42 @@ import UIKit class EbaySettingsViewController: UIViewController { + var wereDefaultsChanged: Bool = NSUserDefaults.standardUserDefaults().boolForKey("ebayDefaultsOverriden") + + //IBOutlets + @IBOutlet weak var listingTypeBtn: UIButton! + + @IBOutlet weak var conditonBtn: UIButton! + + @IBOutlet weak var listingDurationBtn: UIButton! + + @IBOutlet weak var ebaySite: UIButton! + + @IBOutlet weak var shippingBtn: UIButton! + + @IBOutlet weak var paymentBtn: UIButton! + + @IBOutlet weak var returnPolicyBtn: UIButton! + + @IBOutlet weak var userID: UILabel! + + + + var ebayManager: EbayWebServiceManager! override func viewDidLoad() { super.viewDidLoad() - + self.ebayManager.reinit() // Do any additional setup after loading the view. + if(wereDefaultsChanged) { + //change button labels to reflect user selected defaults + } + dispatch_async(dispatch_get_main_queue(), { + print(EbayWebServiceManager.settingsDictionary["userID"] as? String) + self.userID.text = EbayWebServiceManager.settingsDictionary["userID"] as? String + + }) + } override func didReceiveMemoryWarning() { @@ -21,6 +52,8 @@ class EbaySettingsViewController: UIViewController { // Dispose of any resources that can be recreated. } + + /* // MARK: - Navigation @@ -31,9 +64,17 @@ class EbaySettingsViewController: UIViewController { // Pass the selected object to the new view controller. } */ + } +//MARK:- Class Methods +extension EbaySettingsViewController { + + func loadManager (ebayManager: EbayWebServiceManager) { + self.ebayManager = ebayManager + } +} //MARK:- IBActions extension EbaySettingsViewController { @@ -44,4 +85,25 @@ extension EbaySettingsViewController { } + @IBAction func selectListingType(sender: AnyObject) { + } + + @IBAction func selectCondition(sender: AnyObject) { + } + + @IBAction func selectListingDuration(sender: AnyObject) { + } + + @IBAction func selectEbaySite(sender: AnyObject) { + } + + @IBAction func selectShipping(sender: AnyObject) { + } + + @IBAction func selectPayment(sender: AnyObject) { + } + + @IBAction func selectReturnPolicy(sender: AnyObject) { + } + } \ No newline at end of file diff --git a/Vendoo/EbayWebServiceManager.swift b/Vendoo/EbayWebServiceManager.swift index 3138f27..748bd93 100644 --- a/Vendoo/EbayWebServiceManager.swift +++ b/Vendoo/EbayWebServiceManager.swift @@ -31,6 +31,7 @@ class EbayWebServiceManager: NSObject { private var xmlResponseDictionary: Dictionary = Dictionary() var delegate: EbayWebServiceManagerDelegate? var isAuthorized: Bool = NSUserDefaults.standardUserDefaults().boolForKey("ebayAuthorized") + static var settingsDictionary = Dictionary() //let tradingClient = EBayTradingServiceClient.sharedClient() //---------------------------------------------// //let tradingClient = SOAPEngine() @@ -51,51 +52,46 @@ class EbayWebServiceManager: NSObject { self.xmlResponseDictionary["eBayAuthToken"] = dictionary?["ebay_oauth"] as? String } + //set default posting settings for ebay + if(NSUserDefaults.standardUserDefaults().boolForKey("ebayDefaultsOverriden")) { + + EbayWebServiceManager.settingsDictionary = (NSUserDefaults.standardUserDefaults().objectForKey("ebaySettings") as? Dictionary)! + } + else{ - /* - tradingClient.userAgent = "SOAPEngine" - tradingClient.actionNamespaceSlash = true - tradingClient.version = SOAPVersion.VERSION_1_1 - tradingClient.responseHeader = true - tradingClient.header = "967"+"" + self.devKey + "" + "" + self.certID + "" + "GetSessionID" - - tradingClient.setIntegerValue(967, forKey: "X-EBAY-API-COMPATIBILITY-LEVEL") - //tradingClient.setValue(self.devKey, forKey: "X-EBAY-API-DEV-NAME") - //tradingClient.setValue(tradingClient.apiKey, forKey: "X-EBAY-API-APP-NAME") - tradingClient.setIntegerValue(0, forKey: "X-EBAY-API-SITEID") - //tradingClient.setValue(self.certID, forKey: "X-EBAY-API-CERT-NAME") - //tradingClient.setValue("GeteBayOfficialTime", forKey: "X-EBAY-API-CALL-NAME") - tradingClient.envelope = "xmlns=\"urn:ebay:apis:eBLBaseComponents\"" - tradingClient.authorizationMethod = SOAPAuthorization.AUTH_TOKEN - tradingClient.requestURL(self.baseURL, soapAction: self.baseURL+"GetSessionID", completeWithDictionary: - {(statusCode : Int, - dict : [NSObject : AnyObject]!) -> Void in - print(statusCode) - let result:Dictionary = dict as Dictionary - NSLog("%@", result) - }, failWithError: - {(error : NSError!) -> Void in - NSLog("%@", error) - }) -*/ - - /*tradingClient.requestURL(baseURL, soapAction: baseURL+"/GetSessionID", completeWithDictionary: - {(statusCode : Int, - dict : [NSObject : AnyObject]!) -> Void in + EbayWebServiceManager.settingsDictionary = ([ + "listingType":"FixedPriceItem", + "condition":"1500", + "listingDuration":"Days_7", + "ebaySite":"US", + "currency":"USD", + "shipping": [ + "shippingType": "Flat", + "freeShipping": "true", + "shippingServicePriority": "1", + "shippingService":"UPSGround", + "shippingServiceAdditionalCost":"0.00" + ], + "payment":"PayPal", + "return":"ReturnsNotAccepted", + "postalCode":"00000" - let result:Dictionary = dict as Dictionary - NSLog("%@", result) - }, failWithError: - {(error : NSError!) -> Void in - NSLog("%@", error) - })*/ - - + ] as Dictionary) + + NSUserDefaults.standardUserDefaults().setObject(EbayWebServiceManager.settingsDictionary, forKey: "ebaySettings") + + NSUserDefaults.standardUserDefaults().setBool(true, forKey: "ebayDefaultsOverriden") + } } } + func reinit() { + + EbayWebServiceManager.settingsDictionary = (NSUserDefaults.standardUserDefaults().objectForKey("ebaySettings") as? Dictionary)! + } + } @@ -242,13 +238,30 @@ extension EbayWebServiceManager: NSXMLParserDelegate { //Test authentication let soapmessage = "" + - "" + + "" + "\(string)" + - "" + "" + + /* + * + + + boolean + ItemIDType (string) + string + + DetailLevelCodeType + + string + string + string + WarningLevelCodeType + + */ let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) - theRequest.addValue("GeteBayOfficialTime", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") + theRequest.addValue("GetUser", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") self.requestMaker(soapmessage, theRequest: theRequest) @@ -265,6 +278,11 @@ extension EbayWebServiceManager: NSXMLParserDelegate { case "HardExpirationTime" : print(string) break + case "UserID" : + print(string) + EbayWebServiceManager.settingsDictionary["userID"] = string + NSUserDefaults.standardUserDefaults().setObject(EbayWebServiceManager.settingsDictionary, forKey: "ebaySettings") + break default: //print(string) print("\(self.currentElementName):\(string)") diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift index 0ec9a96..9139c15 100644 --- a/Vendoo/NetworksTableViewController.swift +++ b/Vendoo/NetworksTableViewController.swift @@ -112,6 +112,9 @@ extension NetworksTableViewController { (segue.destinationViewController as! ListingPreviewViewController).setManagers(self.graphManager, fireManager: self.firManager, ebayManager: self.ebayManager, etsyManager: self.etsyManager) } + if(segue.identifier == "EbaySettingsSegue") { + (segue.destinationViewController as! EbaySettingsViewController).loadManager(self.ebayManager) + } if(segue.identifier == "EtsySettingsSegue") { (segue.destinationViewController as! EtsySettingsViewController).loadManager(self.etsyManager) } @@ -368,7 +371,7 @@ extension NetworksTableViewController: UITableViewDelegate { //code to deselect network self.networksDictionary["ebay"] = false - + } else{ @@ -394,7 +397,7 @@ extension NetworksTableViewController: UITableViewDelegate { }) //code to deselect network self.networksDictionary["amazon"] = false - + } else{ @@ -404,7 +407,7 @@ extension NetworksTableViewController: UITableViewDelegate { }) //code to select network self.networksDictionary["amazon"] = true - + } break @@ -487,7 +490,7 @@ extension NetworksTableViewController: UITableViewDelegate { break } - + } else{ @@ -566,7 +569,7 @@ extension NetworksTableViewController: UITableViewDelegate { //code to deauthorize network let tabBar = self.tabBarController - + ((tabBar as? HomeViewController)?.etsyManager.deAuthorizeApp(self))! cell.networkToggle.on = ((tabBar as? HomeViewController)?.etsyManager.isAuthorized)! } @@ -579,7 +582,7 @@ extension NetworksTableViewController: UITableViewDelegate { //this is the type of code desired to access the rest management classes - + let tabBar = self.tabBarController ((tabBar as? HomeViewController)?.etsyManager.authorizeApp(self))! @@ -631,8 +634,8 @@ extension NetworksTableViewController: UITableViewDelegate { break - } -*/ + }*/ + } @@ -677,21 +680,23 @@ extension NetworksTableViewController: UITableViewDelegate { } extension NetworksTableViewController: EbayWebServiceManagerDelegate { + func signInUser(signInString : String!) { let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height)) myWebView.delegate = self myWebView.loadRequest(NSURLRequest(URL: NSURL(string: signInString)!)) self.view.addSubview(myWebView) } + } extension NetworksTableViewController: UIWebViewDelegate { - + func webView(webView: UIWebView, didFailLoadWithError error: NSError?) { print("Webview fail with error \(error)"); } func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool { - return true; + return true; } func webViewDidStartLoad(webView: UIWebView) { print("Webview started Loading") @@ -709,22 +714,22 @@ extension NetworksTableViewController: UIWebViewDelegate { } /*var data : NSData? = NSData(contentsOfURL: NSURL(string: responseString as! String)!)! - if (data != nil){ - let jsonObject: AnyObject? - do { - try jsonObject = NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) - print(jsonObject) - - } - catch { - - } - }*/ + if (data != nil){ + let jsonObject: AnyObject? + do { + try jsonObject = NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) + print(jsonObject) + + } + catch { + + } + }*/ } - + } - + } extension NetworksTableViewController { @@ -768,7 +773,7 @@ extension NetworksTableViewController { break } } - //DeAuthorize app + //DeAuthorize app else { switch (sender.superview?.superview?.classForCoder){ case is EbayTableViewCell.Type: