/* * Yeni kahraman ekleme işini ele alan metodumuz. * İlk parametre aynı zamanda gelen talepteki bilgileri alıp yeni Hero nesnesinin örneklenmesin kullanılıyor */ public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { //TODO: Kahraman daha önceden eklenmişse tekrar eklenmesin var hero = new Hero { Name = request.Name, AlterEgo = request.AlterEgo, ForceLevel = request.ForceLevel }; // DbContext üstündeki Heroes koleksiyonuna ekleniyor _context.Heroes.Add(hero); // Kayıt işlemi başarılıysa var success = await _context.SaveChangesAsync() > 0; if (success) { return(Unit.Value); } else // Değilse { throw new Exception("Kahraman listeye eklenemedi"); } }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { // Önce kahramanı bulalaım var hero = await _context.Heroes.FirstOrDefaultAsync(h => h.Name == request.Name); if (hero == null) //Yoksa exception fırlatıyoruz { throw new Exception("Bu isme sahip bir kahraman listede yok"); } _context.Remove(hero); // Bulduysak siliyoruz var success = await _context.SaveChangesAsync() > 0; //Unit tipinden bir şey döndürmemiz lazım if (success) { return(Unit.Value); } throw new Exception("Silme işlemi sırasında bilinmeyen hata."); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { // Önce kahramanı bulalaım var hero = await _context.Heroes.FirstOrDefaultAsync(h => h.Id == request.Id); if (hero == null) //Yoksa exception fırlatıyoruz { throw new Exception("Bu isme sahip bir kahraman listede yok"); } // varsa güncelleme yapıp kaydediyoruz. hero.Name = request.Name; hero.AlterEgo = request.AlterEgo; hero.ForceLevel = request.ForceLevel; var success = await _context.SaveChangesAsync() > 0; //Unit tipinden bir şey döndürmemiz lazım if (success) { return(Unit.Value); } throw new Exception("Silme işlemi sırasında bilinmeyen hata."); }