private string UpdateNobleHistorySMSStatus(NobleHistoryModel objmain)
        {
            try
            {
                _log.Log(LogLevel.Information, "MessageController => UpdateNobleHistorySMSStatus start.");

                string NobleHistoryResult = string.Empty;
                using (var client = new HttpClient())
                {
                    var APIUrl = _iconfiguration["NobleURL"];
                    client.BaseAddress = new Uri(APIUrl);
                    //HTTP Post
                    var responseTask = client.PostAsJsonAsync("NobleHistory/UpdateNobleHistorySMSStatus", objmain);
                    responseTask.Wait();

                    var result = responseTask.Result;
                    if (result.IsSuccessStatusCode)
                    {
                        var readTask = result.Content.ReadAsStringAsync();
                        readTask.Wait();
                        NobleHistoryResult = readTask.Result.ToString();
                    }
                }
                _log.Log(LogLevel.Information, "MessageController => UpdateNobleHistorySMSStatus end.");

                return(NobleHistoryResult);
            }
            catch (Exception ex)
            {
                _log.Log(LogLevel.Information, "MessageController => UpdateNobleHistorySMSStatus Error =>." + ex.Message);
                return("");
            }
        }
        public async Task <string> SendSMSBookingConfirmation()
        {
            string status = "success";

            try
            {
                _log.Log(LogLevel.Information, "Send SMS Process start.");
                var basicAuthUserName = _iconfiguration["basicAuthUserName"];
                var basicAuthPassword = _iconfiguration["basicAuthPassword"];
                var FromName          = _iconfiguration["FromName"];

                List <BookingConfirmationModel> _models = GetSMSBookingConfirmationDetails();

                foreach (var model in _models)
                {
                    try
                    {
                        bool useHmacAuthentication = false;

                        MessageMediaMessagesClient client   = new MessageMediaMessagesClient(basicAuthUserName, basicAuthPassword, useHmacAuthentication);
                        MessagesController         messages = client.Messages;

                        string bodyValue = "{";
                        bodyValue += "'messages':[";
                        bodyValue += "{";
                        bodyValue += "'content':  '" + model.textMessage + "',";
                        bodyValue += "'destination_number':'" + _iconfiguration["CountryCode"] + model.primary_phone + "',";
                        bodyValue += "'source_number': 'VGH',";
                        bodyValue += "'source_number_type': 'ALPHANUMERIC'";
                        bodyValue += "}";
                        bodyValue += "]";
                        bodyValue += "}";

                        _log.Log(LogLevel.Information, "SendSMSBookingConfirmation  object String :: " + bodyValue.ToString());
                        var body = Newtonsoft.Json.JsonConvert.DeserializeObject <SendMessagesRequest>(bodyValue);
                        SendMessagesResponse result = await messages.SendMessagesAsync(body);

                        _log.Log(LogLevel.Information, "Send SMS Process end.");
                        if (result.Messages.Count > 0)
                        {
                            GetMessageStatusResponse _getmessageresponse = messages.GetMessageStatus(result.Messages[0].MessageId.ToString());

                            _log.Log(LogLevel.Information, "lKey value : " + model.lKey);
                            _log.Log(LogLevel.Information, "Status value : " + result.Messages[0].Status.Value.ToString());
                            _log.Log(LogLevel.Information, "MessageResponseID value : " + result.Messages[0].MessageId.ToString()); //MessageResponseID
                            _log.Log(LogLevel.Information, "DestinationNumber value : " + result.Messages[0].DestinationNumber.ToString());
                            _log.Log(LogLevel.Information, "Delivery Status:" + _getmessageresponse.Status.ToString());             //MessageSendSuccess

                            NobleHistoryModel objmain = new NobleHistoryModel();
                            objmain.lKey = Convert.ToInt32(model.lKey);
                            objmain.MessageResponseID  = result.Messages[0].MessageId.ToString();
                            objmain.MessageSendSuccess = _getmessageresponse.Status.ToString();
                            string Res = UpdateNobleHistorySMSStatus(objmain);
                        }
                    }
                    catch (Exception ex)
                    {
                        _log.Log(LogLevel.Information, "error occured while sending Confirmation  SMS :" + ex.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                _log.Log(LogLevel.Information, "SendSMSBookingConfirmation() --> SMS error while sending." + ex.Message);
                return(status = "Something went wrong!");
            }
            return(status);
        }