예제 #1
0
        public async virtual Task <Sonuc <TEntity> > SilAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken))
        {
            KayitSonuc <TEntity> sonuc = null;

            cancellationToken.ThrowIfCancellationRequested();
            ThrowIfDisposed();
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }
            try
            {
                Context.Remove(entity);
                await SaveChanges(cancellationToken);

                //sonuc = Sonuc<TEntity>.Tamam;
                sonuc.DonenNesne = entity;
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Sonuc <TEntity> .Basarisiz(HataTanimlayici.ConcurrencyFailure()));
            }
            catch (Exception hata)
            {
                return(Sonuc <TEntity> .Basarisiz(new List <Hata> {
                    new Hata {
                        Kod = "KimligeGoreKisiBulma", Tanim = $"Kayıt aranırken hata oluştu:{hata.Message}"
                    }
                }.ToArray()));
            }
            return(sonuc);
        }
예제 #2
0
        public static Sonuc Basarisiz(Exception hata)
        {
            var result = new Sonuc {
                Basarili = false
            };

            hata.SonucaYaz(result);
            return(result);
        }
예제 #3
0
        public static Sonuc Basarisiz(params Hata[] errors)
        {
            var result = new Sonuc {
                Basarili = false
            };

            if (errors != null)
            {
                result._errors.AddRange(errors);
            }
            return(result);
        }
예제 #4
0
        public static void SonucaYaz <T>(this Exception hata, Sonuc <T> sonuc)
        {
            if (sonuc == null)
            {
                return;
            }
            List <Hata> hatalar = new List <Hata> {
                new Hata {
                    Kod = "", Tanim = hata.Message
                }
            };

            hatalar.ForEach(h => sonuc.Hatalar.Add(h));
            if (hata.InnerException != null)
            {
                hata.InnerException.SonucaYaz <T>(sonuc);
            }
        }