public static async void CopyProject(string szRemoteProject, string szLocalProject) { try { byte[] arr = await DownloadFileAsync(szServer + "?project=" + szRemoteProject + "&file=" + szRemoteProject + ".db"); File.WriteAllBytes(ProjectDbFile(szLocalProject), arr); // load the DB file ProjectSql tmpProject = new ProjectSql(szLocalProject); // get all images List <Bild> bilder = tmpProject.GetBilder(null, null); foreach (var bild in bilder) { string szImageName = bild.Name; string szFullImageName = tmpProject.GetImageFullName(szImageName); arr = await DownloadFileAsync(szServer + "?project=" + szRemoteProject + "&file=" + szImageName); File.WriteAllBytes(szFullImageName, arr); } } catch (Exception ex) { Logging.AddError("CopyProject: " + ex.ToString()); } }
public static void GetRemoteMetaData(string szProjectName, Action <string> log) { string szJson = ""; try { log("Daten werden vom Server geladen .."); Task.Run(async() => { szJson = await httpClient.GetStringAsync(szServer + "?project=" + szProjectName + "&file=" + szProjectName + ".db"); }).Wait(); var remoteMetaData = JsonConvert.DeserializeObject <MetaData>(szJson); ProjectSql tmpProject = new ProjectSql(szProjectName); log(remoteMetaData.gebaeudeListe.Count.ToString() + " Gebäude"); foreach (var gebaeude in remoteMetaData.gebaeudeListe) { tmpProject.sqlGebaeude.Ensure(gebaeude.Bezeichnung); } log(remoteMetaData.etageListe.Count.ToString() + " Etagen"); foreach (var etage in remoteMetaData.etageListe) { tmpProject.sqlEtage.Ensure(etage.Bezeichnung); } log(remoteMetaData.wohnungiste.Count.ToString() + " Wohnungen"); foreach (var wohnung in remoteMetaData.wohnungiste) { tmpProject.sqlWohnung.Ensure(wohnung.Bezeichnung); } log(remoteMetaData.zimmerListe.Count.ToString() + " Zimmer"); foreach (var zimmer in remoteMetaData.zimmerListe) { tmpProject.sqlZimmer.Ensure(zimmer.Bezeichnung); } } catch (Exception ex) { Logging.AddError("GetRemoteMetaData " + ex.ToString()); } }
public SqlZimmer(ProjectSql projectSql) { this.projectSql = projectSql; database = projectSql.database; }
public SqlEtage(ProjectSql projectSql) { this.projectSql = projectSql; database = projectSql.database; }
public SqlWohnung(ProjectSql projectSql) { this.projectSql = projectSql; database = projectSql.database; }
public SqlGebaeude(ProjectSql projectSql) { this.projectSql = projectSql; database = projectSql.database; }