예제 #1
0
        public static Result ParaEkle(int HesapNo, int Miktar)
        {
            var result = new Result();

            try
            {
                if (!Hesaplar.Any(x => x.HesapNo == HesapNo))
                {
                    result.Message = "Para Yatırmak İstediğiniz Hesap Bulunamadı";
                    result.Success = false;
                    return(result);
                }

                ParaIslemleri.Add(new ParaIslemleri
                {
                    HesapNo = HesapNo,
                    Miktar  = Miktar,
                    Tip     = true,
                    Tarih   = DateTime.Now
                });

                var hesap = Hesaplar.Where(x => x.HesapNo == HesapNo).FirstOrDefault();
                hesap.Miktar += Miktar;


                result.Success = true;
                result.Message = "Hesaba Para Eklendi";
            }
            catch (Exception ex)
            {
                result.Message = "Bir Hata Oluştu.Tekrar Deneyin";
            }

            return(result);
        }
예제 #2
0
        public static Result ParaCek(int HesapNo, int Miktar)
        {
            var result = new Result();

            try
            {
                if (!Hesaplar.Any(x => x.HesapNo == HesapNo))
                {
                    result.Message = "Para Çekmek İstediğiniz Hesap Bulunamadı";
                    result.Success = false;
                    return(result);
                }

                var hesapDetay = Hesaplar.Where(x => x.HesapNo == HesapNo).FirstOrDefault();

                if (Miktar > hesapDetay.Miktar)
                {
                    result.Message = "Hesabınızda Çekmek İstediğiniz Kadar Miktar Bulunmamaktadır";
                    result.Success = false;
                    return(result);
                }

                var hesaplar = Hesaplar.Where(x => x.MusteriNo == hesapDetay.MusteriNo).Select(x => x.HesapNo).ToList();

                var cekilenMiktar = ParaIslemleri.Where(x => hesaplar.Contains(x.HesapNo) && x.Tip == false && x.Tarih > DateTime.Now.AddDays(-1)).Sum(x => x.Miktar);

                if (cekilenMiktar + Miktar > 750)
                {
                    result.Message = "Günlük Para Çekme Limitini Aştınız.Para Çekme İşlemi İptal Edildi";
                    result.Success = false;
                    return(result);
                }

                ParaIslemleri.Add(new ParaIslemleri
                {
                    HesapNo = HesapNo,
                    Miktar  = Miktar,
                    Tip     = false,
                    Tarih   = DateTime.Now
                });

                hesapDetay.Miktar -= Miktar;

                result.Success = true;
                result.Message = "Hesaptan Para Çekildi";
            }
            catch (Exception ex)
            {
                result.Message = "Bir Hata Oluştu.Tekrar Deneyin";
            }

            return(result);
        }