private void buttonEditConf_EditRow(object sender, EventArgs e) { checkSelectedListViewItems(); string id = listViewConf.SelectedItems[0].SubItems[0].Text; if (string.IsNullOrEmpty(id)) { MessageBox.Show("Konfiguracja nie posiada identyfikatora"); return; } BackupConfigurationData backupConfigurationData = xmlSerializeManager.GetConfigurationById(id); if (backupConfigurationData != null) { Form2 form2 = new Form2(backupConfigurationData); form2.CompletedTask += Form2_AfterClosing; form2.Show(); } else { MessageBox.Show("Nie ma takiej konfiguracji"); return; } }
// zapisanie do pliku przesłanej konfiguracji public void SaveConfiguration(BackupConfigurationData backupConf, CallBackDel callBack) { BackupSettings settings; // jeżeli plik nie istnieje to jest tworzony i zapisywane są do niego dane if (!fileHasAnyData()) { try { using (var fs = new FileStream(xmlFilePath, FileMode.Open)) { settings = new BackupSettings(); backupConf.Id = randomIntGuid(); settings.ConfigurationList.Add(backupConf); xs.Serialize(fs, settings); } callBack(new CallBackModel { Success = true, Message = "Konfiguracja została zapisana !" }); } catch (Exception ex) { LogInfo.LogErrorWrite("Nie udało się zapisać konfiguracji backup'u do pustego pliku", ex); callBack(new CallBackModel { Success = false }); } } else // jeżeli plik istnieje to dane są 'dokładane' na koniec { try { using (var fs = new FileStream(xmlFilePath, FileMode.Open)) { settings = (BackupSettings)xs.Deserialize(fs); fs.SetLength(0); backupConf.Id = randomIntGuid(); settings.ConfigurationList.Add(backupConf); xs.Serialize(fs, settings); } callBack(new CallBackModel { Success = true, Message = "Konfiguracja została zapisana !" }); } catch (Exception ex) { LogInfo.LogErrorWrite("Nie udało się zapisać konfiguracji backup'u do pliku", ex); callBack(new CallBackModel { Success = false }); } } }
private void initFields(BackupConfigurationData backupConfigurationData) { loadComboboxList(); textBoxFileName.Text = backupConfigurationData.FileName; textBoxId.Text = backupConfigurationData.Id; comboBoxDatabaseName.SelectedIndex = comboBoxDatabaseName.FindStringExact(backupConfigurationData.DatabaseName); textBoxLocalDirectory.Text = backupConfigurationData.LocalDirectory; numericBoxBackupDays.Value = backupConfigurationData.BackupDays; checkBoxSendToFtp.Checked = backupConfigurationData.SendToFtp; textBoxFtpDirectory.Text = backupConfigurationData.SendToFtp ? backupConfigurationData.FtpDirectory : string.Empty; }
private BackupConfigurationData getFormData() { BackupConfigurationData model = new BackupConfigurationData() { FileName = textBoxFileName.Text, DatabaseName = (string)comboBoxDatabaseName.SelectedItem, LocalDirectory = textBoxLocalDirectory.Text, BackupDays = (int)numericBoxBackupDays.Value, SendToFtp = checkBoxSendToFtp.Checked, FtpDirectory = checkBoxSendToFtp.Checked ? textBoxFtpDirectory.Text : string.Empty }; return(model); }
private void buttonUtworzKopie_Click(object sender, EventArgs e) { checkSelectedListViewItems(); string id = listViewConf.SelectedItems[0].SubItems[0].Text; if (string.IsNullOrEmpty(id)) { MessageBox.Show("Konfiguracja nie posiada identyfikatora"); return; } BackupConfigurationData backupConfiguration = xmlSerializeManager.GetConfigurationById(id); togglePercentBar(true); smoManager.CreateBackup(backupConfiguration, backupPercentComplete, backupComplete); }
// zaaktualizowanie pliku konfiguracyjnego public void UpdateConfiguration(string id, BackupConfigurationData backupConf, CallBackDel callBack) { // pobranie danych z pliku .xml var backupSettings = this.ReadFromXmlFile(); if (backupSettings == null) { callBack(new CallBackModel { Success = false, Message = "Nie można odczytać pliku zawierającego konfigurację." }); } try { // znalezienie 'odpowiedniej' konfiguracji var dataConf = backupSettings.ConfigurationList.Where(d => d.Id == id).FirstOrDefault(); // zamiana danych na te przesłane z formularza i zapisanie pliku // z zaaktualizowaną konfiguracją using (var fs = new FileStream(xmlFilePath, FileMode.Open)) { dataConf.DatabaseName = backupConf.DatabaseName; dataConf.FileName = backupConf.FileName; dataConf.LocalDirectory = backupConf.LocalDirectory; dataConf.FtpDirectory = backupConf.FtpDirectory; dataConf.SendToFtp = backupConf.SendToFtp; dataConf.BackupDays = backupConf.BackupDays; if (backupConf.LastBackupDay != null) { dataConf.LastBackupDay = backupConf.LastBackupDay; } fs.SetLength(0); xs.Serialize(fs, backupSettings); } callBack(new CallBackModel { Success = true, Message = "Konfiguracja została zapisana." }); } catch (Exception ex) { LogInfo.LogErrorWrite($"Nie udało się zaaktualizować konfiguracji backup'u w pliku {xmlFilePath}", ex); callBack(new CallBackModel { Success = false }); } }
private void buttonSaveConfiguration_Click(object sender, EventArgs e) { if (errorFields().Any()) { string errorsToDisplay = string.Join(Environment.NewLine, errorFields()); MessageBox.Show(errorsToDisplay); return; } BackupConfigurationData data = getFormData(); if (string.IsNullOrEmpty(textBoxId.Text)) { xmlSerialize.SaveConfiguration(data, callBackDel); } else { xmlSerialize.UpdateConfiguration(textBoxId.Text, data, callBackDel); } }
public void CreateBackup(BackupConfigurationData configurationData, PercentCompleteEventHandler backup_PercentComplete = null, ServerMessageEventHandler backup_Complete = null, ServerMessageEventHandler backup_Information = null) { Backup backup = new Backup(); backup.Action = BackupActionType.Database; backup.Database = configurationData.DatabaseName; string backupFileFullPath = getBackupFileFullPath(configurationData.FileName, configurationData.LocalDirectory); backup.Incremental = backupIncremental(configurationData.Id, backupFileFullPath); backup.Devices.AddDevice(backupFileFullPath, DeviceType.File); backup.Initialize = false; try { backup.PercentCompleteNotification = 5; if (backup_PercentComplete != null) { backup.PercentComplete += new PercentCompleteEventHandler(backup_PercentComplete); } if (backup_Complete != null) { backup.Complete += new ServerMessageEventHandler(backup_Complete); } if (backup_Information != null) { backup.Information += new ServerMessageEventHandler(backup_Information); } backup.SqlBackupAsync(server); } catch (Exception ex) { LogInfo.LogErrorWrite($"Nie można utworzyć backapu bazy danych {configurationData.DatabaseName}", ex); } }
public Form2(BackupConfigurationData backupConfigurationData) : this() { initFields(backupConfigurationData); }