Default settings for ebay setup

This commit is contained in:
Okechi Onyeje 2016-08-01 05:07:04 -04:00
parent b3e38fb0ca
commit 6550eb0e3c
7 changed files with 151 additions and 66 deletions

View File

@ -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() {
@ -22,6 +53,8 @@ class EbaySettingsViewController: UIViewController {
}
/*
// MARK: - Navigation
@ -32,8 +65,16 @@ class EbaySettingsViewController: UIViewController {
}
*/
}
//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) {
}
}

View File

@ -31,6 +31,7 @@ class EbayWebServiceManager: NSObject {
private var xmlResponseDictionary: Dictionary<String, AnyObject!> = Dictionary<String, AnyObject!>()
var delegate: EbayWebServiceManagerDelegate?
var isAuthorized: Bool = NSUserDefaults.standardUserDefaults().boolForKey("ebayAuthorized")
static var settingsDictionary = Dictionary<String , AnyObject>()
//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")) {
/*
tradingClient.userAgent = "SOAPEngine"
tradingClient.actionNamespaceSlash = true
tradingClient.version = SOAPVersion.VERSION_1_1
tradingClient.responseHeader = true
tradingClient.header = "<key name=\"X-EBAY-API-COMPATIBILITY-LEVEL\">967</key>"+"<key name=\"X-EBAY-API-DEV-NAME\">" + self.devKey + "</key>" + "<key name=\"X-EBAY-API-CERT-NAME\">" + self.certID + "</key>" + "<key name=\"X-EBAY-API-CALL-NAME\">GetSessionID</key>"
EbayWebServiceManager.settingsDictionary = (NSUserDefaults.standardUserDefaults().objectForKey("ebaySettings") as? Dictionary<String, AnyObject>)!
}
else{
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)
})
*/
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"
/*tradingClient.requestURL(baseURL, soapAction: baseURL+"/GetSessionID", completeWithDictionary:
{(statusCode : Int,
dict : [NSObject : AnyObject]!) -> Void in
let result:Dictionary = dict as Dictionary
NSLog("%@", result)
}, failWithError:
{(error : NSError!) -> Void in
NSLog("%@", error)
})*/
] as Dictionary<String, AnyObject>)
NSUserDefaults.standardUserDefaults().setObject(EbayWebServiceManager.settingsDictionary, forKey: "ebaySettings")
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "ebayDefaultsOverriden")
}
}
}
func reinit() {
EbayWebServiceManager.settingsDictionary = (NSUserDefaults.standardUserDefaults().objectForKey("ebaySettings") as? Dictionary<String, AnyObject>)!
}
}
@ -242,13 +238,30 @@ extension EbayWebServiceManager: NSXMLParserDelegate {
//Test authentication
let soapmessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<GeteBayOfficialTimeRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">" +
"<GetUserRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">" +
"<RequesterCredentials><eBayAuthToken>\(string)</eBayAuthToken>" +
"</RequesterCredentials></GeteBayOfficialTimeRequest>"
"</RequesterCredentials></GetUserRequest>"
/*
*<?xml version="1.0" encoding="utf-8"?>
<GetUserRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<!-- Call-specific Input Fields -->
<IncludeFeatureEligibility> boolean </IncludeFeatureEligibility>
<ItemID> ItemIDType (string) </ItemID>
<UserID> string </UserID>
<!-- Standard Input Fields -->
<DetailLevel> DetailLevelCodeType </DetailLevel>
<!-- ... more DetailLevel values allowed here ... -->
<ErrorLanguage> string </ErrorLanguage>
<MessageID> string </MessageID>
<Version> string </Version>
<WarningLevel> WarningLevelCodeType </WarningLevel>
</GetUserRequest>
*/
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)")

View File

@ -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)
}
@ -631,8 +634,8 @@ extension NetworksTableViewController: UITableViewDelegate {
break
}
*/
}*/
}
@ -677,12 +680,14 @@ 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 {