예제 #1
0
        public inheriteContext()
            : base()
        {
            cdc.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED");
            cdc.Connection.Open();
            DbTransaction trans = cdc.Connection.BeginTransaction();

            cdc.Transaction = trans;

            manage_queue_transaction mqt = cdc.manage_queue_transactions.Where(x => x.mqt_id == 1).FirstOrDefault();

            mqt.mqt_tpr_id      = 0;
            mqt.mqt_update_date = Program.GetServerDateTime();
            mqt.mqt_flag        = false;
            mqt.mqt_user_name   = "system";
            cdc.SubmitChanges();
        }
예제 #2
0
        public inheriteContext(paramIndex param)
            : base()
        {
            int mqt_id = 0;

            if (param == paramIndex.Site)
            {
                manage_queue_transaction pk_mqt = cdc.manage_queue_transactions.Where(x => x.mqt_id == Program.CurrentSite.mhs_id).FirstOrDefault();
                if (pk_mqt != null)
                {
                    mqt_id = pk_mqt.mqt_id;
                }
                else
                {
                    using (inheriteContext insContext = new inheriteContext())
                    {
                        manage_queue_transaction ins_mqt = new manage_queue_transaction();
                        ins_mqt.mqt_site_id = Program.CurrentSite.mhs_id;
                        ins_mqt.mqt_flag    = true;
                        insContext.manage_queue_transactions.InsertOnSubmit(ins_mqt);
                        insContext.SubmitChanges();
                        mqt_id = ins_mqt.mqt_id;
                    }
                }
            }

            cdc.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED");
            cdc.Connection.Open();
            DbTransaction trans = cdc.Connection.BeginTransaction();

            cdc.Transaction = trans;

            manage_queue_transaction mqt = cdc.manage_queue_transactions.Where(x => x.mqt_id == mqt_id).FirstOrDefault();

            mqt.mqt_tpr_id      = 0;
            mqt.mqt_update_date = Program.GetServerDateTime();
            mqt.mqt_flag        = false;
            mqt.mqt_user_name   = "system";
            cdc.SubmitChanges();
        }
예제 #3
0
 public bool StartManageTransaction()
 {
     try
     {
         using (InhCheckupDataContext cdc = new InhCheckupDataContext())
         {
             try
             {
                 cdc.Connection.Open();
                 DbTransaction tran = cdc.Connection.BeginTransaction();
                 cdc.Transaction = tran;
                 int?tpr_id = null;
                 if (Program.CurrentRegis != null)
                 {
                     tpr_id = Program.CurrentRegis.tpr_id;
                 }
                 string user_name = null;
                 if (Program.CurrentUser != null)
                 {
                     user_name = Program.CurrentUser.mut_username;
                 }
                 manage_queue_transaction mqt = cdc.manage_queue_transactions.Where(x => x.mqt_id == 1).FirstOrDefault();
                 if (mqt == null)
                 {
                     mqt = new manage_queue_transaction
                     {
                         mqt_flag = null
                     };
                     cdc.manage_queue_transactions.InsertOnSubmit(mqt);
                 }
                 mqt.mqt_tpr_id      = tpr_id;
                 mqt.mqt_update_date = Program.GetServerDateTime();
                 mqt.mqt_user_name   = user_name;
                 mqt.mqt_flag        = true;
                 try
                 {
                     cdc.SubmitChanges();
                 }
                 catch (ChangeConflictException)
                 {
                     return(StartManageTransaction());
                 }
                 catch
                 {
                     return(false);
                 }
                 cdc.Transaction.Commit();
                 return(true);
             }
             catch
             {
                 cdc.Transaction.Rollback();
                 return(false);
             }
             finally
             {
                 cdc.Connection.Close();
             }
         }
     }
     catch
     {
         return(false);
     }
 }