Esempio n. 1
0
        public async Task <string> AcceptAsync(string id)
        {
            var request = await this.requestRepo.GetAsync(id);

            var role = (await this.roleRepo.GetAllAsync()).FirstOrDefault(r => r.Name == request.Role);

            var user = await this.userRepo.GetAsync(request.UserId);

            var hotelRole = (await this.hotelRoleRepo.GetAllAsync()).FirstOrDefault(hr => hr.HotelId == request.HotelId && hr.Role.Name == request.Role);

            var userHotelRole = new UserHotelRole()
            {
                UserId      = request.UserId,
                HotelRoleId = hotelRole.Id,
            };

            await this.userManager.AddToRoleAsync(user, role.Name);

            await this.userHotelRoleRepo.AddAsync(userHotelRole);

            await this.userHotelRoleRepo.SaveChangesAsync();

            this.requestRepo.Delete(request);
            await this.requestRepo.SaveChangesAsync();

            return(request.HotelId + " Manager");
        }
        private async Task AddGuestToRoleAsync(ApplicationUser guest)
        {
            var hotelRole = (await this.hotelRoleRepo.GetAllAsync())
                            .FirstOrDefault(hr => hr.HotelId == this.hotelId && hr.Role.Name == "Guest");

            var userHotelRole = new UserHotelRole()
            {
                UserId      = guest.Id,
                HotelRoleId = hotelRole.Id,
            };

            await this.userHotelRoleRepo.AddAsync(userHotelRole);

            await this.userHotelRoleRepo.SaveChangesAsync();
        }