コード例 #1
0
        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;
                    }
                }
            });
        }
コード例 #2
0
        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));
            });
        }