예제 #1
0
 /// <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();
         }
     }
 }
예제 #2
0
 /// <summary>
 /// Pobiera wszystkie obiekty klasy Unit z bazy danych
 /// </summary>
 /// <returns>Pobrane obiekty</returns>
 // GET api/<controller>
 public IEnumerable <Models.UnitModel> Get()
 {
     using (var context = new Database.StarContext())
     {
         return(context.Units.Select(unit => new Models.UnitModel()
         {
             Id = unit.Id, Name = unit.Name, FactionName = unit.FactionName, PhotoLink = unit.PhotoLink
         }).ToList());
     }
 }
예제 #3
0
 /// <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();
         }
     }
 }
예제 #4
0
 /// <summary>
 /// Znajduje obiekt w bazie danych
 /// </summary>
 /// <param name="id">Identyfikator obiektu</param>
 /// <returns>Znaleziony obiekt lub wartość null w przypadku niepowodzenia</returns>
 // GET api/<controller>/5
 public Models.UnitModel Get(int id)
 {
     using (var context = new Database.StarContext())
     {
         var unit = context.Units.Find(id);
         if (unit != null)
         {
             return new Models.UnitModel()
                    {
                        Id = unit.Id, Name = unit.Name, FactionName = unit.FactionName, PhotoLink = unit.PhotoLink
                    }
         }
         ;
         return(null);
     }
 }
예제 #5
0
 /// <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();
             }
         }
     }
 }