using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RDH.Data;
using RDH.Data.BLL;
using RDH.Data.Models;

namespace Rdh.SocketServer.Client.BLL
{
    public class ShouShuShiBLL
    {
        public IEnumerable<OperationRoom> ListOperationRoomByStation(params String[] stationCode) 
        {
            List<OperationRoom> rooms = null;
            using (ConnectionSessionScope scope = new ConnectionSessionScope()) 
            {
                OperationRoomBLL operationRoomBLL = new OperationRoomBLL();
                rooms = operationRoomBLL.ListModels(100, 0);
            }
            if (stationCode == null || stationCode.Length == 0) 
            {
                return rooms;
            }
            if (rooms != null
                && rooms.Count > 0) 
            {
                return rooms.Where(x => x.Ext02 != null && stationCode.Contains(x.Ext02.Trim()));
            }
            return rooms;
        }
        public IEnumerable<PatientOperationInfo> ListOperattionInfoByRoom(String roomCode) 
        {
            using (ConnectionSessionScope scope = new ConnectionSessionScope())
            {
                PatientOperationInfoBLL patientOperationInfoBLL = new PatientOperationInfoBLL();
                return patientOperationInfoBLL.ListPatientOperationByRoom(roomCode);
            }
        }
        public IEnumerable<ItemBarcodeLibrary> ListBarcodeInfo(params String[] barocdes) 
        {
            using (ConnectionSessionScope scope = new ConnectionSessionScope()) 
            {
                ItemBarcodeLibraryBLL itemBarcodeLibraryBLL = new ItemBarcodeLibraryBLL();
                return itemBarcodeLibraryBLL.GetBarcodeLibrary(barocdes);
            }
        }
    }
}
