Exemple #1
0
        private void GenerateSourceControlOperation(SourceControlOperation operation)
        {
            ItemStatus sourceControlStatus = null;

            if (this.sourceControl is IStatusItem)
            {
                var item = this.sourceControl as IStatusItem;
                item.InitialiseStatus();
                sourceControlStatus = item.GenerateSnapshot();
            }
            else if (SourceControl is IStatusSnapshotGenerator)
            {
                sourceControlStatus = (SourceControl as IStatusSnapshotGenerator).GenerateSnapshot();
            }
            else
            {
                sourceControlStatus = new ItemStatus(
                    string.Format(System.Globalization.CultureInfo.CurrentCulture, "{0}: {1}",
                        SourceControl.GetType().Name,
                        operation));
                sourceControlStatus.Status = ItemBuildStatus.Pending;
            }

            // Only add the item if it has been initialised
            if (sourceControlStatus != null)
            {
                currentProjectStatus.AddChild(sourceControlStatus);
                sourceControlOperations.Add(operation, sourceControlStatus);
            }
        }
Exemple #2
0
 /// <summary>
 /// Records a source control operation.
 /// </summary>
 /// <param name="operation">The operation to record.</param>
 /// <param name="status">The status of the operation.</param>
 public virtual void RecordSourceControlOperation(SourceControlOperation operation, ItemBuildStatus status)
 {
     if (sourceControlOperations.ContainsKey(operation))
     {
         sourceControlOperations[operation].Status = status;
         switch (status)
         {
             case ItemBuildStatus.Running:
                 sourceControlOperations[operation].TimeStarted = DateTime.Now;
                 break;
             case ItemBuildStatus.CompletedFailed:
             case ItemBuildStatus.CompletedSuccess:
                 sourceControlOperations[operation].TimeCompleted = DateTime.Now;
                 break;
         }
     }
 }