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 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; }
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; }
public DTProject(IBPM BPM, ECMTConfig Config) : base(BPM, Config) { this.SourceCode_SourcesFolder_Dir = base.SourceCode_SourcesFolder_Dir + "ERP." + (bpm as DT).Name + ".Triggers"; }
public BOProject(IBPM BPM, ECMTConfig Config) : base(BPM, Config) { this.SourceCode_SourcesFolder_Dir = base.SourceCode_SourcesFolder_Dir + (bpm as BO).Name; }