예제 #1
0
        public HotelUsers AddUserPermissionsInHotel(string currentUserId, string userIdToChange, int hotelId, int permissionsId)
        {
            var canEdit = this.CanUserEditOtherUsers(currentUserId, hotelId);

            if (!canEdit)
            {
                throw new UnauthorizedAccessException();
            }

            var user = this.dbContext.HotelUsers.FirstOrDefault(x => x.HotelId == hotelId && x.UserId == userIdToChange);

            if (user != null)
            {
                throw new Exception();
            }

            var newUser = new HotelUsers
            {
                UserId       = userIdToChange,
                HotelId      = hotelId,
                PermissionId = permissionsId
            };

            this.dbContext.HotelUsers.Add(newUser);

            return(newUser);
        }
예제 #2
0
        public Hotels CreateHotel(string userId, CreateHotels hotelToAdd)
        {
            var user = this.unitOfWork.Users.GetUserById(userId, userId);

            if (user == null)
            {
                throw new Exception("Unable to find user");
            }

            var newHotel = new Hotels
            {
                Name      = hotelToAdd.Name,
                Address   = hotelToAdd.Address,
                TaxRate   = hotelToAdd.TaxRate,
                Latitude  = hotelToAdd.Latitude,
                Longitude = hotelToAdd.Longitude,
                IsHidden  = hotelToAdd.IsHidden
            };

            var newHotelUserPermissions = new HotelUsers
            {
                UserId       = user.Id,
                PermissionId = Convert.ToInt32(HotelUsersPermissionsEnum.FULL_ADMIN)
            };

            newHotel.HotelUsers.Add(newHotelUserPermissions);

            this.dbContext.Hotels.Add(newHotel);

            return(newHotel);
        }
예제 #3
0
        public static OutgoingHotelUser Parse(HotelUsers x)
        {
            if (x == null)
            {
                return(null);
            }

            return(new OutgoingHotelUser
            {
                HotelId = x.HotelId,
                User = OutgoingMinimalUser.Parse(x.AspNetUsers),
                Permissions = OutgoingHotelPermissions.Parse(x.HotelPermissions)
            });
        }