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