private static async Task<bool> CreateFile(ServicesCeltaWare.Model.Enum.ValidateType _validateType, string backupName, string _fileNameFullScript, ModelBackupSchedule _backupSchedule) { string scriptBackup = null; if (_validateType == ServicesCeltaWare.Model.Enum.ValidateType.LabelOnly) { scriptBackup = $"Restore LabelOnly from Disk = \'/var/opt/mssql/{_backupSchedule.Directory}/{backupName}\'"; } else if (_validateType == ServicesCeltaWare.Model.Enum.ValidateType.VerifyOnly) { scriptBackup = $"Restore VerifyOnly from Disk = \'/var/opt/mssql/{_backupSchedule.Directory}/{backupName}\'"; } if (await SystemFileHelps.FileExist(_fileNameFullScript)) { return true; } else { await SystemFileHelps.CreateFile(_fileNameFullScript, scriptBackup, false); return false; } }
public async static Task<string> GenerateScriptValidate(ModelBackupSchedule _databaseSchedule, ServicesCeltaWare.Model.Enum.ValidateType _validateType) { try { string ScriptFileNameFull = ReturnScriptName(_databaseSchedule, true); string backupName = ReturnBackupName(_databaseSchedule); string commandValidate = $"docker exec -i {_databaseSchedule.Databases.ConteinerName} /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P {_databaseSchedule.CustomerProduct.LoginPassword} -i /var/opt/mssql/{_databaseSchedule.Directory}/Validate{_databaseSchedule.Databases.DatabaseName + _databaseSchedule.DateHourExecution.ToShortTimeString()}.sql"; bool res = await CreateFile(_validateType, backupName, ScriptFileNameFull, _databaseSchedule); while (!res) { res = await CreateFile(_validateType, backupName, ScriptFileNameFull, _databaseSchedule); } return commandValidate; } catch (Exception err) { return "Error: " + err.Message; } }