/// <summary> /// GetdataFromMySQL /// </summary> /// <param name="ConString"></param> public static void GetdataFromMySQL(string ConString) { int ID = 0; int TenantId = 0; string InvoiceNo = string.Empty; string AWBNo = string.Empty; string apiResponse = string.Empty; string StoreCode = string.Empty; string ProgramCode = string.Empty; CouriertrackResponce couriertrackResponce = new CouriertrackResponce(); MySqlConnection con = null; try { DataTable dt = new DataTable(); IConfiguration config = new ConfigurationBuilder().AddJsonFile("appsettings.json", true, true).Build(); string ClientAPIURL = config.GetSection("MySettings").GetSection("ClientAPIURL").Value; con = new MySqlConnection(ConString); MySqlCommand cmd = new MySqlCommand("SP_PHYGetCourierTrackingDetails", con) { CommandType = System.Data.CommandType.StoredProcedure }; cmd.Connection.Open(); MySqlDataAdapter da = new MySqlDataAdapter(cmd); da.Fill(dt); cmd.Connection.Close(); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { try { DataRow dr = dt.Rows[i]; ID = Convert.ToInt32(dr["ID"]); TenantId = Convert.ToInt32(dr["TenantId"]); InvoiceNo = Convert.ToString(dr["InvoiceNo"]); AWBNo = Convert.ToString(dr["AWBNo"]); StoreCode = Convert.ToString(dr["StoreCode"]); ProgramCode = Convert.ToString(dr["ProgramCode"]); CouriertrackRequest couriertrack = new CouriertrackRequest() { awb_no = AWBNo }; WebBotContentRequest webBotcontentRequest = new WebBotContentRequest { MaxWebBotHSMURL = _maxHSMURL + _maxWeBotHSM, ProgramCode = ProgramCode }; WebBotHSMSetting webBotHSMSetting = new WebBotHSMSetting(); webBotHSMSetting = _hsmProgramcode.Find(x => x.Programcode.Equals(ProgramCode.ToLower())); if (webBotHSMSetting != null) { webBotcontentRequest.webBotHSMSetting = new WebBotHSMSetting(); if (!string.IsNullOrEmpty(webBotHSMSetting.Programcode)) { webBotcontentRequest.MaxWebBotHSMURL = webBotcontentRequest.MaxWebBotHSMURL + "?bot=" + webBotHSMSetting.bot; webBotcontentRequest.webBotHSMSetting = webBotHSMSetting; MaxWebBotHSMRequest maxreq = new MaxWebBotHSMRequest(); Hsm hsmReq = new Hsm() { @namespace = webBotHSMSetting.@namespace, language = new Language() { policy = _policy, code = _code } }; Body body = new Body() { // from = webBotcontentRequest.WABANo,// _from, ttl = Convert.ToInt32(_ttl), type = _type, hsm = hsmReq }; maxreq.body = body; webBotcontentRequest.MaxHSMRequest = maxreq; } } string apiReq = JsonConvert.SerializeObject(couriertrack); apiResponse = CommonService.SendApiRequest(ClientAPIURL + "/api/ShoppingBag/GetTracking", apiReq); couriertrackResponce = JsonConvert.DeserializeObject <CouriertrackResponce>(apiResponse); if (couriertrackResponce.statusCode == "200" || couriertrackResponce.statusCode == "202") { if (couriertrackResponce.data.tracking_data.shipment_track != null) { if (couriertrackResponce.data.tracking_data.shipment_track[0].current_status != null) { UpdateResponse(ID, TenantId, InvoiceNo, couriertrackResponce.data.tracking_data.shipment_track[0].current_status, ConString); bool IsSend = UpdateCourierStatus(ID, TenantId, InvoiceNo, couriertrackResponce.data.tracking_data.shipment_track[0].current_status, ConString); if (IsSend) { CommonService.SmsWhatsUpDataSend(TenantId, 0, ProgramCode, ID, ClientAPIURL, couriertrackResponce.data.tracking_data.shipment_track[0].current_status, ConString, webBotcontentRequest, _xauthtoken); } } } } else { ExLogger(ID, InvoiceNo, Convert.ToString(DateTime.Now), StoreCode, couriertrackResponce.statusCode + " : " + couriertrackResponce.data.tracking_data.error, apiResponse, ConString); } } catch (Exception eX) { } } } } catch (Exception ex) { } finally { if (con != null) { con.Close(); } GC.Collect(); } }
/// <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, WebBotContentRequest webBotcontentRequest, string Xauthtoken) { int result = 0; string Message = ""; DataSet ds = new DataSet(); OrdersSmsWhatsUpDataDetails ordersSmsWhatsUpDataDetails = new OrdersSmsWhatsUpDataDetails(); MaxWebBotHSMResponse MaxResponse = new MaxWebBotHSMResponse(); 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); //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"]), WabaNumber = ds.Tables[0].Rows[0]["WabaNumber"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[0]["WabaNumber"]), ShoppingBagNo = ds.Tables[0].Rows[0]["ShoppingBagNo"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[0]["ShoppingBagNo"]), 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(); } if (webBotcontentRequest.webBotHSMSetting != null) { if (webBotcontentRequest.webBotHSMSetting.Programcode.ToLower().Equals(webBotcontentRequest.ProgramCode.ToLower())) { webBotcontentRequest.WABANo = ordersSmsWhatsUpDataDetails.WabaNumber; webBotcontentRequest.MaxHSMRequest.body.to = ordersSmsWhatsUpDataDetails.MobileNumber; webBotcontentRequest.MaxHSMRequest.body.from = ordersSmsWhatsUpDataDetails.WabaNumber; webBotcontentRequest.MaxHSMRequest.body.hsm.element_name = getWhatsappMessageDetailsResponse.TemplateName; webBotcontentRequest.TenantID = tenantId; webBotcontentRequest.ProgramCode = ProgramCode; webBotcontentRequest.UserID = userId; if (additionalList.Count > 0) { List <LocalizableParam> list = new List <LocalizableParam>(); foreach (string str in additionalList) { list.Add(new LocalizableParam() { @default = str }); } webBotcontentRequest.MaxHSMRequest.body.hsm.localizable_params = list; } string JsonRequest = JsonConvert.SerializeObject(webBotcontentRequest.MaxHSMRequest); string ClientAPIResponse = CommonService.MaxSendApiRequest(webBotcontentRequest.MaxWebBotHSMURL, JsonRequest, Xauthtoken); if (!string.IsNullOrEmpty(ClientAPIResponse)) { MaxResponse = JsonConvert.DeserializeObject <MaxWebBotHSMResponse>(ClientAPIResponse); result = MaxResponse.success ? 1 : 0; } else { result = 0; } } } else { 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); 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); }