// TODO: add Include
        private async Task <EntityRoom> Get(IRoomContainer room)
        {
            if (room == null)
            {
                throw new ArgumentNullException(nameof(room));
            }

            if (room.RoomId.HasValue)
            {
                return(await this.Context.Rooms.AsNoTracking().FirstOrDefaultAsync(x => x.Id == room.RoomId));
            }
            return(null);
        }
 public async Task DeleteAsync(IRoomContainer model)
 {
     Context.Rooms.Remove(Mapper.Map <EntityRoom>(model));
     await Context.SaveChangesAsync();
 }
        public async Task <DomainRoom> GetByAsync(IRoomContainer model)
        {
            var res = await Get(model);

            return(Mapper.Map <DomainRoom>(res));
        }