private void BtnDelete_Clicked(object sender, EventArgs e) { if (bIsRemote) { } else { string szProjectName = (sender as Button).CommandParameter.ToString(); Overlay overlay = new Overlay(grdOverlay); overlay.ShowQuestion("Soll das Projekt " + szProjectName + " gelöscht werden?", () => { ProjectSql tmpProject = new ProjectSql(szProjectName); if(tmpProject.GetBilderChanged().Count > 0 ) { overlay.ShowQuestion("Das Projekt " + szProjectName + " wurde nicht nicht gesichert." + Environment.NewLine +"Soll es trotzdem gelöscht werden?", () => { DeleteProject(false,szProjectName); }); } else { DeleteProject(false,szProjectName); } }); } }
// private void DownloadProject private async Task SendProjectAsync(string szProjectName, Action<Boolean, Boolean, string> cb) { if (projects.Any(proj => { return proj.Equals(szProjectName); })) { // ToDo: open the overlay with the server settings // here we expect the current settings to be correct. cb(false, false, "sende Projekt " + szProjectName); ProjectSql tmpProject = new ProjectSql(szProjectName); List<Bild> bilder = tmpProject.GetBilderChanged(); Boolean bError = false; // send all changed images cb(false, false, "sende " + bilder.Count.ToString() + " Bilder"); foreach (var bild in bilder) { cb(false, false, "sende " + bild.Name); bError = ! await ProjectUtil.SendFileAsync(szProjectName, Path.GetFileName(bild.Name)); if( bError) { break; } } if (!bError) { // send all changed data foreach (var bild in bilder) { cb(false, false, "sende geänderte Daten für " + bild.Name); BildInfo bi = tmpProject.GetBildInfo(bild.Name, DateTime.Now); string szJson = Newtonsoft.Json.JsonConvert.SerializeObject(bi); if (await ProjectUtil.SendJsonAsync(szProjectName, szJson)) { tmpProject.ClearStatus(bild.ID, STATUS.CHANGED); } } } string szMessage = ""; if( bError) { szMessage = "Es gab einen internen Fehler."; } cb(true, bError, szMessage); } }