Update Fuktion wurde eingefügt
[HttpPut] Funktion erstellt um ins Json zu schreiben
This commit is contained in:
parent
599384c2b1
commit
0faead3a34
|
@ -40,6 +40,7 @@ namespace Aps_Single_Page_Anwendung.Controllers
|
||||||
return Ok(sepeise);
|
return Ok(sepeise);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Zum Hinzufügen von Daten
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public IActionResult Post([FromBody] Speise speise)
|
public IActionResult Post([FromBody] Speise speise)
|
||||||
{
|
{
|
||||||
|
@ -50,5 +51,29 @@ namespace Aps_Single_Page_Anwendung.Controllers
|
||||||
var result = _repository.CreateSpeise(speise);
|
var result = _repository.CreateSpeise(speise);
|
||||||
return CreatedAtAction("Get",new { id = result.Id },result); //Name der Action (Get), gibt Statuscode 201 zurück
|
return CreatedAtAction("Get",new { id = result.Id },result); //Name der Action (Get), gibt Statuscode 201 zurück
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPut("{id}")]
|
||||||
|
// Zum ändern der Daten
|
||||||
|
public IActionResult Put(int id, [FromBody] Speise speise)
|
||||||
|
{
|
||||||
|
if (id != speise.Id)
|
||||||
|
{
|
||||||
|
return BadRequest();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ModelState.IsValid)
|
||||||
|
{
|
||||||
|
return BadRequest(ModelState);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_repository.GetSpeiseById(id) == null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
var result = _repository.UpdateSpeise(speise);
|
||||||
|
return Ok(result);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,10 +5,14 @@ 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
|
[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; }
|
||||||
|
|
||||||
|
[Range(0,25)] // Preis darf nur zwischen 0 und 25 Euro sein
|
||||||
public double Preis { get; set; }
|
public double Preis { get; set; }
|
||||||
|
|
||||||
public int KategorieId { get; set; }
|
public int KategorieId { get; set; }
|
||||||
public Kategorie Kategorie { get; set; }
|
public Kategorie Kategorie { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,13 +33,10 @@ namespace Aps_Single_Page_Anwendung.Repositories
|
||||||
|
|
||||||
speisen.Add(speise);
|
speisen.Add(speise);
|
||||||
|
|
||||||
var options = new JsonSerializerOptions
|
Filesave(speisen);
|
||||||
{
|
|
||||||
WriteIndented = true // Zeilenumbrüche
|
|
||||||
};
|
|
||||||
var json = JsonSerializer.Serialize(speisen, options);
|
|
||||||
File.WriteAllText(_path, json); // schreibt ins File
|
|
||||||
return speise;
|
return speise;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DeleteSpeise(int id)
|
public void DeleteSpeise(int id)
|
||||||
|
@ -64,9 +61,29 @@ namespace Aps_Single_Page_Anwendung.Repositories
|
||||||
var speisen = JsonSerializer.Deserialize<Speise[]>(json, option);
|
var speisen = JsonSerializer.Deserialize<Speise[]>(json, option);
|
||||||
return speisen;
|
return speisen;
|
||||||
}
|
}
|
||||||
public Speise UpdateSpeise(Speise speise)
|
public Speise UpdateSpeise(Speise speise)
|
||||||
{
|
{
|
||||||
throw new System.NotImplementedException();
|
var speisen = GetSpeisen().ToList();
|
||||||
|
var speiseToUpdate = speisen.SingleOrDefault(speise_ => speise_.Id == speise.Id);
|
||||||
|
speiseToUpdate.Name = speise.Name;
|
||||||
|
speiseToUpdate.Preis = speise.Preis;
|
||||||
|
speiseToUpdate.Beschreibung = speise.Beschreibung;
|
||||||
|
speiseToUpdate.KategorieId = speise.KategorieId;
|
||||||
|
|
||||||
|
Filesave(speisen);
|
||||||
|
return speiseToUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funktion zum schreiben in die Json Datai
|
||||||
|
public void Filesave(List<Speise> speisen)
|
||||||
|
{
|
||||||
|
var options = new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
WriteIndented = true // Zeilenumbrüche
|
||||||
|
};
|
||||||
|
var json = JsonSerializer.Serialize(speisen, options);
|
||||||
|
File.WriteAllText(_path, json); // schreibt ins File
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,8 +178,8 @@
|
||||||
{
|
{
|
||||||
"Id": 23,
|
"Id": 23,
|
||||||
"Name": "Gemischter Salato",
|
"Name": "Gemischter Salato",
|
||||||
"Beschreibung": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, K\u00E4se, Zwiebeln, Orange",
|
"Beschreibung": "Salat nach Art des Hauses mit dem Besten aus der K\u00FCche. Gemischter Salat, Mais, Paprika, K\u00E4se, Zwiebeln, Orange",
|
||||||
"Preis": 9.49,
|
"Preis": 19.49,
|
||||||
"KategorieId": 1,
|
"KategorieId": 1,
|
||||||
"Kategorie": null
|
"Kategorie": null
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user