public async Task <string> GetRoomNameForParticipant(CallParticipantModel model)
        {
            var participant = await _dbContext.CallParticipant.Where(item => item.ParticipantId == model.ParticipantId && item.Role == "patient" && item.SocketId == model.SocketId).FirstOrDefaultAsync();

            var room = await _dbContext.WaitingRooms.Where(item => item.Id == participant.RoomId).FirstOrDefaultAsync();

            return(room.RoomName);
        }
        public async Task <CallParticipantModel> GetParticipantDetailsById(CallParticipantModel model)
        {
            var participant = await _dbContext.CallParticipant.Where(item => item.ParticipantId == model.ParticipantId && item.Role == model.Role && item.RoomId == model.RoomId && item.AppointmentId == model.AppointmentId).FirstOrDefaultAsync();

            if (participant != null)
            {
                model.SocketId = participant.SocketId;
            }
            return(model);
        }
        public async Task UpdateParticipantStatus(CallParticipantModel model)
        {
            var participant = await _dbContext.CallParticipant.Where(item => item.AppointmentId == model.AppointmentId && item.Role == model.Role && item.ParticipantId == model.ParticipantId).FirstOrDefaultAsync();

            if (participant != null)
            {
                participant.Status = model.Status;
                await _dbContext.SaveChangesAsync();
            }
            else
            {
                _dbContext.CallParticipant.Add(model.MapTo <CallParticipants>());
                await _dbContext.SaveChangesAsync();
            }
        }
        public async Task UpdatePariticpantSocketId(CallParticipantModel model)
        {
            var participant = await _dbContext.CallParticipant.Where(item => item.AppointmentId == model.AppointmentId && item.Role == model.Role && item.ParticipantId == model.ParticipantId && item.RoomId == model.RoomId).FirstOrDefaultAsync();

            if (participant != null)
            {
                participant.SocketId = model.SocketId;
                participant.Status   = "A";
                await _dbContext.SaveChangesAsync();
            }
            else
            {
                var objparticipant = model.MapTo <CallParticipants>();
                objparticipant.Role = model.Role;
                _dbContext.CallParticipant.Add(objparticipant);
                await _dbContext.SaveChangesAsync();
            }
        }
 public async Task <string> GetRoomNameForParticipant(CallParticipantModel model)
 {
     return(await _repo.GetRoomNameForParticipant(model));
 }
 public async Task <CallParticipantModel> GetParticipantDetailsById(CallParticipantModel model)
 {
     return(await _repo.GetParticipantDetailsById(model));
 }
 public async Task UpdateParticipantStatus(CallParticipantModel model)
 {
     await _repo.UpdateParticipantStatus(model);
 }
 public async Task UpdatePariticpantSocketId(CallParticipantModel model)
 {
     await _repo.UpdatePariticpantSocketId(model);
 }