Forum

Tarih İşlemi Hk.
 
Bildirimler
Hepsini Temizle

Tarih İşlemi Hk.

5 Yazılar
3 Üyeler
0 Likes
423 Görüntüleme
(@osmankilic)
Gönderiler: 27
Eminent Member
Konu başlatıcı
 

Kolay Gelsin.

c# de bir işlem yaptıramadım

yardımcı olursanız sevinirim.

db içinde iki kolunum var

hesapkesimterihi 10

sonodemegunu 21

taksitli kredi kartımdan para çektim ödeme günlerini hesaplamak isrtiyorum

04.04.2014 tarihinde 1000 tl 5 taksitle ödeme yaptım

1000/5 =200

ödeme günü 04 hesap kesim tarihim 10 küçük olduğundan ilk taksitim o ay

21.04.2014 200
21.05.2014 200
21.06.2014 200
21.07.2014 200
21.08.2014 200

 işlemi 11 inde yapmışsam

21.05.2014 200
21.06.2014 200
21.07.2014 200
21.08.2014 200
21.09.2014 200

olması lazım

taksit yok ise aynı şekilde 10 undan önce ise o ay sonra ise bir sonraki ay tarihini vermesi lazım

DataRow GunRow = Classlar.BankaKartVadeSec(BankaAdi, KartTanimi, KartNo);
Hesapkesimgunu = Convert.ToInt32(GunRow["HESKES_GUNU"]);
SonOdemeGun = Convert.ToInt32(GunRow["SONODM_GUNU"

 

 

 

for (int j = 0; j < TaksitSayisi; j++)
{
}

 

 

 

 

 

 

 

 

 

 

 

 
Gönderildi : 04/04/2014 20:46

(@kenanilgun)
Gönderiler: 544
Üye
 

Merhaba,

Bu işlemi if kontrolleri ile yapmayı denediniz mi ? İlk şartınız taksitsiz bir işlem ise tarih kontrolü yaparak bahsettiğiniz hesap hesim tarihine göre tek satır işlem yaptırmak, eğer ki taksitli bir işlem ise de döngünüz ile dönüp aynı mantıkta işlem yaptırabilirsiniz. 

 
Gönderildi : 08/04/2014 01:22

(@osmankilic)
Gönderiler: 27
Eminent Member
Konu başlatıcı
 

denedim gibi ama başarılı olamadım taksit yok ise yaptığım işlemde tek sefer yapıyor döngü

biraz saçma oldu yaptığım işlem sanırım ama

 

decimal mpara = (Odeme > 0) ? Odeme : 0;
decimal TaksitSayisi = (Taksit > 0) ? Taksit : 1;
decimal Hesapkesimgunu = 0;
int SonOdemeGun = 0;
decimal Kacincitaksit = 0;
decimal odenecek = mpara / TaksitSayisi;
decimal Erteleme = (Ertele > 0) ? Ertele : 0;
DateTime IslemTarihi = Convert.ToDateTime(tarihi);
DateTime OdemeTarihi;
DataRow GunRow = Classlar.BankaKartVadeSec(BankaAdi, KartTanimi, KartNo);
Hesapkesimgunu = Convert.ToInt32(GunRow["HESKES_GUNU"]);
SonOdemeGun = Convert.ToInt32(GunRow["SONODM_GUNU"]);

 

 

if (IslemTarihi.Day <= Hesapkesimgunu)

{

 

IslemTarihi = new DateTime(IslemTarihi.Year, IslemTarihi.Month, SonOdemeGun);

 

 

 

 

 

 

IslemTarihi = IslemTarihi.AddMonths(- 1);

 

}

 

 

else


 

 

{

 

 

IslemTarihi = new DateTime(IslemTarihi.Year, IslemTarihi.Month, SonOdemeGun);

 

 

 

}

 

 

for (int j = 0; j < TaksitSayisi; j++)

 

 

 

{

}

 

 
Gönderildi : 08/04/2014 11:50

(@MustafaPAT)
Gönderiler: 26
Eminent Member
 

Merhaba,

Yapmak istediğiniz işlemde ufak bir mantık hatası var.

Öncelik ile yapınızın şu şekilde olması daha doğru olur.

Yani kod yazılımından önce işleminizin mantık olarak çalışıyor olması lazım.

Gerekli veri yapısı 

[Sipariş Tablo] (müşteri,ürün, adet, birim fiyat, toplam, kdv,sipariş tarihi)

[Borç Tablo] (sipariş,toplam borç  ,taksit sayısı,vade başlangıç tarihi)

[Alacak Tablo] (borç,taksit tarihi,taksit sayısı,tutar,ödeme durumu,ödeme tarihi)

 

 Senaryo

Sipariş durumuna göre borç tablosuna girilen kayıt taksit sayısı 1 ise alacak tabloya hiç bir işlem yapmadan toplan tutar ve borç tarihi girilerek müşteri borçlandırılır.

Eğer taksit sayısı 1 den büyük ise yapılacak işlem;

taksit tutarı = toplan tutar / taksit sayısı

Taksit sayısı kadar döngü açılır.

döngü içinde tahsilat tarihi 30 gün arttırılarak taksit tutarı ve diğer bilgiler alacak tablosuna eklenir.

Ödeme yapıldığında alacak tablosu güncellenir. 

 

 
Gönderildi : 16/04/2014 21:48

(@osmankilic)
Gönderiler: 27
Eminent Member
Konu başlatıcı
 

Benim o dediğin paneller hazır onlarda bir sıkıntı yok kart işlemi benim yaptığım ödemeler kartının hesap kesim tarihini veriyorum ve hesap kesim tarihine bağlı ödeme günüm var hafta sonuna geliyorsa birgün önce birgün sonra ya ayarlıyor ödeme tarihi o şekilde yapmamız sebebi o cari hareketlerini tuttuğu bir alan var oraya tarih yapılan ödeme kime yaptığım tek bir satır olarak kayıt ediliyor banka kart detayı da bu işlemle aylara bölerek ekleniyor bu işlemle işi biraz uzatarak olsa çözdüm şu an için fena bir haftada çalışıyor ilginiz için tşkler. ..

 
Gönderildi : 17/04/2014 00:53

Paylaş: