Manos Chorianopoulos

add submitOrderAsync request

...@@ -88,6 +88,7 @@ ...@@ -88,6 +88,7 @@
88 - (void)cosmoteRetrieveSharingAsync:(NSString*)sharingId :(NSNumber*)accept :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 88 - (void)cosmoteRetrieveSharingAsync:(NSString*)sharingId :(NSNumber*)accept :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
89 - (void)getCosmoteUserAsync:(NSString*)guid :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 89 - (void)getCosmoteUserAsync:(NSString*)guid :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
90 - (void)cosmoteCouponSharingAsync:(NSString*) coupon :(NSString*)sender :(NSString*)receiver :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 90 - (void)cosmoteCouponSharingAsync:(NSString*) coupon :(NSString*)sender :(NSString*)receiver :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
91 +- (void)submitOrderAsync:(NSString*) campaign_session_uuid :(NSString*)user_msisdn :(NSString*)businessService :(NSString*)offerName :(NSString*)productType :(NSString*)provDuration :(NSString*)noOfRecurrance :(NSString*)price :(NSString*)discount :(NSString*)voiceCategory :(NSString*)dataCategory :(NSString*)minsValue :(NSString*)dataValue :(NSString*)provStepValueMins :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
91 92
92 @end 93 @end
93 #endif /* MyApi_h */ 94 #endif /* MyApi_h */
......
...@@ -1444,4 +1444,17 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify"; ...@@ -1444,4 +1444,17 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify";
1444 }]; 1444 }];
1445 } 1445 }
1446 1446
1447 +- (void)submitOrderAsync:(NSString*) campaign_session_uuid :(NSString*)user_msisdn :(NSString*)businessService :(NSString*)offerName :(NSString*)productType :(NSString*)provDuration :(NSString*)noOfRecurrance :(NSString*)price :(NSString*)discount :(NSString*)voiceCategory :(NSString*)dataCategory :(NSString*)minsValue :(NSString*)dataValue :(NSString*)provStepValueMins :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure
1448 +{
1449 + [[Warply sharedService] submitOrderWithSuccessBlock:campaign_session_uuid :user_msisdn :businessService :offerName :productType :provDuration :noOfRecurrance :price :discount :voiceCategory :dataCategory :minsValue :dataValue :provStepValueMins :^(NSDictionary *response) {
1450 + if (success) {
1451 + success(response);
1452 + }
1453 + } failureBlock:^(NSError *error) {
1454 + if (failure) {
1455 + failure(error);
1456 + }
1457 + }];
1458 +}
1459 +
1447 @end 1460 @end
......
...@@ -384,6 +384,8 @@ WL_VERSION_INTERFACE() ...@@ -384,6 +384,8 @@ WL_VERSION_INTERFACE()
384 384
385 - (void) cosmoteRetrieveSharingWithSuccessBlock:(NSString*) sharingId :(NSNumber*)accept :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 385 - (void) cosmoteRetrieveSharingWithSuccessBlock:(NSString*) sharingId :(NSNumber*)accept :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
386 386
387 +- (void) submitOrderWithSuccessBlock:(NSString*) campaign_session_uuid :(NSString*)user_msisdn :(NSString*)businessService :(NSString*)offerName :(NSString*)productType :(NSString*)provDuration :(NSString*)noOfRecurrance :(NSString*)price :(NSString*)discount :(NSString*)voiceCategory :(NSString*)dataCategory :(NSString*)minsValue :(NSString*)dataValue :(NSString*)provStepValueMins :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
388 +
387 - (void) validateCouponWithSuccessBlock:(NSString*) coupon :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 389 - (void) validateCouponWithSuccessBlock:(NSString*) coupon :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
388 390
389 - (void)loginCosmoteWithSuccessBlock:(NSString*)guid andAppUuid:(NSString*)appUuid andTicket:(NSString*)ticket :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 391 - (void)loginCosmoteWithSuccessBlock:(NSString*)guid andAppUuid:(NSString*)appUuid andTicket:(NSString*)ticket :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
......
...@@ -2077,6 +2077,47 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -2077,6 +2077,47 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
2077 }]; 2077 }];
2078 } 2078 }
2079 2079
2080 +- (void) submitOrderWithSuccessBlock:(NSString*) campaign_session_uuid :(NSString*)user_msisdn :(NSString*)businessService :(NSString*)offerName :(NSString*)productType :(NSString*)provDuration :(NSString*)noOfRecurrance :(NSString*)price :(NSString*)discount :(NSString*)voiceCategory :(NSString*)dataCategory :(NSString*)minsValue :(NSString*)dataValue :(NSString*)provStepValueMins :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure
2081 +{
2082 + NSDictionary *postDictionary = @{@"wallet": @{@"action": @"add_product", @"product_uuid": @"011d21908d984e3cbecbdfd2920a5d3b", @"communication_uuid": campaign_session_uuid, @"extra_data": @{@"user_msisdn": user_msisdn, @"businessService": businessService, @"offerName": offerName, @"productType": productType, @"provDuration": provDuration, @"noOfRecurrance": noOfRecurrance, @"price": price, @"discount": discount, @"voiceCategory": voiceCategory, @"dataCategory": dataCategory, @"minsValue": minsValue, @"dataValue": dataValue, @"provStepValueMins": provStepValueMins}}};
2083 + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL];
2084 + [self sendContext8:jsonData successBlock:^(NSDictionary *contextResponse) {
2085 + if (success) {
2086 + success(contextResponse);
2087 + }
2088 + NSLog(@"**************** WARPLY Response *****************" );
2089 + NSLog(@"%@", contextResponse );
2090 + } failureBlock:^(NSError *error) {
2091 + if (failure) {
2092 + NSDictionary* dict = [NSDictionary alloc];
2093 + dict = [error userInfo];
2094 + NSString* errorCode = [dict objectForKey:@"NSLocalizedDescription"];
2095 + if ([errorCode isEqual:@"Request failed: unauthorized (401)"]) {
2096 + [self refreshToken:^(NSDictionary *response) {
2097 + [self sendContext8:jsonData successBlock:^(NSDictionary *contextResponse) {
2098 + if (success) {
2099 + success(contextResponse);
2100 + }
2101 + NSLog(@"**************** WARPLY Response *****************" );
2102 + NSLog(@"%@", contextResponse );
2103 + } failureBlock:^(NSError *error) {
2104 + if (failure) {
2105 + failure(error);
2106 + }
2107 + }];
2108 + } failureBlock:^(NSError *error) {
2109 + if (failure) {
2110 + [_db executeUpdate:@"DROP TABLE requestVariables"];
2111 + failure(error);
2112 + }
2113 + NSLog(@"Error at token %@", error );
2114 + }];
2115 + }
2116 + NSLog(@"Error at submit Order %@", error );
2117 + }
2118 + }];
2119 +}
2120 +
2080 - (void) validateCouponWithSuccessBlock:(NSString*) coupon :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure 2121 - (void) validateCouponWithSuccessBlock:(NSString*) coupon :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure
2081 { 2122 {
2082 NSDictionary *postDictionary = @{@"coupon": @{@"action": @"validate", @"coupon": coupon}}; 2123 NSDictionary *postDictionary = @{@"coupon": @{@"action": @"validate", @"coupon": coupon}};
......
...@@ -3127,4 +3127,32 @@ public class swiftApi { ...@@ -3127,4 +3127,32 @@ public class swiftApi {
3127 } 3127 }
3128 } 3128 }
3129 3129
3130 +
3131 + public func submitOrderAsync(campaign_session_uuid: String, user_msisdn: String, businessService: String, offerName: String, productType: String, provDuration: String, noOfRecurrance: String, price: String, discount: String, voiceCategory: String, dataCategory: String, minsValue: String, dataValue: String, provStepValueMins: String, _ submitOrderCallback: @escaping (_ responseData: GenericResponseModel?) -> Void) -> Void {
3132 +
3133 + let instanceOfMyApi = MyApi()
3134 + instanceOfMyApi.submitOrderAsync(campaign_session_uuid, user_msisdn, businessService, offerName, productType, provDuration, noOfRecurrance, price, discount, voiceCategory, dataCategory, minsValue, dataValue, provStepValueMins, requestCallback, failureBlock: requestFailureCallback)
3135 +
3136 + func requestCallback(_ responseData: [AnyHashable: Any]?) -> Void {
3137 +
3138 + if let responseDataDictionary = responseData as? [String: Any] {
3139 +
3140 + let tempResponse = GenericResponseModel(dictionary: responseDataDictionary)
3141 +
3142 + submitOrderCallback(tempResponse);
3143 +
3144 + } else {
3145 + submitOrderCallback(nil)
3146 + }
3147 +
3148 + }
3149 +
3150 + func requestFailureCallback(_ error: Error?) -> Void {
3151 + print("submitOrder error: ")
3152 + print(error)
3153 + print("====================")
3154 + submitOrderCallback(nil)
3155 + }
3156 + }
3157 +
3130 } 3158 }
......