public async Task <IActionResult> Edit(int id, [Bind("MIID,UnitUID,Date,Carpet,Appliances,Walls,Refundable_deposit,Nonrefundable_deposit,Pet_deposit,TenantTID")] Move_in move_in) { var mitenant = from t in _context.Tenant where t.TID == move_in.TenantTID select t; var miunit = from u in _context.Unit where u.UID == move_in.UnitUID select u; var unit = await _context.Unit.FindAsync(move_in.UnitUID); ViewData["TenantTID"] = new SelectList(mitenant, "TID", "Last_name"); ViewData["UnitUID"] = new SelectList(miunit, "UID", "Unit_Number"); if (id != move_in.MIID) { return(NotFound()); } if (ModelState.IsValid) { try { var tenant = await _context.Tenant.FindAsync(move_in.TenantTID); if (tenant.Current.Equals("No")) { ViewBag.Message = "Unable to change move in date. Tenant moved out."; return(View(move_in)); } if (move_in.Date > DateTime.Today) { ViewBag.Message = "Unable to change move in to future date. Withdraw move in."; return(View(move_in)); } tenant.Lease_start_date = move_in.Date; _context.Update(tenant); _context.Update(move_in); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!Move_inExists(move_in.MIID)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Details", "Buildings", new { id = unit.BuildingId })); } return(View(move_in)); }
public async Task <IActionResult> Create(long BuildingId, [Bind("MIID,UnitUID,Date,Carpet,Appliances,Walls,Refundable_deposit,Nonrefundable_deposit,Pet_deposit,TenantTID")] Move_in move_in) { var miunit = from m in _context.Unit where m.UID == move_in.UnitUID select m; var mitenant = from t in _context.Tenant where t.TID == move_in.TenantTID select t; ViewData["TenantTID"] = new SelectList(mitenant, "TID", "Last_name"); ViewData["UnitUID"] = new SelectList(miunit, "UID", "Unit_Number"); if (move_in.Date > DateTime.Today.AddDays(1)) { ViewBag.Message = "Move in date cannot be in the future"; return(View(move_in)); } if (ModelState.IsValid) { _context.Add(move_in); var tenant = await _context.Tenant.FindAsync(move_in.TenantTID); tenant.Current = "Yes"; tenant.ReservedUnit = move_in.UnitUID; tenant.Lease_start_date = move_in.Date; _context.Update(tenant); var unit = await _context.Unit.FindAsync(move_in.UnitUID); unit.Occupied = "Yes"; unit.Ready_to_rent = "No"; _context.Update(unit); await _context.SaveChangesAsync(); return(RedirectToAction("Details", "Buildings", new { id = unit.BuildingId })); } return(View(move_in)); }