예제 #1
0
 protected override void InternalProcessRecord()
 {
     TaskLogger.LogEnter(new object[]
     {
         this.DataObject
     });
     try
     {
         base.Validate(this.DataObject);
         if (base.HasErrors)
         {
             return;
         }
         TDataObject dataObject = this.DataObject;
         if (dataObject.Identity != null)
         {
             base.WriteVerbose(TaskVerboseStringHelper.GetSaveObjectVerboseString(this.DataObject, base.DataSession, typeof(TDataObject)));
         }
         using (TaskPerformanceData.SaveResult.StartRequestTimer())
         {
             base.DataSession.Save(this.DataObject);
         }
     }
     catch (DataSourceTransientException exception)
     {
         base.WriteError(exception, (ErrorCategory)1002, null);
     }
     finally
     {
         TDataObject dataObject2 = this.DataObject;
         if (dataObject2.Identity != null)
         {
             base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(base.DataSession));
         }
     }
     TaskLogger.LogExit();
 }