//public async Task<IHttpActionResult> Send(IdeaMartResponse ideaMartResponse) public async Task <IHttpActionResult> Send(IdeaMartResponse ideaMartResponse)//(MoSmsReq moSmsReq)// { //SIMULATOR Application Data: //URL: http://localhost:2513/api/v1/sms/send IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse(); var receivedMsg = ideaMartResponse.message; var userAddress = ideaMartResponse.sourceAddress; try { var receivedMsgArray = receivedMsg.Split(' '); //Validate message if (receivedMsgArray == null || receivedMsgArray.Length < 2) { SendSmsToUser(userAddress, "Invalid input message. Please type correctly."); BadRequest(); } var key1 = receivedMsgArray[0].ToUpper(); var key2 = receivedMsgArray[1].ToUpper(); if (key1 == ShortKey.REG.ToString() && key2 == ShortKey.CC.ToString())// Register { RegisterUser(userAddress); } if (key1 == ShortKey.UNREG.ToString() && key2 == ShortKey.CC.ToString())// Unregister { UnregisterUser(userAddress); } else if (key1 == ShortKey.CC.ToString() && key2 == ShortKey.ADD.ToString())// Add another user (couple user) { CoupleUser(userAddress, receivedMsgArray); } else if (key1 == ShortKey.CC.ToString() && key2 == ShortKey.OK.ToString())// Accept request from couple user { AcceptUser(userAddress, receivedMsgArray); } else if (key1 == ShortKey.CC.ToString() && key2 == ShortKey.END.ToString())// Reject/End request from couple user { CancelUser(userAddress, receivedMsgArray); } else if (key1 == ShortKey.CC.ToString() && key2 == ShortKey.SEND.ToString())// send chat sms { Chat(userAddress, receivedMsgArray, receivedMsg); } return(Ok()); } catch (Exception ex) { Log.Error(ex.ToString()); return(BadRequest()); } }
public async Task <IHttpActionResult> Send(IdeaMartResponse ideaMartResponse) { //SIMULATOR Application Data: //URL: http://localhost:2513/api/v1/couplechat/send IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse(); var receivedMsg = ideaMartResponse.message; var userAddress = ideaMartResponse.sourceAddress; try { var receivedMsgArray = receivedMsg.Split(' '); //Validate message if (receivedMsgArray == null || receivedMsgArray.Length < 2) { Sms.Send(userAddress, Resources.Error_InvalidInputMessage); BadRequest(); } var key1 = receivedMsgArray[0].ToUpper(); var key2 = receivedMsgArray[1].ToUpper(); if (key1 == ShortKey.REG.ToString() && key2 == ShortKey.CC.ToString())// Register { var code = string.Empty; if (receivedMsgArray.Length > 2) { code = receivedMsgArray[2].ToUpper();//for couple user } statusResponse = await RegisterUser(userAddress, code); } if (key1 == ShortKey.UNREG.ToString() && key2 == ShortKey.CC.ToString())// Unregister { statusResponse = await UnregisterUser(userAddress); } else if (key1 == ShortKey.CC.ToString() && key2.Length == _codeLength)// send chat sms { Chat(userAddress, receivedMsg); statusResponse.requestId = ideaMartResponse.requestId; statusResponse.statusCode = Consts.SUCCESS; statusResponse.statusDetail = Consts.SUCCESS; statusResponse.timeStamp = DateTime.UtcNow.ToString(); statusResponse.version = ideaMartResponse.version; } } catch (Exception ex) { Log.Error(ex.ToString()); return(BadRequest()); } return(Ok(statusResponse)); }
public async Task <IHttpActionResult> Send(IdeaMartResponse ideaMartresponse) { //there are two constructors available //we will use the simplest one here //Only app id and the password sent as params UssdAPI ussdApi = new UssdAPI("APP_000001", "password"); //when you are ready to go with production change below to true ussdApi.IsInProduction = false; //we check first if the request from ideamart is initiation if (ideaMartresponse.ussdOperation == "mo-init") { //supprissed ? //Yes! its that simple to check the operation type //All right //here comes the magical part IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse(); statusResponse = await ussdApi.SendRequestAsync("Hello world! \r\n 1. Press one to do something.", ideaMartresponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartresponse.sourceAddress); return(Ok(statusResponse)); } //Happy? //let's implement continue operation if (ideaMartresponse.ussdOperation == "mo-cont") { switch (ideaMartresponse.message) { case "1": IdeaMartStatusResponse statusresponse = new IdeaMartStatusResponse(); statusresponse = await ussdApi.SendRequestAsync("You pressed one", ideaMartresponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartresponse.sourceAddress); return(Ok(statusresponse)); default: break; } //TO-DO your self //manage page navigation //store data into a database if you need them } return(BadRequest()); }
public async Task <IHttpActionResult> Charge() { //URL: http://localhost:2513/api/v1/chat/charge IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse(); Log.TraceStart(); try { ChatAppDM dm = new ChatAppDM(); var userList = dm.GetAllUserAddressList(); foreach (var userAddress in userList) { Caas caas = new Caas(); var response = await caas.Charge(_appId, _password, userAddress); if (response.statusCode == Consts.SUCCESS) { //var status = dm.ChargeUser(userAddress); } else { Log.Error(string.Format(Resources.Error_ChargeFailed, userAddress)); } } statusResponse.requestId = ""; statusResponse.statusCode = Consts.SUCCESS; statusResponse.statusDetail = Consts.SUCCESS; statusResponse.timeStamp = DateTime.UtcNow.ToString(); statusResponse.version = "1.0"; } catch (Exception ex) { Log.Error(ex.ToString()); return(BadRequest()); } Log.TraceEnd(); return(Ok(statusResponse)); }
static readonly string _baseUrl = "http://localhost:7000/";// ConfigurationManager.AppSettings["baseUrl"]; #region Subscription APIs /// <summary> /// Subscribe user from an application. /// </summary> /// <param name="applicationId"></param> /// <param name="password"></param> /// <param name="subscriberId"></param> /// <returns></returns> public async Task <IdeaMartStatusResponse> Add(string applicationId, string password, string subscriberId) { Log.TraceStart(); IdeaMartStatusResponse response = null; try { SubscriptionRequestDto subscriptionRequestDto = new SubscriptionRequestDto(); subscriptionRequestDto.applicationId = applicationId; subscriptionRequestDto.password = password; subscriptionRequestDto.subscriberId = subscriberId; subscriptionRequestDto.action = "1"; subscriptionRequestDto.version = "1.0"; var subscriptionResponse = await SubscribeUser(subscriptionRequestDto); if (subscriptionResponse.IsSuccessStatusCode) { var result = subscriptionResponse.Content.ReadAsAsync <dynamic>().Result; response = new IdeaMartStatusResponse(); response.requestId = result.requestId; response.statusCode = result.statusCode; response.statusDetail = result.statusDetail; response.timeStamp = DateTime.UtcNow.ToString(); response.version = result.version; } else { Log.Error(Resources.Subscription_SubscriptionServiceFailed); } } catch (Exception ex) { Log.Exception(ex); } Log.TraceEnd(); return(response); }
public async Task <IHttpActionResult> Send(IdeaMartResponse ideaMartResponse) { //SIMULATOR Application Data: //URL: http://localhost:2513/api/v1/Ussd/Send var appId = "App_000001"; var pwd = "password"; UssdAPI ussdApi = new UssdAPI(appId, pwd); ussdApi.IsInProduction = false; if (ideaMartResponse.ussdOperation == "mo-init") { IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse(); statusResponse = await ussdApi.SendRequestAsync("My first app. \r\n 1.Press one to OK \r\n 2. Press two to cancel" , ideaMartResponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartResponse.sourceAddress); return(Ok(statusResponse)); } else if (ideaMartResponse.ussdOperation == "mo-cont" && ideaMartResponse.message == "1") { IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse(); statusResponse = await ussdApi.SendRequestAsync("You Pressed 1." , ideaMartResponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartResponse.sourceAddress); return(Ok(statusResponse)); } else if (ideaMartResponse.ussdOperation == "mo-cont" && ideaMartResponse.message == "2") { IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse(); statusResponse = await ussdApi.SendRequestAsync("You Pressed 2." , ideaMartResponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartResponse.sourceAddress); return(Ok(statusResponse)); } return(BadRequest()); }