/// <summary> /// SmsWhatsUpDataSend /// </summary> /// <param name="tenantId"></param> /// <param name="userId"></param> /// <param name="ProgramCode"></param> /// <param name="orderId"></param> /// <param name="ClientAPIURL"></param> /// <param name="sMSWhtappTemplate"></param> /// <param name="ConString"></param> /// <returns></returns> public static int SmsWhatsUpDataSend(int tenantId, int userId, string ProgramCode, int orderId, string ClientAPIURL, string sMSWhtappTemplate, string ConString, string token) { int result = 0; string Message = ""; DataSet ds = new DataSet(); OrdersSmsWhatsUpDataDetails ordersSmsWhatsUpDataDetails = new OrdersSmsWhatsUpDataDetails(); conn = new MySqlConnection(ConString); try { GetWhatsappMessageDetailsResponse getWhatsappMessageDetailsResponse = new GetWhatsappMessageDetailsResponse(); List <GetWhatsappMessageDetailsResponse> getWhatsappMessageDetailsResponseList = new List <GetWhatsappMessageDetailsResponse>(); string whatsapptemplate = GetWhatsupTemplateName(tenantId, userId, sMSWhtappTemplate); string strpostionNumber = ""; string strpostionName = ""; string additionalInfo = ""; try { GetWhatsappMessageDetailsModal getWhatsappMessageDetailsModal = new GetWhatsappMessageDetailsModal() { ProgramCode = ProgramCode }; string apiBotReq = JsonConvert.SerializeObject(getWhatsappMessageDetailsModal); string apiBotResponse = CommonService.SendApiRequest(ClientAPIURL + "api/ChatbotBell/GetWhatsappMessageDetails", apiBotReq, token); //if (!string.IsNullOrEmpty(apiBotResponse.Replace("[]", "").Replace("[", "").Replace("]", ""))) //{ // getWhatsappMessageDetailsResponse = JsonConvert.DeserializeObject<GetWhatsappMessageDetailsResponse>(apiBotResponse.Replace("[", "").Replace("]", "")); //} if (!string.IsNullOrEmpty(apiBotResponse.Replace("[]", "").Replace("[", "").Replace("]", ""))) { getWhatsappMessageDetailsResponseList = JsonConvert.DeserializeObject <List <GetWhatsappMessageDetailsResponse> >(apiBotResponse); } if (getWhatsappMessageDetailsResponseList != null) { if (getWhatsappMessageDetailsResponseList.Count > 0) { getWhatsappMessageDetailsResponse = getWhatsappMessageDetailsResponseList.Where(x => x.TemplateName == whatsapptemplate).FirstOrDefault(); } } if (getWhatsappMessageDetailsResponse != null) { if (getWhatsappMessageDetailsResponse.Remarks != null && getWhatsappMessageDetailsResponse.Remarks != "") { string ObjRemark = getWhatsappMessageDetailsResponse.Remarks.Replace("\r\n", ""); string[] ObjSplitComma = ObjRemark.Split(','); if (ObjSplitComma.Length > 0) { for (int i = 0; i < ObjSplitComma.Length; i++) { strpostionNumber += ObjSplitComma[i].Split('-')[0].Trim().Replace("{", "").Replace("}", "") + ","; strpostionName += ObjSplitComma[i].Split('-')[1].Trim() + ","; } } strpostionNumber = strpostionNumber.TrimEnd(','); strpostionName = strpostionName.TrimEnd(','); } } } catch (Exception) { getWhatsappMessageDetailsResponse = new GetWhatsappMessageDetailsResponse(); } MySqlCommand cmd = new MySqlCommand("SP_PHYGetSmsWhatsUpDataDetails", conn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@_TenantID", tenantId); cmd.Parameters.AddWithValue("@_UserID", userId); cmd.Parameters.AddWithValue("@_OrderID", orderId); cmd.Parameters.AddWithValue("@_strpostionNumber", strpostionNumber); cmd.Parameters.AddWithValue("@_strpostionName", strpostionName); cmd.Parameters.AddWithValue("@_sMSWhtappTemplate", sMSWhtappTemplate); MySqlDataAdapter da = new MySqlDataAdapter { SelectCommand = cmd }; da.Fill(ds); if (ds != null && ds.Tables[0] != null) { ordersSmsWhatsUpDataDetails = new OrdersSmsWhatsUpDataDetails() { OderID = ds.Tables[0].Rows[0]["OderID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[0]["OderID"]), AlertCommunicationviaWhtsup = ds.Tables[0].Rows[0]["AlertCommunicationviaWhtsup"] == DBNull.Value ? false : Convert.ToBoolean(ds.Tables[0].Rows[0]["AlertCommunicationviaWhtsup"]), AlertCommunicationviaSMS = ds.Tables[0].Rows[0]["AlertCommunicationviaSMS"] == DBNull.Value ? false : Convert.ToBoolean(ds.Tables[0].Rows[0]["AlertCommunicationviaSMS"]), SMSSenderName = ds.Tables[0].Rows[0]["SMSSenderName"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[0]["SMSSenderName"]), IsSend = ds.Tables[0].Rows[0]["IsSend"] == DBNull.Value ? false : Convert.ToBoolean(ds.Tables[0].Rows[0]["IsSend"]), MessageText = ds.Tables[0].Rows[0]["MessageText"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[0]["MessageText"]), InvoiceNo = ds.Tables[0].Rows[0]["InvoiceNo"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[0]["InvoiceNo"]), MobileNumber = ds.Tables[0].Rows[0]["MobileNumber"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[0]["MobileNumber"]), AdditionalInfo = ds.Tables[1].Rows[0]["additionalInfo"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[1].Rows[0]["additionalInfo"]), }; // result = ds.Tables[0].Rows[0]["ChatID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[0]["ChatID"]); // Message = ds.Tables[0].Rows[0]["Message"] == DBNull.Value ? String.Empty : Convert.ToString(ds.Tables[0].Rows[0]["Message"]); // additionalInfo = ds.Tables[0].Rows[0]["additionalInfo"] == DBNull.Value ? String.Empty : Convert.ToString(ds.Tables[0].Rows[0]["additionalInfo"]); } if (ordersSmsWhatsUpDataDetails.IsSend) { if (ordersSmsWhatsUpDataDetails.AlertCommunicationviaWhtsup) { try { List <string> additionalList = new List <string>(); if (additionalInfo != null) { additionalList = ordersSmsWhatsUpDataDetails.AdditionalInfo.Split(",").ToList(); } SendFreeTextRequest sendFreeTextRequest = new SendFreeTextRequest { To = ordersSmsWhatsUpDataDetails.MobileNumber.TrimStart('0').Length > 10 ? ordersSmsWhatsUpDataDetails.MobileNumber : "91" + ordersSmsWhatsUpDataDetails.MobileNumber.TrimStart('0'), ProgramCode = ProgramCode, TemplateName = getWhatsappMessageDetailsResponse.TemplateName, AdditionalInfo = additionalList }; string apiReq = JsonConvert.SerializeObject(sendFreeTextRequest); apiResponse = CommonService.SendApiRequest(ClientAPIURL + "api/ChatbotBell/SendCampaign", apiReq, ""); //if (apiResponse.Equals("true")) //{ // UpdateResponseShare(objRequest.CustomerID, "Contacted Via Chatbot"); //} } catch (Exception) { throw; } } else if (ordersSmsWhatsUpDataDetails.AlertCommunicationviaSMS) { Message = ordersSmsWhatsUpDataDetails.MessageText; //else if (sMSWhtappTemplate == "AWBAssigned" & ordersSmsWhatsUpDataDetails.AWBAssigned) //{ // Message = ordersSmsWhatsUpDataDetails.AWBAssignedText; //} //else if (sMSWhtappTemplate == "PickupScheduled" & ordersSmsWhatsUpDataDetails.PickupScheduled) //{ // Message = ordersSmsWhatsUpDataDetails.PickupScheduledText; //} //else if (sMSWhtappTemplate == "Shipped" & ordersSmsWhatsUpDataDetails.Shipped) //{ // Message = ordersSmsWhatsUpDataDetails.ShippedText; //} //else if (sMSWhtappTemplate == "Delivered" & ordersSmsWhatsUpDataDetails.Delivered) //{ // Message = ordersSmsWhatsUpDataDetails.DeliveredText; //} ChatSendSMS chatSendSMS = new ChatSendSMS { MobileNumber = ordersSmsWhatsUpDataDetails.MobileNumber.TrimStart('0').Length > 10 ? ordersSmsWhatsUpDataDetails.MobileNumber : "91" + ordersSmsWhatsUpDataDetails.MobileNumber.TrimStart('0'), SenderId = ordersSmsWhatsUpDataDetails.SMSSenderName, SmsText = Message }; string apiReq = JsonConvert.SerializeObject(chatSendSMS); apiResponse = CommonService.SendApiRequest(ClientAPIURL + "api/ChatbotBell/SendSMS", apiReq, token); ChatSendSMSResponse chatSendSMSResponse = new ChatSendSMSResponse(); chatSendSMSResponse = JsonConvert.DeserializeObject <ChatSendSMSResponse>(apiResponse); if (chatSendSMSResponse != null) { result = chatSendSMSResponse.Id; } //if (result > 0) //{ // UpdateResponseShare(objRequest.CustomerID, "Contacted Via SMS"); //} } } } catch (Exception) { throw; } finally { if (conn != null) { conn.Close(); } if (ds != null) { ds.Dispose(); } } return(result); }
/// <summary> /// Campaign Share Chat bot /// </summary> /// <param name="objRequest"></param> /// <param name="ClientAPIURL"></param> /// <param name="TenantID"></param> /// <param name="UserID"></param> /// <returns></returns> public int CampaignShareChatbot(ShareChatbotModel objRequest, string ClientAPIURL, int TenantID, int UserID, string ProgramCode) { DataSet ds = new DataSet(); int result = 0; int resultApi = 0; string Message = ""; CampaignStatusResponse obj = new CampaignStatusResponse(); try { GetWhatsappMessageDetailsResponse getWhatsappMessageDetailsResponse = new GetWhatsappMessageDetailsResponse(); string strpostionNumber = ""; string strpostionName = ""; string additionalInfo = ""; try { GetWhatsappMessageDetailsModal getWhatsappMessageDetailsModal = new GetWhatsappMessageDetailsModal() { ProgramCode = ProgramCode }; string apiBotReq = JsonConvert.SerializeObject(getWhatsappMessageDetailsModal); string apiBotResponse = CommonService.SendApiRequest(ClientAPIURL + "api/ChatbotBell/GetWhatsappMessageDetails", apiBotReq); if (!string.IsNullOrEmpty(apiBotResponse.Replace("[]", "").Replace("[", "").Replace("]", ""))) { getWhatsappMessageDetailsResponse = JsonConvert.DeserializeObject <GetWhatsappMessageDetailsResponse>(apiBotResponse.Replace("[", "").Replace("]", "")); } if (getWhatsappMessageDetailsResponse != null) { if (getWhatsappMessageDetailsResponse.Remarks != null) { string ObjRemark = getWhatsappMessageDetailsResponse.Remarks.Replace("\r\n", ""); string[] ObjSplitComma = ObjRemark.Split(','); if (ObjSplitComma.Length > 0) { for (int i = 0; i < ObjSplitComma.Length; i++) { strpostionNumber += ObjSplitComma[i].Split('-')[0].Trim().Replace("{", "").Replace("}", "") + ","; strpostionName += ObjSplitComma[i].Split('-')[1].Trim() + ","; } } strpostionNumber = strpostionNumber.TrimEnd(','); strpostionName = strpostionName.TrimEnd(','); } } } catch (Exception) { getWhatsappMessageDetailsResponse = new GetWhatsappMessageDetailsResponse(); } conn.Open(); MySqlCommand cmd = new MySqlCommand("SP_HSCampaignShareChatbot", conn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@_TenantID", TenantID); cmd.Parameters.AddWithValue("@_StoreID", objRequest.StoreID); cmd.Parameters.AddWithValue("@_ProgramCode", objRequest.ProgramCode); cmd.Parameters.AddWithValue("@_CustomerID", objRequest.CustomerID); cmd.Parameters.AddWithValue("@_CustomerMobileNumber", objRequest.CustomerMobileNumber); cmd.Parameters.AddWithValue("@_StoreManagerId", objRequest.StoreManagerId); cmd.Parameters.AddWithValue("@_CampaignScriptID", objRequest.CampaignScriptID); cmd.Parameters.AddWithValue("@_CreatedBy", UserID); cmd.Parameters.AddWithValue("@_strpostionNumber", strpostionNumber); cmd.Parameters.AddWithValue("@_strpostionName", strpostionName); //result = Convert.ToInt32(cmd.ExecuteNonQuery()); MySqlDataAdapter da = new MySqlDataAdapter { SelectCommand = cmd }; da.Fill(ds); if (ds != null && ds.Tables[0] != null) { result = ds.Tables[0].Rows[0]["ChatID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[0]["ChatID"]); Message = ds.Tables[0].Rows[0]["Message"] == DBNull.Value ? String.Empty : Convert.ToString(ds.Tables[0].Rows[0]["Message"]); additionalInfo = ds.Tables[0].Rows[0]["additionalInfo"] == DBNull.Value ? String.Empty : Convert.ToString(ds.Tables[0].Rows[0]["additionalInfo"]); } if (!String.IsNullOrEmpty(Message)) { try { List <string> additionalList = new List <string>(); if (additionalInfo != null) { additionalList = additionalInfo.Split(",").ToList(); } SendFreeTextRequest sendFreeTextRequest = new SendFreeTextRequest { To = objRequest.CustomerMobileNumber.TrimStart('0').Length > 10 ? objRequest.CustomerMobileNumber : "91" + objRequest.CustomerMobileNumber.TrimStart('0'), ProgramCode = ProgramCode, TemplateName = getWhatsappMessageDetailsResponse.TemplateName, AdditionalInfo = additionalList }; string apiReq = JsonConvert.SerializeObject(sendFreeTextRequest); apiResponse = CommonService.SendApiRequest(ClientAPIURL + "api/ChatbotBell/SendCampaign", apiReq); //ChatSendSMSResponse chatSendSMSResponse = new ChatSendSMSResponse(); //chatSendSMSResponse = JsonConvert.DeserializeObject<ChatSendSMSResponse>(apiResponse); //if (chatSendSMSResponse != null) //{ // resultApi = chatSendSMSResponse.Id; //} if (apiResponse.Equals("true")) { UpdateResponseShare(objRequest.CustomerID, "Contacted Via Chatbot"); } } catch (Exception) { } } } catch (Exception) { throw; } finally { if (conn != null) { conn.Close(); } } return(result); }
public static void GetdataFromMySQL() { var Programcode = string.Empty; var StoreCode = string.Empty; var CampaignCode = string.Empty; var MobileNumber = string.Empty; var EmailID = string.Empty; var MessageText = string.Empty; var SenderId = string.Empty; int ClientID = 0; int ID = 0; string apiResponse = string.Empty; string additionalInfo = string.Empty; string TemplateName = string.Empty; MySqlConnection con = null; try { DataSet ds = new DataSet(); DataTable dt = new DataTable(); IConfiguration config = new ConfigurationBuilder().AddJsonFile("appsettings.json", true, true).Build(); var constr = config.GetSection("ConnectionStrings").GetSection("HomeShop").Value; string ClientAPIURL = config.GetSection("ConnectionStrings").GetSection("ClientAPIURL").Value; con = new MySqlConnection(constr); MySqlCommand cmd = new MySqlCommand("SP_HSGetWhatsappBroadcastDetail", con) { CommandType = System.Data.CommandType.StoredProcedure }; cmd.Connection.Open(); MySqlDataAdapter da = new MySqlDataAdapter(cmd); da.Fill(dt); cmd.Connection.Close(); for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = dt.Rows[i]; ID = Convert.ToInt32(dr["ID"]); Programcode = Convert.ToString(dr["Programcode"]); StoreCode = Convert.ToString(dr["StoreCode"]); CampaignCode = Convert.ToString(dr["CampaignCode"]); MobileNumber = Convert.ToString(dr["MobileNumber"]); EmailID = Convert.ToString(dr["EmailID"]); MessageText = Convert.ToString(dr["MessageText"]); SenderId = Convert.ToString(dr["SenderId"]); ClientID = Convert.ToInt32(dr["ClientID"]); additionalInfo = Convert.ToString(dr["additionalInfo"]); TemplateName = Convert.ToString(dr["TemplateName"]); if (!String.IsNullOrEmpty(additionalInfo)) { try { List <string> additionalList = new List <string>(); if (additionalInfo != null) { additionalList = additionalInfo.Split(",").ToList(); } SendFreeTextRequest sendFreeTextRequest = new SendFreeTextRequest { To = MobileNumber.TrimStart('0').Length > 10 ? MobileNumber : "91" + MobileNumber.TrimStart('0'), ProgramCode = Programcode, TemplateName = TemplateName, AdditionalInfo = additionalList }; string apiReq = JsonConvert.SerializeObject(sendFreeTextRequest); apiResponse = CommonService.SendApiRequest(ClientAPIURL + "api/ChatbotBell/SendCampaign", apiReq); Thread.Sleep(30000); if (apiResponse.Equals("true")) { string Responcetext = "Success"; UpdateResponse(ID, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Responcetext, 1); string bellMobileNumber = MobileNumber.TrimStart('0').Length > 10 ? MobileNumber : "91" + MobileNumber.TrimStart('0'); MakeBellActive(bellMobileNumber, Programcode, ClientAPIURL); } else { string Responcetext = "Fail"; UpdateResponse(ID, DateTime.Now.ToString(), Responcetext, 2); } } catch (Exception ex) { string Responcetext = ex.ToString(); UpdateResponse(ID, DateTime.Now.ToString(), Responcetext, 2); } } } } catch { } finally { if (con != null) { con.Close(); } GC.Collect(); } }