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); }
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); }