コード例 #1
0
 public void LoadData(CheckupDataContext dbc)
 {
     if (Program.CurrentRoom != null)
     {
         try
         {
             var objwaitlist = new Class.WaitingListCls().getWaitingRoomDtl(Program.CurrentRoom.mrd_id, Program.CurrentUser.mut_id);
             GridWaitingList.DataSource = new SortableBindingList <waitinglist>(objwaitlist.OrderBy(x => x.index).Select((item, index) => new waitinglist
             {
                 NO         = index + 1,
                 Callstatus = item.holded == true ? "HD" : "",
                 QueueNo    = item.tpr_queue_no,
                 HN         = item.tpt_hn_no,
                 FullName   = item.tpt_othername,
                 tpr_id     = item.tpr_id,
                 hilight    = item.reserve
             }).ToList());
             lbTitle.Text = string.Format("Waiting List (Total {0} คน)", objwaitlist.Count());
             timer1.Start();// Stat Timer
         }
         catch (Exception ex)
         {
             Program.MessageError("UIWaitList", "LoadData", ex, false);
             timer1.Start();
         }
     }
 }
コード例 #2
0
        public PatientCallQueue CallQueue(int mrd_id, int mut_id, string username)
        {
            try
            {
                DateTime dateNow = Program.GetServerDateTime();
                List <Class.WaitingListCls.WaitingListDtl> result = new Class.WaitingListCls().getWaitingRoomDtl(mrd_id, mut_id);
                foreach (Class.WaitingListCls.WaitingListDtl row in result)
                {
                    using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                    {
                        try
                        {
                            cdc.Connection.Open();
                            DbTransaction trans = cdc.Connection.BeginTransaction();
                            cdc.Transaction = trans;

                            trn_patient_queue PatientQueue = cdc.trn_patient_queues
                                                             .Where(x => x.tps_id == row.tps_id)
                                                             .FirstOrDefault();
                            if (PatientQueue.tps_ns_status == "QL")
                            {
                                PatientQueue.mrd_id          = mrd_id;
                                PatientQueue.tps_ns_status   = "WR";
                                PatientQueue.tps_update_by   = username;
                                PatientQueue.tps_update_date = dateNow;
                                try
                                {
                                    cdc.SubmitChanges();
                                    cdc.Transaction.Commit();
                                    Program.CurrentRegis         = PatientQueue.trn_patient_regi;
                                    Program.CurrentPatient_queue = PatientQueue;
                                    return(new PatientCallQueue
                                    {
                                        Status = PatientCallQueue.StatusCallQueue.GotPatient,
                                        tpr_id = PatientQueue.tpr_id,
                                        tps_id = PatientQueue.tps_id
                                    });
                                }
                                catch (System.Data.Linq.ChangeConflictException) //Win32Exception
                                {
                                    Program.CurrentRegis         = null;
                                    Program.CurrentPatient_queue = null;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            cdc.Transaction.Rollback();
                            Program.MessageError("TransactionQueueCls", "CallQueue(int mrd_id, int mut_id, string username)", ex, false);
                            Program.CurrentRegis         = null;
                            Program.CurrentPatient_queue = null;
                            return(new PatientCallQueue
                            {
                                Status = PatientCallQueue.StatusCallQueue.Error,
                                tpr_id = null,
                                tps_id = null
                            });
                        }
                        finally
                        {
                            cdc.Connection.Close();
                        }
                    }
                }
                return(null);
            }
            catch (Exception ex)
            {
                Program.MessageError("TransactionQueueCls", "CallQueue(int mrd_id, int mut_id, string username)", ex, false);
                Program.CurrentRegis         = null;
                Program.CurrentPatient_queue = null;
                return(null);
            }
        }