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));
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
        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();
            }
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 public void AddZimmer(Zimmer z)
 {
     Zimmern.Add(z.ZimmerNr, z);
 }