Exemple #1
0
        public async Task <IActionResult> OnPostAsync(int buildingid, int departmentid)
        {
            BuildingIdRoute   = buildingid;
            DepartmentIdRoute = departmentid;

            ViewData["Building"] = new SelectList(_context.Buildings, "BuildingID", "Name", buildingid);

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            AllRoomNumbers = await _context.Rooms
                             .Where(r => r.BuildingID == buildingid)
                             .Select(i => i.Number)
                             .ToListAsync();

            if (AllRoomNumbers.Contains(Room.Number))
            {
                SameNumberError = "Już istnieje pokój o tym numerze.";

                return(Page());
            }

            _context.Rooms.Add(Room);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index", new { buildingid = BuildingIdRoute, departmentid = DepartmentIdRoute }));
        }
        public async Task <IActionResult> OnPostAsync(int roomid, int buildingid, int departmentid)
        {
            BuildingIdRoute   = buildingid;
            DepartmentIdRoute = departmentid;

            ViewData["Building"] = new SelectList(_context.Buildings, "BuildingID", "Name", buildingid);

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            AllRoomNumbers = await _context.Rooms
                             .Where(r => r.BuildingID == buildingid)
                             .Select(i => i.Number)
                             .ToListAsync();

            if (AllRoomNumbers.Contains(Room.Number))
            {
                SameNumberError = "Już istnieje pokój o tym numerze.";
                return(Page());
            }

            var roomToUpdate = await _context.Rooms.FindAsync(roomid);

            if (await TryUpdateModelAsync <Room>(
                    roomToUpdate,
                    "Room",
                    s => s.Number, s => s.Type, s => s.Spots, s => s.Equipment, s => s.BuildingID))
            {
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new { buildingid = BuildingIdRoute, departmentid = DepartmentIdRoute }));
        }