//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> 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()); }