public async Task <AccountHolderModel> GetAccountHolderDetailInformation(string id, string prgId)
        {
            AccountHolderModel usrModel = new AccountHolderModel();

            if (!string.IsNullOrEmpty(id))
            {
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.SetBearerToken(Request.HttpContext.User.Claims.FirstOrDefault(x => x.Type.ToLower().Trim() == "AccessToken".ToLower().Trim()).Value);
                    //var userId = !string.IsNullOrEmpty(id) ? Convert.ToInt32(Cryptography.DecryptCipherToPlain(id)) : 0;
                    var result = client.GetAsync(_configuration["ServiceAPIURL"] + ApiConstants.GetAccountHolderDetail + "?userEncId=" + id + "&programEncId=" + prgId).Result;
                    if (result.IsSuccessStatusCode)
                    {
                        var response = await result.Content.ReadAsAsync <ApiResponse>();

                        dynamic response1 = JsonConvert.DeserializeObject(response.Result.ToString());
                        usrModel = response1.ToObject <AccountHolderModel>();
                        usrModel.ProgramCustomJsonFields = response.CustomResult;
                        usrModel.UserEncId = id;
                    }
                }
            }
            //var jsontest = JsonConvert.SerializeObject(linkedUserTransactions);

            return(usrModel);          //return Json(linkedUserTransactions);
        }
        public Task ChangeName(AccountHolderModel accountholder)
        {
            string sql = @"UPDATE account_holder
                            SET First_Name = '" + accountholder.first_Name + "', Last_Name='" + accountholder.last_Name + "', Phone_Num = '"
                         + accountholder.phone_num + "', City='" + accountholder.city + "', State='" + accountholder.state +
                         "' WHERE email='" + accountholder.email + "';";


            return(db.SaveData(sql, accountholder));
        }
        public async Task <AccountHolderModel> GetAccountHolderDetailInformation(string id, string prgId)
        {
            var usrBitePayBalance       = new List <UserAvailableBalanceDto>();
            var jposusrbalance          = new JPOSBiteBalanceApiModel();
            AccountHolderModel usrModel = new AccountHolderModel();

            if (!string.IsNullOrEmpty(id))
            {
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.SetBearerToken(Request.HttpContext.User.Claims.FirstOrDefault(x => x.Type.ToLower().Trim() == "AccessToken".ToLower().Trim()).Value);
                    var result = client.GetAsync(_configuration["ServiceAPIURL"] + ApiConstants.GetAccountHolderDetail + "?userEncId=" + id + "&programEncId=" + prgId).Result;
                    if (result.IsSuccessStatusCode)
                    {
                        var response = await result.Content.ReadAsAsync <ApiResponse>();

                        dynamic response1 = JsonConvert.DeserializeObject(response.Result.ToString());
                        usrModel = response1.ToObject <AccountHolderModel>();
                        usrModel.ProgramCustomJsonFields = response.CustomResult;
                        usrModel.UserEncId               = id;
                        usrModel.Jpos_EncUserID          = !string.IsNullOrEmpty(usrModel.Jpos_AccountHolderId) ? Cryptography.EncryptPlainToCipher(usrModel.Jpos_AccountHolderId) : "";
                        usrModel.ProgramUniqueColumnName = response.CustomResult1;
                    }
                    //balances
                    ViewBag.uid = Convert.ToInt32(Cryptography.DecryptCipherToPlain(id));
                    var result1 = client.GetAsync(_configuration["ServiceAPIURL"] + ApiConstants.GetJPOSBiteUserBalance + "?userId=" + Convert.ToInt32(Cryptography.DecryptCipherToPlain(id))).Result;
                    if (result1.IsSuccessStatusCode)
                    {
                        var response = await result1.Content.ReadAsAsync <ApiResponse>();

                        dynamic response1 = JsonConvert.DeserializeObject(response.Result.ToString());
                        jposusrbalance = response1.ToObject <JPOSBiteBalanceApiModel>();
                        if (jposusrbalance.success != false)
                        {
                            IEnumerable <double> objbitepay = from s in jposusrbalance.accounts.Where(x => x.name == "bite pay")
                                                              select s.balance;
                            ViewBag.usrBitePayBalance = objbitepay.FirstOrDefault();
                        }
                        else
                        {
                            ViewBag.usrBitePayBalance = 0;
                        }
                        if (jposusrbalance.success != false)
                        {
                            IEnumerable <double> objrewards = from s in jposusrbalance.accounts.Where(x => x.name == "bite rewards")
                                                              select s.balance;
                            ViewBag.usrBiteRewardsBalance = objrewards.FirstOrDefault();
                        }
                        else
                        {
                            ViewBag.usrBiteRewardsBalance = 0;
                        }
                    }
                    var result2 = client.GetAsync(_configuration["ServiceAPIURL"] + ApiConstants.GetBiteUserLoyaltyTrackingBalance + "?userId=" + Convert.ToInt32(Cryptography.DecryptCipherToPlain(id))).Result;
                    if (result2.IsSuccessStatusCode)
                    {
                        var response = await result2.Content.ReadAsAsync <ApiResponse>();

                        ViewBag.usrLoyaltyTrackingBalance = response.Result;
                    }

                    var benefactorsDetails = client.GetAsync(_configuration["ServiceAPIURL"] + ApiConstants.BenefactorDetails + "?benefactorId=" + Convert.ToInt32(Cryptography.DecryptCipherToPlain(id))).Result;
                    if (benefactorsDetails.IsSuccessStatusCode)
                    {
                        var responseTransaction = await benefactorsDetails.Content.ReadAsAsync <ApiResponse>();

                        if (responseTransaction.Result != null)
                        {
                            //  transactions = JsonConvert.DeserializeObject<List<response.TranlogViewModel>>(responseTransaction.Result.ToString());
                            dynamic responseDesACH            = JsonConvert.DeserializeObject(responseTransaction.Result.ToString());
                            List <LinkedUsersDto> benefactors = responseDesACH.ToObject <List <LinkedUsersDto> >();
                            if (benefactors != null)
                            {
                                ViewBag.BenefectorsCounts = benefactors.Count();
                            }
                            else
                            {
                                ViewBag.BenefectorsCounts = 0;
                            }
                        }
                    }
                }
            }
            return(usrModel);
        }