public async Task <MChatResponseGenerateQRCode> GenerateNewCodeAsync(MChatGenerateQRCodeRequestBody generateQRCodeBody, StateChanged bnsStateChanged)
        {
            this.stateChanged = bnsStateChanged;
            MChatGenerateQRCodeBodyPrivate privateBody = new MChatGenerateQRCodeBodyPrivate(generateQRCodeBody)
            {
            };
            String body     = JsonConvert.SerializeObject(privateBody);
            var    response = await httpClient.PostAsync("https://" + configBuilder.domain + "/v1/api/worker/onlineqr/generate", new StringContent(body, Encoding.UTF8, "application/json"));

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var responseBody = await response.Content.ReadAsStringAsync();

                mChatResponseGenerateQRCode = JsonConvert.DeserializeObject <MChatResponseGenerateQRCode>(responseBody);
                ConnectToBusinessNotificationService();
                return(mChatResponseGenerateQRCode);
            }
            else
            {
                mChatResponseGenerateQRCode         = new MChatResponseGenerateQRCode();
                mChatResponseGenerateQRCode.code    = (int)response.StatusCode;
                mChatResponseGenerateQRCode.message = response.ReasonPhrase;
                return(mChatResponseGenerateQRCode);
            }
        }
        public async Task <MChatResponseGenerateQRCode> GeneratePaymentQRCode(MChatRequestGenerateQRCode generateQRCodeBody)
        {
            var response = await httpClient.PostAsync("https://" + domain + "/v1/api/worker/onlineqr/generate", new StringContent(generateQRCodeBody.json(), Encoding.UTF8, "application/json"));

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var responseBody = await response.Content.ReadAsStringAsync();

                MChatResponseGenerateQRCode mChatResponseGenerateQRCode = JsonConvert.DeserializeObject <MChatResponseGenerateQRCode>(responseBody);
                return(mChatResponseGenerateQRCode);
            }
            else
            {
                var responseBody = await response.Content.ReadAsStringAsync();

                MChatResponseGenerateQRCode mChatResponseGenerateQRCode = JsonConvert.DeserializeObject <MChatResponseGenerateQRCode>(responseBody);
                return(mChatResponseGenerateQRCode);
            }
        }
        public async Task <MChatResponseGenerateQRCode> GeneratePaymentQRCode(MChatRequestGenerateQRCode generateQRCodeBody, StateChanged bnsStateChanged)
        {
            this.stateChanged = bnsStateChanged;
            var response = await httpClient.PostAsync("https://" + domain + "/v1/api/worker/onlineqr/generate", new StringContent(generateQRCodeBody.json(), Encoding.UTF8, "application/json"));

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var responseBody = await response.Content.ReadAsStringAsync();

                MChatResponseGenerateQRCode mChatResponseGenerateQRCode = JsonConvert.DeserializeObject <MChatResponseGenerateQRCode>(responseBody);
                ConnectToBusinessNotificationService(mChatResponseGenerateQRCode.generatedQRCode, mChatResponseGenerateQRCode.dynamicLink);
                return(mChatResponseGenerateQRCode);
            }
            else
            {
                var responseBody = await response.Content.ReadAsStringAsync();

                MChatResponseGenerateQRCode mChatResponseGenerateQRCode = JsonConvert.DeserializeObject <MChatResponseGenerateQRCode>(responseBody);
                return(mChatResponseGenerateQRCode);
            }
        }