Exemplo n.º 1
0
        public ActionResult Index()
        {
            var resultViewModel = new GeneratedModelCodeViewModel
            {
                DefaultConnectionString = WebConfigurationManager.AppSettings["connectionString"],
                DefaultStoredProcedure  = WebConfigurationManager.AppSettings["dbObjectName"],
                CodeServiceType         = CodeServiceType.TableModel
            };

            return(View("Index", resultViewModel));
        }
Exemplo n.º 2
0
        public ActionResult GenerateModel(string connectionString, string dbObjectName, CodeServiceType codeServiceType)
        {
            if (string.IsNullOrEmpty(connectionString) ||
                string.IsNullOrEmpty(dbObjectName) ||
                codeServiceType == 0)
            {
                return(View("Index", new GeneratedModelCodeViewModel()));
            }

            _spReadingService.ConnectionString = connectionString;
            _spReadingService.DbObjectName     = dbObjectName;
            var modelProperties = _spReadingService.ReadColumnsFromDbObject().ToList();

            switch (codeServiceType)
            {
            case CodeServiceType.TableModel:
                _generatorService = new TableModelGenerator();
                break;

            case CodeServiceType.Repo:
                _generatorService = new RepoGenerator();
                break;

            case CodeServiceType.RepoTest:
                _generatorService = new RepoTestGenerator();
                break;

            default:
                throw new ArgumentException("That generator does not exists");
            }

            var generatedModelCodeViewModel = new GeneratedModelCodeViewModel
            {
                ModelName       = _dbSysUtils.GetTablesFromSP(connectionString, dbObjectName).ToList().FirstOrDefault(),
                ModelCode       = _generatorService.GenerateCode(modelProperties, connectionString, dbObjectName),
                CodeServiceType = codeServiceType
            };

            return(View("Index", generatedModelCodeViewModel));
        }