private void Chat(string userAddress, string receivedMsg) { try { string[] receivedMsgArray = receivedMsg.Split(' '); var key = receivedMsgArray[0].ToUpper(); var code = receivedMsgArray[1].ToUpper(); if (receivedMsgArray.Length < 3) { Sms.Send(userAddress, Resources.Error_InvalidChatFormat); throw new Exception(); } var startIndex = string.Format("{0} {1} ", key, code).Length; var message = receivedMsg.Substring(startIndex); ChatAppDM dm = new ChatAppDM(); var receiverAddress = dm.GetUserAddress(code); if (!string.IsNullOrEmpty(receiverAddress)) { Sms.Send(receiverAddress, message); } else { Sms.Send(userAddress, Resources.Error_InvalidCode); } } catch (Exception ex) { Log.Error(ex.ToString()); throw; } }
/// <summary> /// Charge from users for chat app /// </summary> //[HttpPost] //public async Task<IHttpActionResult> Charge() //{ // //URL: http://localhost:2513/41440/v1/chat/charge // IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse(); // Log.TraceStart(); // try // { // ChatAppDM dm = new ChatAppDM(); // var userList = dm.GetAllUserAddressList(); // foreach (var userAddress in userList) // { // var chargingResponse = await ChargeUser(userAddress); // } // statusResponse.requestId = "User Chat App"; // statusResponse.statusCode = Consts.SUCCESS; // statusResponse.statusDetail = "Charging service successful for User Chat App."; // statusResponse.timeStamp = DateTime.UtcNow.ToString(); // statusResponse.version = "1.0"; // } // catch (Exception ex) // { // Log.Error(ex.ToString()); // return BadRequest(); // } // Log.TraceEnd(); // return Ok(statusResponse); //} #endregion #region private methods private async Task <IdeaMartStatusResponseDto> RegisterUser(string userAddress) { //Log.TraceStart(); try { //Subscribe User Subscription subscription = new Subscription(); var response = await subscription.Add(_appId, _password, userAddress); if (response != null) { ChatAppDM dm = new ChatAppDM(); if (response.statusCode == Consts.SUCCESS)//subscription successful { // var chargingResponse = await ChargeUser(userAddress); //ChargeUser(userAddress); //Generate code string code = Common.GenerateCode(_codeLength); while (dm.CodeExists(code)) { code = Common.GenerateCode(_codeLength); } //Save in DB var userId = dm.SubscribeUser(userAddress, code); if (userId > 0) { var message = string.Format(Resources.Info_RegisterSuccess, code.ToUpper()); Sms.Send(userAddress, message); } else { Log.Error(string.Format(Resources.Error_UserSaveFailed, userAddress)); } } else if (response.statusCode == Consts.USER_ALREADY_REGISTERED) { string code = dm.GetUserCode(userAddress); var message = string.Format(Resources.Info_UserAlreadyRegistered, code); Sms.Send(userAddress, message); } else { var message = string.Format(response.statusDetail); Sms.Send(userAddress, message); } } //Log.TraceEnd(); return(response); } catch (Exception ex) { Log.Error(ex.ToString()); throw; } }
//private async Task<DirectDebitResponseDto> ChargeUser(string userAddress) //{ // Caas caas = new Caas(); // var chargingResponse = await caas.Charge(_appId, _password, userAddress); // if (chargingResponse.statusCode != Consts.SUCCESS) // { // Log.Error(string.Format(Resources.Error_ChargeFailed, userAddress)); // //return false; // } // return chargingResponse; //} private async Task <IdeaMartStatusResponseDto> UnregisterUser(string userAddress) { //Log.TraceStart(); try { //Unsubscribe User Subscription subscription = new Subscription(); var response = await subscription.Remove(_appId, _password, userAddress); if (response != null) { if (response.statusCode == Consts.SUCCESS)//subscription removed successfully { //Save in DB ChatAppDM dm = new ChatAppDM(); var status = dm.UnsubscribeUser(userAddress); if (status) { var message = Resources.Info_UnregisterSuccess; Sms.Send(userAddress, message); } } else if (response.statusCode == Consts.USER_NOT_REGISTERED) { var message = string.Format(Resources.Info_UserNotRegistered); Sms.Send(userAddress, message); } else { var message = response.statusDetail; Sms.Send(userAddress, message); } } //Log.TraceEnd(); return(response); } catch (Exception ex) { Log.Error(ex.ToString()); throw; } }
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)); }