public async Task <IHttpActionResult> PutZimmer(int id, Zimmer zimmer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != zimmer.Id) { return(BadRequest()); } db.Entry(zimmer).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ZimmerExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> GetZimmer(int id) { Zimmer zimmer = await db.Zimmer.FindAsync(id); if (zimmer == null) { return(NotFound()); } return(Ok(zimmer)); }
public async Task <IHttpActionResult> PostZimmer(Zimmer zimmer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Zimmer.Add(zimmer); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = zimmer.Id }, zimmer)); }
public async Task <IHttpActionResult> DeleteZimmer(int id) { Zimmer zimmer = await db.Zimmer.FindAsync(id); if (zimmer == null) { return(NotFound()); } db.Zimmer.Remove(zimmer); await db.SaveChangesAsync(); return(Ok(zimmer)); }
private void ShowMetadata() { Overlay overlay = new Overlay(grdOverlay); // if (lstPicker == null) { BildInfo bi = curProjectSql.GetBildInfo(szImageName, DateTime.Now); if (lastBi != null) { if (!bi.bBildIdFound) { bi.GebaeudeId = lastBi.GebaeudeId; bi.EtageId = lastBi.EtageId; bi.WohnungId = lastBi.WohnungId; bi.ZimmerId = lastBi.ZimmerId; } } List <Gebaeude> gebaeudeListe = curProjectSql.sqlGebaeude.GetListe(); overlay.Reset(); grdOverlay.Children.Clear(); Picker pGebaeude = overlay.AddPicker(overlay.iRow.ToString(), "Gebäude", ID_GEBAEUDE, true, (picker, szEntry) => { Gebaeude newGebaeude = curProjectSql.sqlGebaeude.Ensure(szEntry) as Gebaeude; if (!gebaeudeListe.Any(g => g.ID == newGebaeude.ID)) { gebaeudeListe.Add(newGebaeude); picker.ItemsSource = null; picker.ItemsSource = gebaeudeListe.OrderBy(o => o.Bezeichnung).ToList(); picker.SelectedItem = newGebaeude; } }); pGebaeude.ItemsSource = gebaeudeListe.OrderBy(o => o.Bezeichnung).ToList(); pGebaeude.ItemDisplayBinding = new Binding("Bezeichnung"); pGebaeude.SelectedItem = gebaeudeListe.Find(x => x.ID == bi.GebaeudeId); List <Etage> etageListe = curProjectSql.sqlEtage.GetListe(); Picker pEtage = overlay.AddPicker(overlay.iRow.ToString(), "Etage", ID_ETAGE, true, (picker, szEntry) => { Etage newEtage = curProjectSql.sqlEtage.Ensure(szEntry) as Etage; if (!etageListe.Any(g => g.ID == newEtage.ID)) { etageListe.Add(newEtage); picker.ItemsSource = null; picker.ItemsSource = etageListe.OrderBy(o => o.Bezeichnung).ToList(); picker.SelectedItem = newEtage; } }); pEtage.ItemsSource = etageListe.OrderBy(o => o.Bezeichnung).ToList(); pEtage.ItemDisplayBinding = new Binding("Bezeichnung"); pEtage.SelectedItem = etageListe.Find(x => x.ID == bi.EtageId); List <Wohnung> wohnungListe = curProjectSql.sqlWohnung.GetListe(); Picker pWohnung = overlay.AddPicker(overlay.iRow.ToString(), "Wohnung", ID_WOHNUNG, true, (picker, szEntry) => { Wohnung newWohnung = curProjectSql.sqlWohnung.Ensure(szEntry) as Wohnung; if (!wohnungListe.Any(g => g.ID == newWohnung.ID)) { wohnungListe.Add(newWohnung); picker.ItemsSource = null; picker.ItemsSource = wohnungListe.OrderBy(o => o.Bezeichnung).ToList();; picker.SelectedItem = newWohnung; } }); pWohnung.ItemsSource = wohnungListe.OrderBy(o => o.Bezeichnung).ToList();; pWohnung.ItemDisplayBinding = new Binding("Bezeichnung"); pWohnung.SelectedItem = wohnungListe.Find(x => x.ID == bi.WohnungId); List <Zimmer> zimmerListe = curProjectSql.sqlZimmer.GetListe(); Picker pZimmer = overlay.AddPicker(overlay.iRow.ToString(), "Zimmer", ID_ZIMMER, true, (picker, szEntry) => { Zimmer newZimmer = curProjectSql.sqlZimmer.Ensure(szEntry) as Zimmer; if (!zimmerListe.Any(g => g.ID == newZimmer.ID)) { zimmerListe.Add(newZimmer); picker.ItemsSource = null; picker.ItemsSource = zimmerListe.OrderBy(o => o.Bezeichnung).ToList();; picker.SelectedItem = newZimmer; } }); pZimmer.ItemsSource = zimmerListe.OrderBy(o => o.Bezeichnung).ToList();; pZimmer.ItemDisplayBinding = new Binding("Bezeichnung"); pZimmer.SelectedItem = zimmerListe.Find(x => x.ID == bi.ZimmerId); kommentarEntry = overlay.AddInput("", "", bi.KommentarBezeichnung, "COMMENT"); var submitButton = overlay.AddButton("speichern"); submitButton.Clicked += (senderx, e2) => { var selGebaeude = pGebaeude.SelectedItem as Gebaeude; var selEtage = pEtage.SelectedItem as Etage; var selWohnung = pWohnung.SelectedItem as Wohnung; var selZimmer = pZimmer.SelectedItem as Zimmer; foreach (var child in grdOverlay.Children) { Entry entry = child as Entry; if (entry != null && entry.IsVisible) { if (entry.StyleId.Equals(ID_GEBAEUDE) && selGebaeude == null) { ((IEntryController)entry).SendCompleted(); selGebaeude = pGebaeude.SelectedItem as Gebaeude; } else if (entry.StyleId.Equals(ID_ETAGE) && selEtage == null) { ((IEntryController)entry).SendCompleted(); selEtage = pEtage.SelectedItem as Etage; } else if (entry.StyleId.Equals(ID_WOHNUNG) && selWohnung == null) { ((IEntryController)entry).SendCompleted(); selWohnung = pWohnung.SelectedItem as Wohnung; } else if (entry.StyleId.Equals(ID_ZIMMER) && selZimmer == null) { ((IEntryController)entry).SendCompleted(); selZimmer = pZimmer.SelectedItem as Zimmer; } } } curProjectSql.sqlGebaeude.Set(bi.BildId, selGebaeude != null ? selGebaeude.ID : -1); curProjectSql.sqlEtage.Set(bi.BildId, selEtage != null ? selEtage.ID : -1); curProjectSql.sqlWohnung.Set(bi.BildId, selWohnung != null ? selWohnung.ID : -1); curProjectSql.sqlZimmer.Set(bi.BildId, selZimmer != null ? selZimmer.ID : -1); curProjectSql.SetComment(szImageName, kommentarEntry.Text); lastBi = curProjectSql.GetBildInfo(szImageName, DateTime.Now); overlay.Close(); }; overlay.AddCancelX(); } overlay.Show(); }
private void BtnSave_Click(object sender, RoutedEventArgs e) { if (bmk != null) { if (bmk.BildInfo == null) { bmk.BildInfo = new BildInfo(); } Gebaeude gebaeude = cmbGebaeude.SelectedItem as Gebaeude; if (gebaeude != null) { bmk.BildInfo.GebaeudeId = gebaeude.ID; bmk.BildInfo.GebaeudeBezeichnung = gebaeude.Bezeichnung; } Etage etage = cmbEtage.SelectedItem as Etage; if (etage != null) { bmk.BildInfo.EtageId = etage.ID; bmk.BildInfo.EtageBezeichnung = etage.Bezeichnung; } Wohnung wohnung = cmbWohnung.SelectedItem as Wohnung; if (wohnung != null) { bmk.BildInfo.WohnungId = wohnung.ID; bmk.BildInfo.WohnungBezeichnung = wohnung.Bezeichnung; } Zimmer zimmer = cmbZimmer.SelectedItem as Zimmer; if (zimmer != null) { bmk.BildInfo.ZimmerId = zimmer.ID; bmk.BildInfo.ZimmerBezeichnung = zimmer.Bezeichnung; } bmk.BildInfo.KommentarBezeichnung = tbKommentar.Text; if (newImage) { //TODO: Auch Timepicker für neues Bild? Aktuell nur DatePicker. if (dpCaptureDate.SelectedDate == null) { MessageBoxResult MbResult = MessageBox.Show("Es wurde kein Aufnahmedatum eingetragen. Wenn kein Datum eingetragen wird, wird das aktuelle Datum verwendet.\n Möchten sie ein Datum eintragen?", " Kein Aufnahmedatum eingetragen", MessageBoxButton.YesNo); if (MbResult == MessageBoxResult.Yes) { return; } } bmk.BildInfo.CaptureDate = dpCaptureDate.SelectedDate ?? DateTime.Now; } else { TimeSpan time = bmk.BildInfo.CaptureDate.TimeOfDay; DateTime date = dpCaptureDate.SelectedDate ?? DateTime.Now; bmk.BildInfo.CaptureDate = date.Add(time); } clicked = true; this.Close(); } }
public wsResponse SendResponse(HttpListenerRequest request) { Dictionary <string, string> postParams = new Dictionary <string, string>(); wsResponse swRes = new wsResponse(); string szProjectname = ""; string szFilename = ""; string szHasJson = ""; if (request.QueryString["project"] != null) { szProjectname = request.QueryString["project"].ToString(); } if (request.QueryString["file"] != null) { szFilename = request.QueryString["file"].ToString(); } if (request.QueryString["json"] != null) { szHasJson = request.QueryString["json"].ToString(); } swRes.ba = Encoding.UTF8.GetBytes("{}"); if (request.HttpMethod.Equals("POST", StringComparison.InvariantCultureIgnoreCase)) { if (string.IsNullOrEmpty(szProjectname)) { JsonError je = new JsonError { szMessage = "POST requires a project " }; ShowError(je.szMessage); string szJson = Newtonsoft.Json.JsonConvert.SerializeObject(je); swRes.ba = Encoding.UTF8.GetBytes(szJson); swRes.szMinetype = "text/json"; } else if (string.IsNullOrEmpty(szHasJson) && string.IsNullOrEmpty(szFilename)) { JsonError je = new JsonError { szMessage = "POST requires both project and file " }; ShowError(je.szMessage); string szJson = Newtonsoft.Json.JsonConvert.SerializeObject(je); swRes.ba = Encoding.UTF8.GetBytes(szJson); swRes.szMinetype = "text/json"; } else if (!string.IsNullOrEmpty(szHasJson)) { string szJson = ""; System.Text.Encoding encoding = request.ContentEncoding; using (StreamReader sr = new StreamReader(request.InputStream, encoding)) { szJson = sr.ReadToEnd(); } request.InputStream.Close(); try { BildInfo bi = Newtonsoft.Json.JsonConvert.DeserializeObject <BildInfo>(szJson); if (bi.CaptureDate == null) { bi.CaptureDate = DateTime.Now; } ProjectSql tmpProject = new ProjectSql(szProjectname, Config.current.szDbSuffix); var biResult = tmpProject.GetBildId(bi.BildName, bi.CaptureDate); tmpProject.SetCaptureDate(biResult.BildId, bi.CaptureDate); Gebaeude gebauede = tmpProject.sqlGebaeude.Ensure(bi.GebaeudeBezeichnung) as Gebaeude; Etage etage = tmpProject.sqlEtage.Ensure(bi.EtageBezeichnung) as Etage; Wohnung wohnung = tmpProject.sqlWohnung.Ensure(bi.WohnungBezeichnung) as Wohnung; Zimmer zimmer = tmpProject.sqlZimmer.Ensure(bi.ZimmerBezeichnung) as Zimmer; if (gebauede != null) { tmpProject.sqlGebaeude.Set(biResult.BildId, gebauede.ID); } if (etage != null) { tmpProject.sqlEtage.Set(biResult.BildId, etage.ID); } if (wohnung != null) { tmpProject.sqlWohnung.Set(biResult.BildId, wohnung.ID); } if (zimmer != null) { tmpProject.sqlZimmer.Set(biResult.BildId, zimmer.ID); } tmpProject.SetComment(biResult.BildId, bi.KommentarBezeichnung); } catch (Exception ex) { JsonError je = new JsonError { szMessage = "POST " + ex.ToString() }; ShowError(je.szMessage); string szErrJson = Newtonsoft.Json.JsonConvert.SerializeObject(je); swRes.ba = Encoding.UTF8.GetBytes(szErrJson); swRes.szMinetype = "text/json"; } } else { try { string szFullPath = System.IO.Path.Combine(XCamera.Util.Config.current.szBasedir, szProjectname, Config.current.szPicSuffix); if (!Directory.Exists(szFullPath)) { Directory.CreateDirectory(szFullPath); } string szFullFilename = System.IO.Path.Combine(szFullPath, szFilename); ShowInfo("recieving " + szFullFilename); using (FileStream fs = new FileStream(szFullFilename, FileMode.Create, FileAccess.Write)) { request.InputStream.CopyTo(fs); } request.InputStream.Close(); ProjectSql tmpProject = new ProjectSql(szProjectname, Config.current.szDbSuffix); tmpProject.AddBild(szFilename); } catch (Exception ex) { JsonError je = new JsonError { szMessage = "POST " + ex.ToString() }; ShowError(je.szMessage); string szJson = Newtonsoft.Json.JsonConvert.SerializeObject(je); swRes.ba = Encoding.UTF8.GetBytes(szJson); swRes.szMinetype = "text/json"; } } } else { if (string.IsNullOrEmpty(szProjectname)) { ShowInfo("sending project list"); string[] szProjects = Directory.GetDirectories(XCamera.Util.Config.current.szBasedir, "*.", SearchOption.TopDirectoryOnly); List <JsonProject> jProjects = new List <JsonProject>(); foreach (var szProject in szProjects) { jProjects.Add(new JsonProject { szProjectName = System.IO.Path.GetFileNameWithoutExtension(szProject), lSize = GetDirectorySize(0, System.IO.Path.Combine(XCamera.Util.Config.current.szBasedir, szProject)) }); } string szJson = Newtonsoft.Json.JsonConvert.SerializeObject(jProjects); swRes.ba = Encoding.UTF8.GetBytes(szJson); swRes.szMinetype = "text/json"; } else if (!string.IsNullOrWhiteSpace(szFilename)) { string szFullFilename = System.IO.Path.Combine(XCamera.Util.Config.current.szBasedir, szProjectname, szFilename); ShowInfo("sending " + szFullFilename); if (File.Exists(szFullFilename)) { if (System.IO.Path.GetExtension(szFullFilename).Equals(".jpg", StringComparison.InvariantCultureIgnoreCase)) { swRes.ba = System.IO.File.ReadAllBytes(szFullFilename); swRes.szMinetype = "image/jpeg"; } else { // swRes.szMinetype = "Application/x-sqlite3"; ProjectSql tmpProject = new ProjectSql(szProjectname); var metaData = tmpProject.GetMetaData(); string szJson = Newtonsoft.Json.JsonConvert.SerializeObject(metaData); swRes.ba = Encoding.UTF8.GetBytes(szJson); swRes.szMinetype = "text/json"; } } else { JsonError je = new JsonError { szMessage = "File not found " + szFullFilename }; ShowError(je.szMessage); string szJson = Newtonsoft.Json.JsonConvert.SerializeObject(je); swRes.ba = Encoding.UTF8.GetBytes(szJson); swRes.szMinetype = "text/json"; } } else if (!string.IsNullOrEmpty(szProjectname)) { ShowInfo("sending project info " + szProjectname); List <JsonProject> jProjects = new List <JsonProject>(); jProjects.Add(new JsonProject { szProjectName = System.IO.Path.GetFileNameWithoutExtension(szProjectname), lSize = GetDirectorySize(0, System.IO.Path.Combine(XCamera.Util.Config.current.szBasedir, szProjectname)) }); string szJson = Newtonsoft.Json.JsonConvert.SerializeObject(jProjects); swRes.ba = Encoding.UTF8.GetBytes(szJson); swRes.szMinetype = "text/json"; } } return(swRes); }
public void AddZimmer(Zimmer z) { Zimmern.Add(z.ZimmerNr, z); }