Post request erstellt für das Hinzufügen
This commit is contained in:
parent
9626339098
commit
599384c2b1
|
@ -39,5 +39,16 @@ namespace Aps_Single_Page_Anwendung.Controllers
|
||||||
}
|
}
|
||||||
return Ok(sepeise);
|
return Ok(sepeise);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public IActionResult Post([FromBody] Speise speise)
|
||||||
|
{
|
||||||
|
if(!ModelState.IsValid)
|
||||||
|
{
|
||||||
|
return BadRequest(ModelState); // Alle Felder müssen ausgefüllt werden, stonst Statuscode 400
|
||||||
|
}
|
||||||
|
var result = _repository.CreateSpeise(speise);
|
||||||
|
return CreatedAtAction("Get",new { id = result.Id },result); //Name der Action (Get), gibt Statuscode 201 zurück
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
namespace Aps_Single_Page_Anwendung.Models
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Aps_Single_Page_Anwendung.Models
|
||||||
{
|
{
|
||||||
public class Speise
|
public class Speise
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
[Required] // Leere Felder sind damit nicht möglich
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string Beschreibung { get; set; }
|
public string Beschreibung { get; set; }
|
||||||
public double Preis { get; set; }
|
public double Preis { get; set; }
|
||||||
|
|
|
@ -20,7 +20,26 @@ namespace Aps_Single_Page_Anwendung.Repositories
|
||||||
// Implementierung der Methoden vom Interfave ISpeisenRepository
|
// Implementierung der Methoden vom Interfave ISpeisenRepository
|
||||||
public Speise CreateSpeise(Speise speise)
|
public Speise CreateSpeise(Speise speise)
|
||||||
{
|
{
|
||||||
throw new System.NotImplementedException();
|
var speisen = GetSpeisen()?.ToList() ?? new List<Speise>();
|
||||||
|
|
||||||
|
if(speisen.Count == 0)
|
||||||
|
{
|
||||||
|
speise.Id = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
speise.Id = speisen.Max(speise_ => speise_.Id) + 1; // Id Auto increment
|
||||||
|
}
|
||||||
|
|
||||||
|
speisen.Add(speise);
|
||||||
|
|
||||||
|
var options = new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
WriteIndented = true // Zeilenumbrüche
|
||||||
|
};
|
||||||
|
var json = JsonSerializer.Serialize(speisen, options);
|
||||||
|
File.WriteAllText(_path, json); // schreibt ins File
|
||||||
|
return speise;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DeleteSpeise(int id)
|
public void DeleteSpeise(int id)
|
||||||
|
@ -28,10 +47,10 @@ namespace Aps_Single_Page_Anwendung.Repositories
|
||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Speise GetSpeiseById(int id)
|
public Speise GetSpeiseById(int id)
|
||||||
{
|
{
|
||||||
return GetSpeisen()?.SingleOrDefault(
|
return GetSpeisen()?.SingleOrDefault(speise => speise.Id == id); // Einzelner Datensatz und davon die id
|
||||||
x => x.Id == id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<Speise> GetSpeisen()
|
public IEnumerable<Speise> GetSpeisen()
|
||||||
|
|
|
@ -1,159 +1,186 @@
|
||||||
[{
|
[
|
||||||
"id": 1,
|
{
|
||||||
"name": "Gemischter Salat",
|
"Id": 1,
|
||||||
"beschreibung": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, Käse, Zwiebeln",
|
"Name": "Gemischter Salat",
|
||||||
"preis": 3.49,
|
"Beschreibung": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, K\u00E4se, Zwiebeln",
|
||||||
"kategorieid": 1
|
"Preis": 3.49,
|
||||||
|
"KategorieId": 1,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 2,
|
"Id": 2,
|
||||||
"name": "Salat Diabolo",
|
"Name": "Salat Diabolo",
|
||||||
"beschreibung": "Gemischter Salat mit Chillis, Paprika, Radieschen und Zwiebeln (scharf!)",
|
"Beschreibung": "Gemischter Salat mit Chillis, Paprika, Radieschen und Zwiebeln (scharf!)",
|
||||||
"preis": 3.99,
|
"Preis": 3.99,
|
||||||
"kategorieid": 1
|
"KategorieId": 1,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 3,
|
"Id": 3,
|
||||||
"name": "Rote Suppe",
|
"Name": "Rote Suppe",
|
||||||
"beschreibung": "Tomatensuppe",
|
"Beschreibung": "Tomatensuppe",
|
||||||
"preis": 3.29,
|
"Preis": 3.29,
|
||||||
"kategorieid": 2
|
"KategorieId": 2,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 4,
|
"Id": 4,
|
||||||
"name": "Grüne Suppe",
|
"Name": "Gr\u00FCne Suppe",
|
||||||
"beschreibung": "Gemüsecremesuppe",
|
"Beschreibung": "Gem\u00FCsecremesuppe",
|
||||||
"preis": 4.39,
|
"Preis": 4.39,
|
||||||
"kategorieid": 2
|
"KategorieId": 2,
|
||||||
},
|
"Kategorie": null
|
||||||
|
|
||||||
{
|
|
||||||
"id": 5,
|
|
||||||
"name": "Tortilla de patatas",
|
|
||||||
"beschreibung": "Spanisches Omlett aus Eiern und Kartoffeln",
|
|
||||||
"preis": 4.99,
|
|
||||||
"kategorieid": 3
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 6,
|
"Id": 5,
|
||||||
"name": "Patatas bravas",
|
"Name": "Tortilla de patatas",
|
||||||
"beschreibung": "Gebratene Kartoffelstücke in pikanter Sauce",
|
"Beschreibung": "Spanisches Omlett aus Eiern und Kartoffeln",
|
||||||
"preis": 3.99,
|
"Preis": 4.99,
|
||||||
"kategorieid": 3
|
"KategorieId": 3,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 7,
|
"Id": 6,
|
||||||
"name": "Pimientos al grill",
|
"Name": "Patatas bravas",
|
||||||
"beschreibung": "Gegrillte Paprika",
|
"Beschreibung": "Gebratene Kartoffelst\u00FCcke in pikanter Sauce",
|
||||||
"preis": 2.99,
|
"Preis": 3.99,
|
||||||
"kategorieid": 3
|
"KategorieId": 3,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 8,
|
"Id": 7,
|
||||||
"name": "Pan con alioli",
|
"Name": "Pimientos al grill",
|
||||||
"beschreibung": "Ailoli mit Brot",
|
"Beschreibung": "Gegrillte Paprika",
|
||||||
"preis": 2.29,
|
"Preis": 2.99,
|
||||||
"kategorieid": 3
|
"KategorieId": 3,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 9,
|
"Id": 8,
|
||||||
"name": "Pan con tomate y ajo",
|
"Name": "Pan con alioli",
|
||||||
"beschreibung": "Brot mit Tomate und Knoblauch",
|
"Beschreibung": "Ailoli mit Brot",
|
||||||
"preis": 2.29,
|
"Preis": 2.29,
|
||||||
"kategorieid": 3
|
"KategorieId": 3,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10,
|
"Id": 9,
|
||||||
"name": "Tortilla Chips",
|
"Name": "Pan con tomate y ajo",
|
||||||
"beschreibung": "Tortilla Chips mit Salsa Dip, Guacamole oder Alioli",
|
"Beschreibung": "Brot mit Tomate und Knoblauch",
|
||||||
"preis": 1.29,
|
"Preis": 2.29,
|
||||||
"kategorieid": 3
|
"KategorieId": 3,
|
||||||
},
|
"Kategorie": null
|
||||||
|
|
||||||
{
|
|
||||||
"id": 11,
|
|
||||||
"name": "Chilli sin carne",
|
|
||||||
"beschreibung": "Vegetarisches Chilli, serviert mit Reis",
|
|
||||||
"preis": 5.39,
|
|
||||||
"kategorieid": 4
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12,
|
"Id": 10,
|
||||||
"name": "Enchiladas de verduras",
|
"Name": "Tortilla Chips",
|
||||||
"beschreibung": "Überbackene Maistortillas gefüllt mit Gemüse",
|
"Beschreibung": "Tortilla Chips mit Salsa Dip, Guacamole oder Alioli",
|
||||||
"preis": 4.99,
|
"Preis": 1.29,
|
||||||
"kategorieid": 4
|
"KategorieId": 3,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 13,
|
"Id": 11,
|
||||||
"name": "Burritos de verduras",
|
"Name": "Chilli sin carne",
|
||||||
"beschreibung": "Weizentortillas gefüllt mit Gemüse",
|
"Beschreibung": "Vegetarisches Chilli, serviert mit Reis",
|
||||||
"preis": 4.99,
|
"Preis": 5.39,
|
||||||
"kategorieid": 4
|
"KategorieId": 4,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 14,
|
"Id": 12,
|
||||||
"name": "Arroz con verduras",
|
"Name": "Enchiladas de verduras",
|
||||||
"beschreibung": "Reis-/Gemüsepfanne",
|
"Beschreibung": "\u00DCberbackene Maistortillas gef\u00FCllt mit Gem\u00FCse",
|
||||||
"preis": 4.49,
|
"Preis": 4.99,
|
||||||
"kategorieid": 4
|
"KategorieId": 4,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 15,
|
"Id": 13,
|
||||||
"name": "Empanadas de espinacas y maíz",
|
"Name": "Burritos de verduras",
|
||||||
"beschreibung": "Teigtaschen gefüllt mit Spinat und Mais",
|
"Beschreibung": "Weizentortillas gef\u00FCllt mit Gem\u00FCse",
|
||||||
"preis": 4.49,
|
"Preis": 4.99,
|
||||||
"kategorieid": 4
|
"KategorieId": 4,
|
||||||
},
|
"Kategorie": null
|
||||||
|
|
||||||
{
|
|
||||||
"id": 16,
|
|
||||||
"name": "Crema Catalana",
|
|
||||||
"beschreibung": "Katalanische Creme",
|
|
||||||
"preis": 2.49,
|
|
||||||
"kategorieid": 5
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 17,
|
"Id": 14,
|
||||||
"name": "Ensalada de frutas",
|
"Name": "Arroz con verduras",
|
||||||
"beschreibung": "Obstsalat mit frischen Früchten",
|
"Beschreibung": "Reis-/Gem\u00FCsepfanne",
|
||||||
"preis": 2.99,
|
"Preis": 4.49,
|
||||||
"kategorieid": 5
|
"KategorieId": 4,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 18,
|
"Id": 15,
|
||||||
"name": "Churros",
|
"Name": "Empanadas de espinacas y ma\u00EDz",
|
||||||
"beschreibung": "Spritzgebäck mit Zucker",
|
"Beschreibung": "Teigtaschen gef\u00FCllt mit Spinat und Mais",
|
||||||
"preis": 1.99,
|
"Preis": 4.49,
|
||||||
"kategorieid": 5
|
"KategorieId": 4,
|
||||||
},
|
"Kategorie": null
|
||||||
|
|
||||||
{
|
|
||||||
"id": 19,
|
|
||||||
"name": "Agua mineral",
|
|
||||||
"beschreibung": "Mineralwasser",
|
|
||||||
"preis": 1.59,
|
|
||||||
"kategorieid": 6
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 20,
|
"Id": 16,
|
||||||
"name": "Zumo de manzana",
|
"Name": "Crema Catalana",
|
||||||
"beschreibung": "Apfelsaft",
|
"Beschreibung": "Katalanische Creme",
|
||||||
"preis": 1.59,
|
"Preis": 2.49,
|
||||||
"kategorieid": 6
|
"KategorieId": 5,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 21,
|
"Id": 17,
|
||||||
"name": "Limonada",
|
"Name": "Ensalada de frutas",
|
||||||
"beschreibung": "Zitronenlimonade",
|
"Beschreibung": "Obstsalat mit frischen Fr\u00FCchten",
|
||||||
"preis": 1.59,
|
"Preis": 2.99,
|
||||||
"kategorieid": 6
|
"KategorieId": 5,
|
||||||
|
"Kategorie": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 22,
|
"Id": 18,
|
||||||
"name": "Café",
|
"Name": "Churros",
|
||||||
"beschreibung": "Kaffee",
|
"Beschreibung": "Spritzgeb\u00E4ck mit Zucker",
|
||||||
"preis": 1.59,
|
"Preis": 1.99,
|
||||||
"kategorieid": 6
|
"KategorieId": 5,
|
||||||
|
"Kategorie": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 19,
|
||||||
|
"Name": "Agua mineral",
|
||||||
|
"Beschreibung": "Mineralwasser",
|
||||||
|
"Preis": 1.59,
|
||||||
|
"KategorieId": 6,
|
||||||
|
"Kategorie": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 20,
|
||||||
|
"Name": "Zumo de manzana",
|
||||||
|
"Beschreibung": "Apfelsaft",
|
||||||
|
"Preis": 1.59,
|
||||||
|
"KategorieId": 6,
|
||||||
|
"Kategorie": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 21,
|
||||||
|
"Name": "Limonada",
|
||||||
|
"Beschreibung": "Zitronenlimonade",
|
||||||
|
"Preis": 1.59,
|
||||||
|
"KategorieId": 6,
|
||||||
|
"Kategorie": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 22,
|
||||||
|
"Name": "Caf\u00E9",
|
||||||
|
"Beschreibung": "Kaffee",
|
||||||
|
"Preis": 1.59,
|
||||||
|
"KategorieId": 6,
|
||||||
|
"Kategorie": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 23,
|
||||||
|
"Name": "Gemischter Salato",
|
||||||
|
"Beschreibung": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, K\u00E4se, Zwiebeln, Orange",
|
||||||
|
"Preis": 9.49,
|
||||||
|
"KategorieId": 1,
|
||||||
|
"Kategorie": null
|
||||||
}
|
}
|
||||||
]
|
]
|
Loading…
Reference in New Issue
Block a user