public InsertHomeUserResponse InsertHomeUser(InsertHomeUserRequest request)
        {
            InsertHomeUserResponse response = new InsertHomeUserResponse();

            if (context.HomeUsers.Any(q => q.HomeId == request.HomeId && q.UserId == request.UserId))
            {
                response.AddError(Resources.UserIsAlreadyInThatHome);
                return(response);
            }
            else if (context.HomeUsers.Any(q => q.UserId == request.UserId))
            {
                response.AddError(Resources.UserAlreadyHasAHome);
                return(response);
            }

            HomeUser homeUser = CreateNewAuditableObject(request);

            homeUser.HomeId = request.HomeId;
            homeUser.UserId = request.UserId;
            homeUser.Role   = request.Role;

            context.HomeUsers.Add(homeUser);
            context.SaveChanges();

            return(response);
        }
        protected override IActionResult OnModelPost()
        {
            var createHomeRequest = new CreateHomeRequest()
            {
                HomeEntity    = Home,
                RequestUserId = UserId
            };
            var home = homeService.CreateHome(createHomeRequest);
            var insertHomeUserRequest = new InsertHomeUserRequest()
            {
                HomeId        = home.HomeEntity.Id,
                UserId        = UserId,
                Role          = "owner",
                RequestUserId = UserId
            };

            homeUserService.InsertHomeUser(insertHomeUserRequest);

            return(RedirectToPage("/Index"));
        }