/// <summary> /// Zmienia dane obiektu w bazie danych (metoda PUT jest niedozwolona, więc ta metoda pozwala na obejście tego zakazu stworzonego z przyczyn bezpieczeństwa) /// </summary> /// <param name="id">Identyfikator obiektu</param> /// <param name="name">Nazwa obiektu</param> /// <param name="factionName">Nazwa frakcji, do której należy</param> /// <param name="photoLink">Link do grafiki z obiektem</param> /// <returns>Prawda jeśli się powiodło</returns> // POST api/<controller>/5 public void Post(int id, [FromBody] Models.UnitModel newValues) { using (var context = new Database.StarContext()) { var item = context.Set <Database.Unit>().Find(id); if (item != null && newValues != null) { if (newValues.FactionName != null) { if (context.Factions.Find(newValues.FactionName) != null) { item.FactionName = newValues.FactionName; } else { return; } } if (newValues.Name != null) { item.Name = newValues.Name; } if (newValues.PhotoLink != null) { item.PhotoLink = newValues.PhotoLink; } context.SaveChanges(); } } }
/// <summary> /// Usuwa wskazany obiekt (metoda DELETE nie jest dozwolona ze względów bezpieczeństwa, więc ta metoda ją zastępuje) /// </summary> /// <param name="id">Identyfikator obiektu</param> /// <returns>Prawda jeśli się powiodło</returns> // POST api/<controller>/5 public void Post(int id) { using (var context = new Database.StarContext()) { var toDelete = context.Units.Find(id); if (toDelete != null) { context.Set <Database.Unit>().Remove(toDelete); context.SaveChanges(); } } }
/// <summary> /// Tworzy nowy obiekt w bazie danych /// </summary> /// <param name="name">Nazwa obiektu</param> /// <param name="factionName">Nazwa frakcji, do której należy</param> /// <param name="photoLink">Opcjonalny link do grafiki z obiektem</param> /// <returns>Prawda jeśli się powiodło</returns> // POST api/<controller> public void Post([FromBody] Models.UnitModel newUnit) { if (newUnit.Name != null && newUnit.FactionName != null) { using (var context = new Database.StarContext()) { if (context.Factions.Find(newUnit.FactionName) != null) { context.Set <Database.Unit>().Add(new Database.Unit() { Name = newUnit.Name, FactionName = newUnit.FactionName, PhotoLink = newUnit.PhotoLink }); context.SaveChanges(); } } } }