// GET: Buildings/Details/5 public async Task <IActionResult> Details(int?id) { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("/Home/Login")); } if (id == null) { return(NotFound()); } //Change View based on Role: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); ViewBag.Role = user.Role; var building = await _context.Buildings .SingleOrDefaultAsync(m => m.ID == id); building.Rooms = _context.Rooms.Where(r => r.BuildingID == building.ID).OrderBy(r => r.Name).ToList(); if (building == null) { return(NotFound()); } return(View(building)); }
// GET: Buildings/Delete/5 public async Task <IActionResult> Delete(int?id) { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("/Home/Login")); } //Deny non-admins: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); if (user.Role != Role.Admin) { return(Redirect("/Buildings/Index")); } if (id == null) { return(NotFound()); } var building = await _context.Buildings .SingleOrDefaultAsync(m => m.ID == id); if (building == null) { return(NotFound()); } return(View(building)); }
public IActionResult Login(LoginViewModel loginVM) { if (ModelState.IsValid) { //Find user if (_context.FileMembers.Any(x => x.Email == loginVM.Email)) { FileMember user = _context.FileMembers.Single(u => u.Email == loginVM.Email); if (user.Password.Equals(Encryption.Hash(loginVM.Password))) { //start session HttpContext.Session.Set(SessionName, System.Text.Encoding.UTF8.GetBytes(user.Email)); //string SessionNum = HttpContext.Session.GetHashCode().ToString(); //HttpContext.Response.Cookies.Append(SessionNum, user.Email.ToString()); HttpContext.Session.SetString("Username", user.Email); return(RedirectToAction(nameof(Index))); } ViewBag.Error = "Incorrect Password."; return(View(loginVM)); } ViewBag.Error = "User does not exist. Please register."; return(View(loginVM)); } ViewBag.Error = "Login failed. Please try again."; return(View(loginVM)); }
// GET: Rooms/Create public IActionResult Create() { //Deny non-users: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("/Home/Login")); } //Deny non-admins: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); if (user.Role != Role.Admin) { return(Redirect("/Buildings/Index")); } //ViewData["BuildingID"] = new SelectList(_context.Buildings, "ID", "ID"); CreateRoomViewModel createRoomVM = new CreateRoomViewModel(); createRoomVM.Buildings = _context.Buildings.Select(p => new SelectListItem() { Value = p.ID.ToString(), Text = p.Name }).ToList(); return(View(createRoomVM)); }
// GET: Rooms/Details/5 public async Task <IActionResult> Details(int?id) { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("/Home/Login")); } if (id == null) { return(NotFound()); } //Change View based on Role: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); ViewBag.Role = user.Role; var room = await _context.Rooms .Include(r => r.Building) .SingleOrDefaultAsync(m => m.ID == id); // Add files to rooms room.Files = _context.Files.Where(f => f.RoomID == room.ID) .Include(f => f.Consumer) .Include(f => f.CaseManager) .ToList(); if (room == null) { return(NotFound()); } return(View(room)); }
// GET: Rooms/Edit/5 public async Task <IActionResult> Edit(int?id) { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("/Home/Login")); } //Deny non-admins: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); if (user.Role != Role.Admin) { return(Redirect("/Buildings/Index")); } if (id == null) { return(NotFound()); } var room = await _context.Rooms.SingleOrDefaultAsync(m => m.ID == id); if (room == null) { return(NotFound()); } ViewData["BuildingID"] = new SelectList(_context.Buildings, "ID", "ID", room.BuildingID); return(View(room)); }
// GET: Buildings public async Task <IActionResult> Index() { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("/Home/Login")); } //Change View based on Role: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); ViewBag.Role = user.Role; return(View(await _context.Buildings.OrderBy(b => b.Name).Include(b => b.Rooms).ToListAsync())); }
public void AddItemToListView(ListView listView) { FileMember fm = new FileMember(); fm.Name = document.Name; fm.Location = document.FullName; fm.Size = getLength(document.Length); fm.Created = document.CreationTime.ToString(); fm.Extension = document.Extension; if (listView.Dispatcher.Thread == Thread.CurrentThread) { listView.Items.Add(fm); } else { listView.Dispatcher.BeginInvoke(new AddItemToListViewDelegate(AddItemToListView), new object[] { listView }); } }
public IActionResult Users() { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("Login")); } FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); if (user.Role != Role.Admin) { return(Redirect("Index")); } IEnumerable <FileMember> fileMembers = _context.FileMembers.AsEnumerable(); return(View(fileMembers)); }
public IActionResult Register(RegisterViewModel registerVM) { if (ModelState.IsValid) { //if user does not already exist: if (!_context.FileMembers.Any(u => u.Email == registerVM.Email)) { //if passwords match: if (registerVM.Password.Equals(registerVM.Verify)) { //make new model with VM data, hashing password FileMember newUser = new FileMember { FirstName = registerVM.FirstName, LastName = registerVM.LastName, Email = registerVM.Email, Password = Encryption.Hash(registerVM.Password) }; //save model to DB _context.FileMembers.Add(newUser); _context.SaveChanges(); //start session HttpContext.Session.Set(SessionName, System.Text.Encoding.UTF8.GetBytes(newUser.Email)); string SessionNum = HttpContext.Session.GetHashCode().ToString(); HttpContext.Response.Cookies.Append(SessionNum, newUser.Email.ToString()); return(RedirectToAction(nameof(Index))); } ViewBag.Error = "Passwords must match."; return(View(registerVM)); } ViewBag.Error = "User already exists. Please login."; return(View(registerVM)); } ViewBag.Error = "Register failed. Please try again."; return(View(registerVM)); }
// GET: Buildings/Create public IActionResult Create() { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("/Home/Login")); } //Deny non-admins: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); if (user.Role != Role.Admin) { return(Redirect("/Buildings/Index")); } CreateBuildingViewModel createBuildingVM = new CreateBuildingViewModel(); return(View(createBuildingVM)); }
public IActionResult Index() { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("Login")); } //Change View based on Role: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); ViewBag.Role = user.Role; // For Search: HomeViewModel homeViewModel = new HomeViewModel(); // For Daily Tasks: homeViewModel.ActionFiles = _context.Files .Where(f => f.Status == Status.Damaged || f.Status == Status.Full) .Include(f => f.Consumer) .Include(f => f.CaseManager) .Include(f => f.Room) .OrderBy(f => f.Consumer.LastName); homeViewModel.InactiveFiles = _context.Files .Where(f => f.ShredDate <= homeViewModel.Today) .Include(f => f.Consumer) .Include(f => f.CaseManager) .Include(f => f.Room) .OrderBy(f => f.Consumer.LastName); foreach (File file in homeViewModel.InactiveFiles) { file.Status = Models.Status.Shred; _context.Update(file); _context.SaveChangesAsync(); } return(View(homeViewModel)); }
// GET: Buildings/Edit/5 public async Task <IActionResult> Edit(int?id) { //Check if user logged in: if (HttpContext.Session.GetString("Username") == null) { return(Redirect("/Home/Login")); } //Deny non-admins: FileMember user = _context.FileMembers.Single(u => u.Email == HttpContext.Session.GetString("Username")); if (user.Role != Role.Admin) { return(Redirect("/Buildings/Index")); } if (id == null) { return(NotFound()); } var building = await _context.Buildings.SingleOrDefaultAsync(m => m.ID == id); if (building == null) { return(NotFound()); } EditBuildingViewModel editBuildingVM = new EditBuildingViewModel { Name = building.Name, Address = building.Address, PhoneNumber = building.PhoneNumber, }; return(View(editBuildingVM)); }