Exemplo n.º 1
0
 public OutputModelBase(string type, INamespace ns, IDesignModel designModel = null, IProjectFile file = null, OutputModelMergeMode mergeMode = OutputModelMergeMode.Skip)
 {
     Type                = type;
     Namespace           = ns;
     DesignModel         = designModel;
     File                = file;
     OutputConfiguration = new OutputConfiguration.OutputConfiguration(Namespace?.OutputConfiguration);
     MergeMode           = mergeMode;
 }
Exemplo n.º 2
0
        public void SetOutputFile(IOutputConfiguration outputConfiguration, IClassNamingConvention namingConvention,
                                  string fileExtension, OutputModelMergeMode mergeMode = OutputModelMergeMode.Skip)
        {
            CheckOutputModel();

            var outputFolder = outputConfiguration.GetOutputFolder(_outputModel.Type);
            var outputFile   = namingConvention.GetOutputFolderPath(_outputModel.Namespace) + "/" +
                               _outputModel.ClassName + fileExtension;

            _outputModel.File      = outputFolder.GetFile(outputFile);
            _outputModel.MergeMode = mergeMode;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Return the FileMerger to use based on the merge mode
        /// </summary>
        /// <param name="outputModelMergeMode"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentOutOfRangeException"></exception>
        public static IFileMerger GetForMode(OutputModelMergeMode outputModelMergeMode)
        {
            switch (outputModelMergeMode)
            {
            case OutputModelMergeMode.Replace:
                return(new ReplaceFileMerger());

            case OutputModelMergeMode.Skip:
                return(new SkipFileMerger());

            case OutputModelMergeMode.MergeUpdateRegions:
                throw new NotImplementedException($"File merger for mode {OutputModelMergeMode.MergeUpdateRegions} is not yet implemented");

            case OutputModelMergeMode.MergePreserveRegions:
                throw new NotImplementedException($"File merger for mode {OutputModelMergeMode.MergePreserveRegions} is not yet implemented");

            default:
                throw new ArgumentOutOfRangeException(nameof(outputModelMergeMode), outputModelMergeMode, null);
            }
        }