コード例 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("UserApartmentID,UserID,ApartmentID,Owner,Resident")] UserApartment userApartment)
        {
            if (id != userApartment.UserApartmentID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(userApartment);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UserApartmentExists(userApartment.UserApartmentID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ApartmentID"] = new SelectList(_context.Apartments, "ApartmentID", "Name", userApartment.ApartmentID);
            ViewData["UserID"]      = new SelectList(_context.Users, "ID", "LastName", userApartment.UserID);
            return(View(userApartment));
        }
コード例 #2
0
        public async Task <IActionResult> Create([Bind("UserApartmentID,UserID,ApartmentID,Owner,Resident")] UserApartment userApartment)
        {
            if (ModelState.IsValid)
            {
                _context.Add(userApartment);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ApartmentID"] = new SelectList(_context.Apartments, "ApartmentID", "Name", userApartment.ApartmentID);
            ViewData["UserID"]      = new SelectList(_context.Users, "ID", "LastName", userApartment.UserID);
            return(View(userApartment));
        }
コード例 #3
0
        public async Task AddAsync(UserApartmentInputModel userApartmentInputModel)
        {
            var user = await this.usersRepository
                       .All()
                       .FirstOrDefaultAsync(x => x.Id == userApartmentInputModel.ApplicationUserId);

            if (user == null)
            {
                throw new NullReferenceException(
                          string.Format(GlobalConstants.ErrorMessages.UserNotFound, user.Id));
            }

            var apartment = await this.apartmentsRepository
                            .All()
                            .FirstOrDefaultAsync(x => x.Id == userApartmentInputModel.ApartmentId);

            if (apartment == null)
            {
                throw new NullReferenceException(
                          string.Format(GlobalConstants.ErrorMessages.ApartmentNotFound, apartment.Id));
            }

            var userApartment = new UserApartment
            {
                ApplicationUserId = userApartmentInputModel.ApplicationUserId,
                ApartmentId       = userApartmentInputModel.ApartmentId,
            };

            bool doesUserApartmentExist = await this.usersApartmentsRepository
                                          .All()
                                          .AnyAsync(x => x.ApplicationUserId == userApartment.ApplicationUserId &&
                                                    x.ApartmentId == userApartment.ApartmentId);

            if (doesUserApartmentExist)
            {
                throw new ArgumentException(string.Format(GlobalConstants.ErrorMessages.UserApartmentExists, userApartment.ApplicationUserId, userApartment.ApartmentId));
            }

            await this.usersApartmentsRepository.AddAsync(userApartment);

            await this.usersApartmentsRepository.SaveChangesAsync();
        }
コード例 #4
0
        public async Task SeedAsync(ApplicationDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (dbContext.UserApartments.Any())
            {
                return;
            }

            var user      = dbContext.Users.FirstOrDefault(x => x.Email == "*****@*****.**");
            var apartment = dbContext.Apartments.FirstOrDefault(x => x.ApartmentNumber == "62");

            var userAparment = new UserApartment
            {
                ApplicationUserId = user.Id,
                ApartmentId       = apartment.Id,
            };

            await dbContext.AddAsync(userAparment);

            await dbContext.SaveChangesAsync();
        }
コード例 #5
0
        public static void Initialize(ApartmentContext context)
        {
            context.Database.EnsureCreated();

            // Look for any students.
            if (context.Users.Any())
            {
                return;   // DB has been seeded
            }
            var users = new User[] {
                new User {
                    FirstName      = "Rudi", LastName = "Cuypers",
                    Email          = "*****@*****.**",
                    City           = "Merksem",
                    Street         = "Lambrechtshoekenlaan",
                    Zip            = "2170",
                    EnrollmentDate = DateTime.Parse("01-01-1992")
                },
                new User {
                    FirstName      = "Dominica", LastName = "Vercammen",
                    Email          = "*****@*****.**",
                    City           = "Merksem",
                    Street         = "Lambrechtshoekenlaan",
                    Zip            = "2170",
                    EnrollmentDate = DateTime.Parse("01-01-1992")
                },
                new User {
                    FirstName      = "name", LastName = "lastnae",
                    Email          = "*****@*****.**",
                    City           = "Merksem",
                    Street         = "Lambrechtshoekenlaan",
                    Zip            = "2170",
                    EnrollmentDate = DateTime.Parse("01-01-2010")
                }
            };

            foreach (User u in users)
            {
                context.Users.Add(u);
            }
            context.SaveChanges();

            var Apartments = new Apartment[] {
                new Apartment {
                    ApartmentID = 10, Garage = true, Name = "B3"
                },
                new Apartment {
                    ApartmentID = 11, Garage = false, Name = "A1"
                }
            };

            foreach (Apartment a in Apartments)
            {
                context.Apartments.Add(a);
            }
            context.SaveChanges();

            var ApartmentUsers = new UserApartment[] {
                new UserApartment {
                    ApartmentID = 10, UserID = 1, Owner = true, Resident = true
                },
                new UserApartment {
                    ApartmentID = 10, UserID = 2, Owner = false, Resident = true
                },
                new UserApartment {
                    ApartmentID = 11, UserID = 3, Owner = true, Resident = false
                }
            };


            foreach (UserApartment a in ApartmentUsers)
            {
                context.UserApartments.Add(a);
            }
            context.SaveChanges();
        }