/*查询排队状况 MyQueueStatus(Guid gAppointment)*/
 public QueueStatus MyQueueStatus(string userID, string password, string sAppointment) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.MyQueueStatus(sAppointment);
     }
     else {
         QueueStatus queueStatus = new QueueStatus();
         queueStatus.ErrorMessage = userInfo.ErrorMessage;
         return queueStatus;
     }
 }
 /*获取药品的疾病温馨提示*/
 public Notice GetPhysicNotice(string userID, string password, string sPrescriptionID) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.GetPhysicNotice(sPrescriptionID);
     }
     else {
         Notice notice = new Notice();
         notice.ErrorMessage = userInfo.ErrorMessage;
         return notice;
     }
 }
 /*为处方单付款*/
 public TransactionInfo PayPrescription(string userID, string password, string sPrescriptionID, string pharmacyID, string payPassword) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.PayPrescription(sPrescriptionID, pharmacyID, payPassword);
     }
     else {
         TransactionInfo transactionInfo = new TransactionInfo();
         transactionInfo.ErrorMessage = userInfo.ErrorMessage;
         return transactionInfo;
     }
 }
 /*查询处方单在特定药房的花费,供User调用。*/
 public PrescriptionCost GetPrescriptionCost(string userID, string password, string sPrescriptionID, string pharmacyID) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.GetPrescriptionCost(sPrescriptionID, pharmacyID);
     }
     else {
         PrescriptionCost prescriptionCost = new PrescriptionCost();
         prescriptionCost.ErrorMessage = userInfo.ErrorMessage;
         return prescriptionCost;
     }
 }
 /*用户取回发件箱*/
 public AllMessage MessageSent(string userID, string password, DateTime? startDate, DateTime? endDate) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.MessageSent(startDate, endDate);
     }
     else {
         AllMessage allMessage = new AllMessage();
         allMessage.ErrorMessage = userInfo.ErrorMessage;
         return allMessage;
     }
 }
 /*用户撰写邮件User to Doctor*/
 public string MessageCompose(string userID, string password, string receiverID, string text) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.MessageCompose(receiverID, text);
     }
     else {
         return userInfo.ErrorMessage;
     }
 }
 /*读取化验单*/
 public ExaminationInfo GetExaminationInfo(string userID, string password, string sExaminationID) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.GetExaminationInfo(sExaminationID);
     }
     else {
         ExaminationInfo    examinationInfo =  new ExaminationInfo();
         examinationInfo.ErrorMessage = userInfo.ErrorMessage;
         return examinationInfo;
     }
 }
 /*获取最近一次病历*/
 public CaseInfo GetLastCaseInfo(string userID, string password) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         /*不显示ICD-10编码*/
         return userService.GetLastCaseInfo(false);
     }
     else {
         CaseInfo    caseInfo =  new CaseInfo();
         caseInfo.ErrorMessage = userInfo.ErrorMessage;
         return caseInfo;
     }
 }
 /*获取指定用户在某区间内所有完成的病历*/
 public CaseHistory GetCaseHistory(string userID, string password, DateTime? startDate, DateTime? endDate) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         /*不显示ICD-10编码*/
         return userService.GetCaseHistory(startDate, endDate, false);
     }
     else {
         CaseHistory    caseHistory =  new CaseHistory();
         caseHistory.ErrorMessage = userInfo.ErrorMessage;
         return caseHistory;
     }
 }
 /*获取待去的预约记录*/
 public AllAppointment GetMyFutureAppointment(string userID, string password) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.GetMyFutureAppointment();
     }
     else {
         AllAppointment allAppointment = new AllAppointment();
         allAppointment.ErrorMessage = userInfo.ErrorMessage;
         return allAppointment;
     }
 }
 /*获取指定时间区间中用户所有的交易记录*/
 public AllTransactionInfo GetTransactionHistory(string userID, string password, DateTime? startDate, DateTime? endDate) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.GetTransactionHistory(startDate, endDate);
     }
     else {
         AllTransactionInfo allTransactionInfo = new AllTransactionInfo();
         allTransactionInfo.ErrorMessage = userInfo.ErrorMessage;
         return allTransactionInfo;
     }
 }
 /*预约医生某时间段*/
 public string MakeAppointment(string userID, string password, string doctorID, DateTime? date) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.MakeAppointment(doctorID, date);
     }
     else {
         return userInfo.ErrorMessage;
     }
 }
 /*查询医生最近可以预约的时间段*/
 public AvailableDate GetAvailableDate(string doctorID) {
     UserService userService = new UserService();
     return userService.GetAvailableDate(doctorID);
 }
 /*查询科室最近一周预约的时间安排*/
 public SectionSchedule GetSectionSchedule(string sectionID) {
     UserService userService = new UserService();
     return userService.GetSectionSchedule(sectionID);
 }
 /*生成QR码:提交字符串,返回该字符串对应的QR码的Image*/
 public byte[] GuidToQRCode(string sGuid) {
     UserService userService = new UserService();
     return userService.GuidToQRCode(sGuid);
 }
 /*读取处方单*/
 public PrescriptionInfo GetPrescriptionInfo(string userID, string password, string sPrescriptionID) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.GetPrescriptionInfo(sPrescriptionID);
     }
     else {
         PrescriptionInfo    prescriptionInfo =  new PrescriptionInfo();
         prescriptionInfo.ErrorMessage = userInfo.ErrorMessage;
         return prescriptionInfo;
     }
 }
 /*用户登录:若ID和Password均不为空,则转发至DL,将结果翻译为数据契约*/
 public UserInfo Login(string userID, string password) {
     UserService userService = new UserService();
     return userService.Login(userID, password);
 }
 /*获取用户资料:将不为空的ID请求转发至DL,并将反馈结果翻译为数据契约*/
 public UserInfo GetUserInfo(string userID, string password) {
     UserService userService = new UserService();
     UserInfo userInfo = userService.Login(userID, password);
     if (userInfo.ErrorMessage == null) {
         return userService.GetUserInfo(userID);
     }
     else {
         return userInfo;
     }
 }