示例#1
0
            /*
             *  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");
                }
            }
示例#2
0
            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.");
            }
示例#3
0
            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.");
            }