public ActionResult CreateJoinHouseHold(HouseHoldViewModel model, Guid?code) { if (User.Identity.IsInHouseHoldId()) { return(RedirectToAction("Index", "Home")); } HouseHoldViewModel vm = new HouseHoldViewModel(); if (code != null && ValideInvite()) { Invite result = db.Invites.FirstOrDefault(i => i.Token == code); vm.isJoinHouseHold = true; vm.HHId = result.HouseHoldId; vm.HHName = result.HouseHold.Name; result.hasbeenUsed = true; ApplicationUser user = db.Users.Find(User.Identity.GetUserId()); user.InviteEmail = result.Email; db.SaveChanges(); } return(View(vm)); }
public ActionResult Index() { var roommateData = LoadRoommates(); var billData = LoadBills(); HouseHoldViewModel house = new HouseHoldViewModel(); foreach (var item in roommateData) { house.Roommates.Add(new RoommateModel { RoommateId = item.RoommateId, FirstName = item.FirstName, LastName = item.LastName, MonthlyPayment = item.MonthlyPayment }); } foreach (var item in billData) { house.Bills.Add(new BillModel { BillName = item.BillName, Amount = item.AmountDue, DueDate = item.DueDate, IsCurrent = item.IsCurrent }); } return(View(house)); }
public ActionResult CategoryTransactions() { var user = db.Users.Find(User.Identity.GetUserId()); HouseHoldViewModel hvm = new HouseHoldViewModel { Category = db.Categories.Where(u => u.HouseHoldId == user.HouseHoldId).ToList(), Transaction = db.Transactions.ToList(), BudgetHistory = db.BudgetHistories.Where(u => u.HouseHoldId == user.HouseHoldId).ToList() }; return(View(hvm)); }
public IHttpActionResult ViewMembers(int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var houseHold = _db.Households .Include(p => p.Members) .Include(p => p.Creator) .FirstOrDefault(p => p.Id == id); if (houseHold == null) { return(NotFound()); } var userId = User.Identity.GetUserId(); if (houseHold.CreatorId != userId && !houseHold.Members.Any(p => p.Id == userId)) { return(NotFound()); } var houseHoldViewModel = new HouseHoldViewModel(); houseHoldViewModel.Name = houseHold.Name; houseHoldViewModel.Members.Add(new HouseHoldMembersViewModel { Name = houseHold.Creator.UserName, Email = houseHold.Creator.Email, Id = houseHold.Creator.Id, IsCreator = true }); foreach (var member in houseHold.Members) { houseHoldViewModel.Members.Add(new HouseHoldMembersViewModel { IsCreator = false, Email = member.Email, Id = member.Id, Name = member.UserName }); } return(Ok(houseHoldViewModel)); }
// GET: HouseHolds public ActionResult Index() { var user = db.Users.Find(User.Identity.GetUserId()); var budget = db.Budgets.Where(u => u.HouseHoldId == user.HouseHoldId).ToList(); ViewBag.BudgetId = new SelectList(budget, "Id", "Name"); HouseHoldViewModel hvm = new HouseHoldViewModel() { HouseHold = db.HouseHolds.Where(u => u.Id == user.HouseHoldId).ToList(), Invitation = db.Invitations.Where(u => u.Accepted == false && u.HouseHoldId == user.HouseHoldId).ToList(), Category = db.Categories.Where(u => u.HouseHoldId == user.HouseHoldId).ToList(), BudgetHistory = db.BudgetHistories.Where(u => u.HouseHoldId == user.HouseHoldId).ToList() }; return(View(hvm)); }
public async Task <ActionResult> JoinHouseHold(HouseHoldViewModel model, Guid?code) { HouseHold hh = db.HouseHolds.Find(model.HHId); var user = db.Users.Find(User.Identity.GetUserId()); //model.Member = db.Users.Find(User.Identity.GetUserId()); hh.Users.Add(user); db.SaveChanges(); await ControllerContext.HttpContext.RefreshAuthentication(user); return(RedirectToAction("Index", "HouseHolds")); }
public async Task <ActionResult> CreateHouseHold(HouseHoldViewModel model) { HouseHold hh = new HouseHold(); hh.Name = model.HHName; db.HouseHolds.Add(hh); db.SaveChanges(); var user = db.Users.Find(User.Identity.GetUserId()); hh.Users.Add(user); db.SaveChanges(); await ControllerContext.HttpContext.RefreshAuthentication(user); return(RedirectToAction("Index", "HouseHolds")); }
public ActionResult AddPayment(HouseHoldViewModel model) { if (ModelState.IsValid) { PaymentProcessor.CreatePayment( //!Bill is checked in this function model.Payment.BillId, model.Payment.RoommateId, model.Payment.AmountPaid); //TODO SQL bug where amount due is being devided up per assigned each time return(RedirectToAction("Index")); } return(View()); }
public ActionResult AddPayment(int?roommateId, int?billId, decimal?amountOwed) { HouseHoldViewModel model = new HouseHoldViewModel(); if (roommateId != null && billId != null) { ViewBag.selectedRoommate = RoommateProcessor.GetRoommateById((int)roommateId).FullName; ViewBag.selectedBill = BillProcessor.GetBillById((int)billId).BillName; ViewBag.AmountOwed = amountOwed?.ToString("C", CultureInfo.CurrentCulture); model.Payment.BillId = (int)billId; model.Payment.RoommateId = RoommateProcessor.GetRoommateById((int)roommateId).RoommateId; } else { var billData = BillProcessor.LoadBills(); //var billData = PaymentProcessor.GetUnpaidBills(); var roommateData = RoommateProcessor.LoadRoommates(); foreach (var item in billData) { model.Bills.Add(new Models.BillModel { //ID = item.BillId, ID = item.ID, BillName = item.BillName, Amount = item.AmountDue, DueDate = item.DueDate }); } foreach (var item in roommateData) { model.Roommates.Add(new Models.RoommateModel { RoommateId = item.RoommateId, FirstName = item.FirstName, LastName = item.LastName, MonthlyPayment = item.MonthlyPayment }); } } return(View(model)); }