public async Task <ActionResult> AddAppInstance(AppInstanceInfoModel model)
        {
            var validationMessage = await AppManagementValidationLogic.AddAppInstanceValidation(model, _dbContext);

            if (!string.IsNullOrEmpty(validationMessage))
            {
                return(StatusCode(400, validationMessage));
            }
            var appInstance = new AppInstance
            {
                AppTypeId              = model.AppTypeId,
                DatabaseProviderId     = model.DatabaseProviderId,
                GeneratedCodeNamespace = model.GeneratedCodeNamespace,
                DbContextName          = model.DbContextName,
                IsEnabled              = model.IsEnabled,
                IsProduction           = model.IsProduction,
                Name  = model.Name,
                Title = model.Title,
                DataConnectionStringTemplateName = model.DataConnectionStringTemplateName,
                LobConnectionStringTemplateName  = model.LobConnectionStringTemplateName,
                MainDatabaseName      = model.MainDatabaseName,
                LobDatabaseName       = model.LobDatabaseName,
                MetadataReleaseId     = model.MetadataReleaseId,
                MigrateDatabase       = model.MigrateDatabase,
                UseUnreleasedMetadata = model.UseUnreleasedMetadata,
                SortOrder             = model.SortOrder,
            };

            _dbContext.AppInstances.Add(appInstance);
            await _dbContext.SaveChangesAsync();

            ((RequestLogModel)HttpContext.Items["RequestLog"]).AppInstanceId = appInstance.Id;
            return(Ok());
        }
        public async Task <ActionResult> EditAppInstance(AppInstanceInfoModel model)
        {
            var validationMessage = await AppManagementValidationLogic.EditAppInstanceValidation(model, _dbContext);

            if (!string.IsNullOrEmpty(validationMessage))
            {
                return(StatusCode(400, validationMessage));
            }

            var appInstance = await _dbContext.AppInstances.FindAsync(model.Id);

            appInstance.AppTypeId              = model.AppTypeId;
            appInstance.DatabaseProviderId     = model.DatabaseProviderId;
            appInstance.GeneratedCodeNamespace = model.GeneratedCodeNamespace;
            appInstance.DbContextName          = model.DbContextName;
            appInstance.IsEnabled              = model.IsEnabled;
            appInstance.IsProduction           = model.IsProduction;
            appInstance.Name  = model.Name;
            appInstance.Title = model.Title;
            appInstance.DataConnectionStringTemplateName = model.DataConnectionStringTemplateName;
            appInstance.LobConnectionStringTemplateName  = model.LobConnectionStringTemplateName;
            appInstance.MainDatabaseName      = model.MainDatabaseName;
            appInstance.LobDatabaseName       = model.LobDatabaseName;
            appInstance.MetadataReleaseId     = model.MetadataReleaseId;
            appInstance.UseUnreleasedMetadata = model.UseUnreleasedMetadata;
            appInstance.SortOrder             = model.SortOrder;
            await _dbContext.SaveChangesAsync();

            ((RequestLogModel)HttpContext.Items["RequestLog"]).AppInstanceId = appInstance.Id;
            return(Ok());
        }
示例#3
0
 public static async Task <string> AddAppInstanceValidation(AppInstanceInfoModel model, MetadataDbContext dbContext)
 {
     if (await dbContext.AppInstances.AnyAsync(x => x.Name == model.Name))
     {
         return("App instance name " + model.Name + " is already exist.");
     }
     return(string.Empty);
 }
        public async Task <ActionResult> DeleteAppInstance(AppInstanceInfoModel model)
        {
            var validationMessage = await AppManagementValidationLogic.DeleteAppInstanceValidation(model, _dbContext);

            if (!string.IsNullOrEmpty(validationMessage))
            {
                return(StatusCode(400, validationMessage));
            }
            var appInstance = await _dbContext.AppInstances.FindAsync(model.Id);

            _dbContext.AppInstances.Remove(appInstance);
            await _dbContext.SaveChangesAsync();

            ((RequestLogModel)HttpContext.Items["RequestLog"]).AppInstanceId = appInstance.Id;
            return(Ok());
        }
示例#5
0
 public static async Task <string> DeleteAppInstanceValidation(AppInstanceInfoModel model, MetadataDbContext dbContext)
 {
     return(await Task.FromResult(string.Empty));
 }