public ActionResult Details(int?id)
        {
            HouseholdDetailsViewModel vm = new HouseholdDetailsViewModel();

            vm.Household = db.Households.Find(id);
            var user = db.Users.Find(User.Identity.GetUserId());

            return(View(vm));
        }
        public ActionResult Details(int?Id)
        {
            // HouseholdId
            // Last 10 Transactions of those accounts/ grouped by category. -> Do that on that backend

            if (Id is null)
            {
                TempData.Add("Message", "Improper Id");
                TempData.Add("MessageColour", "danger");
                return(RedirectToAction("Index", "Household"));
            }

            var url = $"{ProjectConstants.APIURL}/api/household/getbyid/{Id}";

            var token      = Request.Cookies["UserAuthCookie"].Value;
            var authHeader = new AuthenticationHeaderValue("Bearer", token);

            HttpClientContext.httpClient.DefaultRequestHeaders.Authorization = authHeader;

            // Handling lack of connection??? try catch?
            var response = HttpClientContext.httpClient.GetAsync(url).Result;

            if (response.IsSuccessStatusCode)
            {
                var responseResult = response.Content.ReadAsStringAsync().Result;

                var datas = JsonConvert.DeserializeObject <HouseholdBindingModel>(responseResult);
                // Organize data into HouseholdDetailsViewModel
                var householdDetails = new HouseholdDetailsViewModel()
                {
                    NetSum                = datas.BankAccounts.Sum(acnt => acnt.Balance),
                    HouseholdId           = (int)Id,
                    BankAccountViewModels = datas.BankAccounts.Select(p => new BankAccountTransactionsViewModel()
                    {
                        Id                    = p.Id,
                        Name                  = p.Name,
                        Description           = p.Description,
                        Balance               = p.Balance,
                        TransactionViewModels = datas.Transactions.Where(trnsctn => trnsctn.BankAccountId == p.Id).Select(x => new TransactionViewModel()
                        {
                            Id           = x.Id,
                            Title        = x.Title,
                            Description  = x.Description,
                            Date         = x.Date,
                            DateCreated  = x.DateCreated,
                            DateUpdated  = x.DateUpdated,
                            IsVoid       = x.IsVoid,
                            Amount       = x.Amount,
                            CreatorId    = x.CreatorId,
                            CategoryId   = x.CategoryId,
                            CategoryName = HouseholdHelpers.GetCategoryName(x.CategoryId, Request)
                        }).GroupBy(transaction => transaction.CategoryName).ToList()
                    }).ToList()
                };

                return(View(householdDetails));
            }
            else
            {
                ErrorHelpers.HandleResponseErrors(response, TempData, ModelState);
                return(RedirectToAction("Index", "Household"));
            }
        }