private static void ArchiveSources(AspNetDeployEntities entities) { List <SourceControlVersion> sourceControlVersions = entities.SourceControlVersion .Include("ProjectVersions") .Include("Properties") .Include("ProjectVersions.BundleVersions") .Include("SourceControl.Properties") .Where(scv => scv.ArchiveState == SourceControlVersionArchiveState.Archiving) .ToList(); sourceControlVersions .ForEach(sourceControlVersion => { TaskRunnerContext.SetSourceControlVersionState(sourceControlVersion.Id, SourceControlState.Archiving); try { (new SourceControlJob(sourceControlVersion.Id)).Archive(); TaskRunnerContext.SetSourceControlVersionState(sourceControlVersion.Id, SourceControlState.Idle); } catch (Exception e) { TaskRunnerContext.SetSourceControlVersionState(sourceControlVersion.Id, SourceControlState.Error); Factory.GetInstance <ILoggingService>().Log(new AspNetDeployException("Archive sources failed: " + sourceControlVersion.Id, e), null); if (e.IsCritical()) { throw; } } }); }
private static void TakeSources(AspNetDeployEntities entities) { List <SourceControlVersion> sourceControlVersions = entities.SourceControlVersion .Include("ProjectVersions") .Include("Properties") .Include("ProjectVersions.BundleVersions") .Include("SourceControl.Properties") .Where(scv => scv.ArchiveState == SourceControlVersionArchiveState.Normal) .ToList(); sourceControlVersions .ForEach(sourceControlVersion => { TaskRunnerContext.SetSourceControlVersionState(sourceControlVersion.Id, SourceControlState.Loading); sourceControlVersion.ProjectVersions .SelectMany(pv => pv.BundleVersions) .Where(bv => !bv.IsDeleted) .ToList() .ForEach(bv => TaskRunnerContext.SetBundleVersionState(bv.Id, BundleState.Loading)); try { (new SourceControlJob(sourceControlVersion.Id)).UpdateAndParse(); TaskRunnerContext.SetSourceControlVersionState(sourceControlVersion.Id, SourceControlState.Idle); } catch (Exception e) { TaskRunnerContext.SetSourceControlVersionState(sourceControlVersion.Id, SourceControlState.Error); Factory.GetInstance <ILoggingService>().Log(new AspNetDeployException("Take sources failed: " + sourceControlVersion.Id, e), null); if (e.IsCritical()) { throw; } } sourceControlVersion.ProjectVersions .SelectMany(pv => pv.BundleVersions) .Where(bv => !bv.IsDeleted) .ToList() .ForEach(bv => TaskRunnerContext.SetBundleVersionState(bv.Id, BundleState.Idle)); }); }