public ErrorTypes GetOrCreateEnd(IAsyncResult ar, out TaskResultData oDataAdded, out bool bCreate)
 {
     bCreate    = m_oGetOrCreate.m_bCreate;
     oDataAdded = null;
     if (ErrorTypes.NoError == m_oGetOrCreate.m_eError)
     {
         try
         {
             if (m_oGetOrCreate.m_bReadFromDB)
             {
                 m_oTaskResultDB.GetOrCreateEnd(ar, out oDataAdded, out bCreate);
                 if (oDataAdded != null)
                 {
                     DelegateAddToMC oDelegateAddToMC = new DelegateAddToMC(AddToMC);
                     oDelegateAddToMC.BeginInvoke(m_oGetOrCreate.m_sKey, oDataAdded, null, null);
                 }
             }
             else if (null != m_oGetOrCreate.m_oTast)
             {
                 oDataAdded = m_oGetOrCreate.m_oTast.Clone();
             }
         }
         catch
         {
             m_oGetOrCreate.Dispose();
         }
     }
     return(m_oGetOrCreate.m_eError);
 }
 public ErrorTypes GetEnd(IAsyncResult ar, out TaskResultData oTast)
 {
     oTast = null;
     if (m_oGet.m_eError == ErrorTypes.NoError)
     {
         try
         {
             if (m_oGet.m_bReadFromDB)
             {
                 m_oTaskResultDB.GetEnd(ar, out oTast);
                 DelegateAddToMC oDelegateAdd = new DelegateAddToMC(AddToMC);
                 oDelegateAdd.BeginInvoke(m_oGet.m_sKey, oTast, null, null);
             }
             else if (m_oGet.m_oTast != null)
             {
                 oTast = m_oGet.m_oTast.Clone();
             }
         }
         catch
         {
             m_oGet.m_eError = ErrorTypes.TaskResult;
         }
     }
     return(m_oGet.m_eError);
 }
 public ErrorTypes GetOrCreateEnd(IAsyncResult ar, out TaskResultData oDataAdded, out bool bCreate)
 {
     bCreate = m_oGetOrCreate.m_bCreate;
     oDataAdded = null;
     if (ErrorTypes.NoError == m_oGetOrCreate.m_eError)
     {
         try
         {
             if (m_oGetOrCreate.m_bReadFromDB)
             {
                 m_oTaskResultDB.GetOrCreateEnd(ar, out oDataAdded, out bCreate);
                 if (oDataAdded != null)
                 {
                     DelegateAddToMC oDelegateAddToMC = new DelegateAddToMC(AddToMC);
                     oDelegateAddToMC.BeginInvoke(m_oGetOrCreate.m_sKey, oDataAdded, null, null);
                 }
             }
             else if (null != m_oGetOrCreate.m_oTast)
                 oDataAdded = m_oGetOrCreate.m_oTast.Clone();
         }
         catch
         {
             m_oGetOrCreate.Dispose();
         }
     }
     return m_oGetOrCreate.m_eError;
 }
        public ErrorTypes GetEnd(IAsyncResult ar, out TaskResultData oTast)
        {
            oTast = null;
            if (m_oGet.m_eError == ErrorTypes.NoError)
            {
                try
                {
                    if (m_oGet.m_bReadFromDB)
                    {
                        m_oTaskResultDB.GetEnd(ar, out oTast);
                        DelegateAddToMC oDelegateAdd = new DelegateAddToMC(AddToMC);
                        oDelegateAdd.BeginInvoke(m_oGet.m_sKey, oTast, null, null);
                    }
                    else if (m_oGet.m_oTast != null)
                        oTast = m_oGet.m_oTast.Clone();

                }
                catch
                {
                    m_oGet.m_eError = ErrorTypes.TaskResult;
                }
            }
            return m_oGet.m_eError;
        }