internal CSGProjectManager(IEL EL, ECMTConfig Config) : base(EL, Config)
        {
            //ProjcectDllsBuiltTo
            this.ProjectDllsBuiltToDir = Config.EpicorAppServerRootDir + Config.ELConfig.ELEpicorAppServerAssembliesDir;
            if (false == System.IO.Directory.Exists(this.ProjectDllsBuiltToDir))
            {
                throw new Exception("Project DLLs Build Path Not Available.");
            }
            //csproj and sln file path
            this.CSProjPath     = Config.ECTargetRootDir + el.Folder + "Erp.Internal.CSG." + el.Name + this.ProjectFileTypeDictionary[VSProjectFileType.CSharpProject];
            this.CSProjUserPath = Config.ECTargetRootDir + el.Folder + "Erp.Internal.CSG." + el.Name + this.ProjectFileTypeDictionary[VSProjectFileType.CSharpProjectUser];
            this.SLNProjPath    = Config.ECTargetRootDir + el.Folder + "Erp.Internal.CSG." + el.Name + this.ProjectFileTypeDictionary[VSProjectFileType.Solution];

            //Deploy CMD, Even in debug mode, .pdb files not copied to deployment folder
            if (Config.DebugMode == true)
            {
                this.DeployCMD = Config.DeployCMD + " " + this.ProjectDllsBuiltToDir;
            }
            else
            {
                this.DeployCMD = Config.DeployCMD + " " + this.ProjectDllsBuiltToDir;
            }
            this.IISRecycleCMD = string.Empty;

            //CSG Template Dir
            this.GenericServerProcessTemplate = Config.ELConfig.ELCSGGenericServerProcessTemplate;

            //CSG Project Dir (for both New or Current)
            this.CSGProjDir     = Config.ECTargetRootDir + el.Folder;
            this.CSGProjRootDir = Config.ECTargetRootDir + CSG.DefaultFolder + el.Name + @"\";
        }
        internal ELProjectManager(IEL EL, ECMTConfig Config)
        {
            el = EL;

            //Reference dir
            this.ProjectReferenceDirAssemblies = Config.EpicorAppServerRootDir + Config.ELConfig.ELEpicorAppServerAssembliesDir;
            this.ProjectReferenceDirBin        = Config.EpicorAppServerRootDir + Config.ELConfig.ELEpicorAppServerBinDir;

            //Auto Flag
            this.AutoOpenProj = Config.AutoOpen && Config.ELConfig.ELAutoOpen;
            this.AutoDeploy   = Config.AutoDeploy && Config.ELConfig.ELAutoDeploy;
            //this.AutoIISRecycle = Config.AutoIISRecycle && Config.ELConfig.ELAutoIISRecycle;
            this.AutoCommit = Config.AutoCommit && Config.ELConfig.ELAutoCommit; //For future upgrade, not in use for now
        }
示例#3
0
 public void BuildProject(IUI UI, ECMTConfig Config)
 {
     if (UI is FC)
     {
         new FCProject(UI, Config).Build();
     }
     else if (UI is DBD)
     {
         new DBDProject(UI, Config).Build();
     }
     else
     {
         throw new Exception("UIType Not Recognized");
     }
 }
 public void Open(IEL EL, ECMTConfig Config)
 {
     if (EL is GH)
     {
         new GHProjectManager(EL, Config).OpenOrCreateProject();
     }
     else if (EL is CSG)
     {
         new CSGProjectManager(EL, Config).OpenOrCreateProject();
     }
     else
     {
         throw new Exception("EL Type not Recognized");
     }
 }
 public SSRSProject(IRPT RPT, ECMTConfig Config) : base(RPT, Config)
 {
     this.BaseURL  = Config.RPTConfig.SSRSWebPortal;
     this.Resource = @"api/v1.0/catalogitems";
     this.TargetProject_SLN_Dir = Config.ECTargetRootDir + Config.RPTConfig.RPTTargetProjectDir + this.rpt.Name + @"\";
     this.TargetProject_RDLandPROJandRDS_Dir = this.TargetProject_SLN_Dir + this.rpt.Name + @"\";
     this.RPTRDLDir        = this.TargetProject_RDLandPROJandRDS_Dir;
     this.EnvStr           = Config.EpicorAppServer;
     this.ProjTemplatePath = Config.RPTConfig.SSRSProjectTemplateDir;
     this.ProjTemplateSharedDataSourcePath = Config.RPTConfig.SSRSSharedDataSourceTemplateDir;
     //.rptproj and .rds
     this.RPTProjPath                 = this.TargetProject_RDLandPROJandRDS_Dir + rpt.Name + this.ProjectFileTypeDictionary[VSProjectFileType.SSRSProj];             //.csproj
     this.SDSPath                     = this.TargetProject_RDLandPROJandRDS_Dir + rpt.Name + this.ProjectFileTypeDictionary[VSProjectFileType.SSRSReportDataSource]; //.rds
     this.ReportDatabase              = Config.RPTConfig.SSRSEpicorReportDatabase;
     this.ReportingServerHost         = Config.RPTConfig.SSRSReportingServerHost;
     this.ProjectBuildTargetServerURL = @"http://" + this.ReportingServerHost + @"/reportserver";
     this.AutoOpenProj                = Config.AutoOpen && Config.RPTConfig.RPTAutoOpen;
 }
示例#6
0
 public void BuildProject(IBPM BPM, ECMTConfig Config)
 {
     if (BPM is BO)
     {
         new BOProject(BPM, Config).Build();
     }
     else if (BPM is DT)
     {
         new DTProject(BPM, Config).Build();
     }
     else if (BPM is Ubaq)
     {
         new UbaqProject(BPM, Config).Build();
     }
     else
     {
         throw new Exception("BPMType Not Recognized");
     }
 }
 public void Open(IRPT RPT, ECMTConfig Config)
 {
     if (RPT is Crystal)
     {
         throw new NotImplementedException();
     }
     else if (RPT is BT)
     {
         throw new NotImplementedException();
     }
     else if (RPT is SSRS)
     {
         new SSRSProject(RPT, Config).Build();
     }
     else
     {
         throw new Exception("BPMType Not Recognized");
     }
 }
示例#8
0
        public BPMProject(IBPM BPM, ECMTConfig Config)
        {
            bpm = BPM;
            //Source
            this.SourceCode_SourcesFolder_Dir = Config.EpicorAppServerRootDir + Config.BPMConfig.BPMSourceCodeDir + bpm.Folder;//..\BPM\Sources\BO\

            //Target
            this.TargetProject_CSPROJ_Dir     = Config.ECTargetRootDir + Config.BPMConfig.BPMTargetProjectDir + bpm.Folder + bpm.Name + @"\";                   //..\BPM\BO\ABCCode.Update\
            this.TargetProject_SourceCode_Dir = Config.ECTargetRootDir + Config.BPMConfig.BPMTargetProjectDir + bpm.Folder + bpm.Name + @"\" + bpm.Name + @"\"; //..\BPM\BO\ABCCode.Update\ABCCode.Update\

            //Proj Template and Proj User Template
            this.ProjTemplatePath     = Config.BPMConfig.BPMTemplateDir;
            this.ProjUserTemplatePath = Config.BPMConfig.BPMTemplateUserDir;

            //.csproj and .csproj.user
            this.CSProjPath     = this.TargetProject_CSPROJ_Dir + bpm.Name + this.ProjectFileTypeDictionary[VSProjectFileType.CSharpProject];     //..\Bpm\BO\ABCCode.Update\ABCCode.Update.csproj
            this.CSProjUserPath = this.TargetProject_CSPROJ_Dir + bpm.Name + this.ProjectFileTypeDictionary[VSProjectFileType.CSharpProjectUser]; //..\Bpm\BO\ABCCode.Update\ABCCode.Update.csproj.user

            //Reference
            foreach (var referenceDir in Config.BPMConfig.BPMProjectReferenceDirs)
            {
                ProjReferenceDirs += ProjReferenceDirs == string.Empty ? Config.EpicorAppServerRootDir + referenceDir : ";" + Config.EpicorAppServerRootDir + referenceDir;
            }

            //GelitaHelpers Reference Path
            this.GelitaHelpersReferenceDir = Config.EpicorAppServerRootDir + Config.ELConfig.ELAutoDeployDir;

            //Auto Flag
            this.AutoOpenProj   = Config.AutoOpen && Config.BPMConfig.BPMAutoOpen;
            this.AutoDeploy     = Config.AutoDeploy && Config.BPMConfig.BPMAutoDeploy;
            this.AutoIISRecycle = Config.AutoIISRecycle && Config.BPMConfig.BPMAutoIISRecycle;
            this.AutoCommit     = Config.AutoCommit && Config.BPMConfig.BPMAutoCommit; //For future upgrade, not in use for now

            //cmd IISRecycle for current in new project postbuild event
            this.PostBuildEvent_IISRecycleForCurrentEpicorServer = Config.ECTargetRootDir + Config.IISRecyclePath + " " + Config.EpicorAppServer;

            //Project Build to
            this.ProjectDebugBuiltToDir = Config.EpicorAppServerRootDir + Config.BPMConfig.BPMProjectDebugRootDir + bpm.Folder;
        }
        internal GHProjectManager(IEL EL, ECMTConfig Config) : base(EL, Config)
        {
            //Project Build To Dir
            this.ProjectDllsBuiltToDir = Config.EpicorAppServerRootDir + Config.ELConfig.ELAutoDeployDir;
            if (false == System.IO.Directory.Exists(this.ProjectDllsBuiltToDir))
            {
                throw new Exception("Project DLLs Build Path Not Available.");
            }

            //AutoIISCycle
            this.AutoIISRecycle = Config.AutoIISRecycle && Config.ELConfig.ELAutoIISRecycle;

            //csproj and sln file path
            this.CSProjPath     = Config.ECTargetRootDir + el.Folder + el.Folder + el.Name + this.ProjectFileTypeDictionary[VSProjectFileType.CSharpProject];
            this.CSProjUserPath = Config.ECTargetRootDir + el.Folder + el.Folder + el.Name + this.ProjectFileTypeDictionary[VSProjectFileType.CSharpProjectUser];
            this.SLNProjPath    = Config.ECTargetRootDir + el.Folder + el.Name + this.ProjectFileTypeDictionary[VSProjectFileType.Solution];
            if (true == System.IO.File.Exists(this.SLNProjPath))
            {
                this.IsSLNProj = true;
            }
            else if (true == System.IO.File.Exists(this.CSProjPath))
            {
                this.IsSLNProj = false;
            }

            //Deploy CMD, Even in debug mode, .pdb files not copied to deployment folder
            if (Config.DebugMode == true)
            {
                this.DeployCMD = Config.DeployCMD + " " + this.ProjectDllsBuiltToDir;
            }
            else
            {
                this.DeployCMD = Config.DeployCMD + " " + this.ProjectDllsBuiltToDir;
            }
            if (this.AutoIISRecycle)
            {
                this.IISRecycleCMD = Config.ECTargetRootDir + Config.IISRecyclePath + " " + Config.EpicorAppServer;
            }
        }
示例#10
0
 public UbaqProject(IBPM BPM, ECMTConfig Config) : base(BPM, Config)
 {
     this.SetUbaqCompanyID(bpm as Ubaq);
     this.SourceCode_SourcesFolder_Dir = base.SourceCode_SourcesFolder_Dir + "_" + (bpm as Ubaq).CompanyID + "_" + (bpm as Ubaq).Name;
 }
示例#11
0
 public DTProject(IBPM BPM, ECMTConfig Config) : base(BPM, Config)
 {
     this.SourceCode_SourcesFolder_Dir = base.SourceCode_SourcesFolder_Dir + "ERP." + (bpm as DT).Name + ".Triggers";
 }
示例#12
0
 public BOProject(IBPM BPM, ECMTConfig Config) : base(BPM, Config)
 {
     this.SourceCode_SourcesFolder_Dir = base.SourceCode_SourcesFolder_Dir + (bpm as BO).Name;
 }
 public RPTProject(IRPT RPT, ECMTConfig Config)
 {
     this.rpt = RPT;
 }
示例#14
0
 public DBDProject(IUI UI, ECMTConfig Config) : base(UI, Config)
 {
 }
示例#15
0
 public UIProject(IUI UI, ECMTConfig Config)
 {
 }