public override bool IsAvailableCore() { this.TableName = Helpers.GetTableName(this.Class); if (this.TableName == null) { return(false); } IProjectFolder migrationsFolder = this.DataProvider.Project.GetSubFolders().FirstOrDefault(x => x.Name == "Migrations"); if (migrationsFolder == null) { return(false); } IList <IProjectFile> migrationFiles = migrationsFolder.GetSubFiles(); foreach (IProjectFile migrationFile in migrationFiles) { if (int.TryParse(migrationFile.Name.SubstringAfter("M").SubstringBefore("_"), out int migrationNumber)) { this.MigrationNumber = Math.Max(this.MigrationNumber, migrationNumber + 1); } } return(true); }
private static bool TryEnsureFileExists( RelativePath relativeFilePath, IProjectFolder projectFolder, IProjectFile sourceFile, IProjectModelTransactionCookie transaction, out IProjectFile file) { file = projectFolder.GetSubFiles(relativeFilePath.Name).FirstOrDefault(); if (file != null) { var message = $"The file '{relativeFilePath.FullPath}' already exists.{Environment.NewLine}" + "Do you want to overwrite it?"; return(MessageBox.ShowYesNo(message)); } file = ExecutionHelpers.CreateFile(relativeFilePath.Name, projectFolder, sourceFile, transaction); return(true); }