public async Task <object> CheckBillInfo([FromBody] BillCollectionCommon objBillCollectionCommon)
        {
            try
            {
                using (var httpClient = new HttpClient())
                {
                    //string[] param = new string[5];
                    string[] param = new string[6];
                    param[0] = objBillCollectionCommon.BillId;
                    param[1] = objBillCollectionCommon.SubMenuId;
                    param[2] = objBillCollectionCommon.Month;

                    param[3] = objBillCollectionCommon.BeneficiaryNumber;

                    param[4] = objBillCollectionCommon.Amount.ToString();
                    param[5] = objBillCollectionCommon.CardHolderName;
                    //param[5] = objBillCollectionCommon.OnlineCall;

                    List <BillApiCalling> billApiCallingList = new List <BillApiCalling>();
                    BillApiCalling        objBillApiCalling  = new BillApiCalling();
                    //objBillApiCalling.appid = "payapicall";
                    //objBillApiCalling.appchk = "589500e2dd1a2d985901cca01205aaba";
                    //for live
                    //objBillApiCalling.appid = "payapiLIVEcall";
                    //objBillApiCalling.appchk = "4945bdda77eba2bd6fa38add869a08d0";
                    objBillApiCalling.call = "method";
                    //objBillApiCalling.method = "DHAKAWASA";
                    objBillApiCalling.method = objBillCollectionCommon.MethodName;
                    //objBillApiCalling.billID = param.Where(c => c != null).ToArray();
                    objBillApiCalling.billID = param;


                    string json          = JsonConvert.SerializeObject(objBillApiCalling);
                    string base64Encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(json));

                    HttpContent httpContent = new StringContent(base64Encoded, Encoding.UTF8);
                    //HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(telemetry), Encoding.UTF8);
                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");


                    BillApiInfo apiInfo                = new BillApiInfo();
                    dynamic     apiResponse            = null;
                    BillCollectionCheckResponse result = new BillCollectionCheckResponse();
                    using (var response = await httpClient.PostAsync(apiInfo.Ip + apiInfo.ApiUrl, httpContent))
                    {
                        apiResponse = await response.Content.ReadAsStringAsync();

                        byte[] data          = Convert.FromBase64String(apiResponse);
                        string decodedString = Encoding.UTF8.GetString(data);
                        result = JsonConvert.DeserializeObject <BillCollectionCheckResponse>(decodedString);
                    }
                    return(result);
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, ex.ToString()));
            }
        }
        public async Task <object> GenerateReceipt([FromBody] BranchPortalReceipt objBranchPortalReceipt)
        {
            try
            {
                using (var httpClient = new HttpClient())
                {
                    string[] param = new string[2];
                    param[0] = objBranchPortalReceipt.Ref_Phone;
                    param[1] = objBranchPortalReceipt.Trans_No;

                    string json          = JsonConvert.SerializeObject(objBranchPortalReceipt);
                    string base64Encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(json));

                    HttpContent httpContent = new StringContent(base64Encoded, Encoding.UTF8);
                    //HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(telemetry), Encoding.UTF8);
                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");


                    ReceiptApiInfo apiInfo             = new ReceiptApiInfo();
                    dynamic        apiResponse         = null;
                    BillCollectionCheckResponse result = new BillCollectionCheckResponse();
                    using (var response = await httpClient.PostAsync(apiInfo.Ip + apiInfo.ApiUrl, httpContent))
                    {
                        apiResponse = await response.Content.ReadAsStringAsync();

                        byte[] data          = Convert.FromBase64String(apiResponse);
                        string decodedString = Encoding.UTF8.GetString(data);
                        result = JsonConvert.DeserializeObject <BillCollectionCheckResponse>(decodedString);
                    }
                    return(result);
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, ex.ToString()));
            }
        }
        public async Task <object> ConfirmBill([FromBody] BillCollectionCommon objBillCollectionCommon)
        {
            try
            {
                using (var httpClient = new HttpClient())
                {
                    string[] param = new string[9];
                    param[0] = "PAY";
                    if (objBillCollectionCommon.MethodName.Contains("."))
                    {
                        param[1] = objBillCollectionCommon.MethodName + objBillCollectionCommon.SubMenuId;
                    }
                    else
                    {
                        param[1] = objBillCollectionCommon.MethodName;
                    }

                    param[2] = objBillCollectionCommon.BillId;
                    param[3] = objBillCollectionCommon.bill2;
                    param[4] = "M";
                    param[5] = objBillCollectionCommon.Amount.ToString();
                    param[6] = "5555";
                    param[7] = objBillCollectionCommon.BeneficiaryNumber;
                    param[8] = "";


                    List <BillApiCalling> billApiCallingList = new List <BillApiCalling>();
                    BillApiCalling        objBillApiCalling  = new BillApiCalling();
                    //objBillApiCalling.appid = "payapicall";
                    //objBillApiCalling.appchk = "589500e2dd1a2d985901cca01205aaba";
                    //for live
                    //objBillApiCalling.appid = "payapiLIVEcall";
                    //objBillApiCalling.appchk = "4945bdda77eba2bd6fa38add869a08d0";
                    objBillApiCalling.call   = "msgin";
                    objBillApiCalling.mphone = "BP";
                    objBillApiCalling.parts  = param;


                    string json          = JsonConvert.SerializeObject(objBillApiCalling);
                    string base64Encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(json));

                    HttpContent httpContent = new StringContent(base64Encoded, Encoding.UTF8);
                    //HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(telemetry), Encoding.UTF8);
                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");


                    BillApiInfo apiInfo                = new BillApiInfo();
                    dynamic     apiResponse            = null;
                    BillCollectionCheckResponse result = new BillCollectionCheckResponse();
                    using (var response = await httpClient.PostAsync(apiInfo.Ip + apiInfo.ApiUrl, httpContent))
                    {
                        apiResponse = await response.Content.ReadAsStringAsync();

                        byte[] data          = Convert.FromBase64String(apiResponse);
                        string decodedString = Encoding.UTF8.GetString(data);
                        result = JsonConvert.DeserializeObject <BillCollectionCheckResponse>(decodedString);
                    }


                    //Insert into audit trial audit and detail
                    _auditTrailService.InsertModelToAuditTrail(objBillCollectionCommon, objBillCollectionCommon.EntryUser, objBillCollectionCommon.ParentPenuId, 3, objBillCollectionCommon.Title, objBillCollectionCommon.BillId, result.msg);



                    return(result);
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, ex.ToString()));
            }
        }