package satis.manager;
import hibernateSwingApi.hibernate.HibernateManager;
import java.util.Date;
import java.util.List;
import control.DecimalValue;
import kasa.manager.KasaManager;
import personel.pojos.Personel;
import satis.pojos.Taksit;
import satis.pojos.YapilanSatis;
import satisBilgi.pojos.OdemeBilgileri;
import satisBilgi.pojos.UrunSatis;
import banka.pojos.POSBilgileri;
import cari.pojos.Musteri;
public class SatisManager {
private static final String NAKIT = "NAKİT";
private static final String KREDI_KART = "KREDİ KART";
private static final String PARCALI_ODEME = "PARÇALI ÖDEME";
private static final String VERESIYE = "VERESİYE";
public static boolean satisYap(double iskontoMiktari, boolean vadeFark,
double kdvToplam, String odemeTur, double pesinToplam, double kampanyaTutar,
Personel personel, Musteri musteri,
List<UrunSatis> urunSatisListesi, List<Taksit> taksitListesi,
OdemeBilgileri odemeBilgisi) {
YapilanSatis satis = new YapilanSatis();
HibernateManager.getInstance().save(satis);
satis.setIskontoMiktari(iskontoMiktari);
satis.setVade(vadeFark);
satis.setKdvMiktari(Double.parseDouble(DecimalValue.getDecimalValue(kdvToplam)));
satis.setOdemeTur(odemeTur);
satis.setTarih(new Date());
satis.setTutar(Double.parseDouble(DecimalValue.getDecimalValue(pesinToplam)));
satis.setOdemeBilgisi(odemeBilgisi);
satis.setKampanyaTutari(Double.parseDouble(DecimalValue.getDecimalValue(kampanyaTutar)));
UrunSatis urunSatis;
for (int i = 0; i < urunSatisListesi.size(); i++) {
urunSatis = urunSatisListesi.get(i);
urunSatis.setSystemName(HibernateManager.getInstance()
.getSystemName());
urunSatis.setSatisId(satis.getId());
urunSatis.setTarih(satis.getTarih());
urunSatis.setYapilanSatis(true);
HibernateManager.getInstance().save(urunSatis);
}
if (personel != null)
satis.setPersonel(personel);
if (musteri != null) {
satis.setMusteri(musteri);
}
satis.setTaksitListesi(taksitListesi);
satis.setSatisListesi(urunSatisListesi);
boolean control = HibernateManager.getInstance().update(satis);
if (control) {
KasaManager.addSatisHareket(satis);
return true;
}
return false;
}
public static OdemeBilgileri getOdemeBilgisi(double nakitTutar,
double krediTutar, double borc, String odemeTur, POSBilgileri pos) {
OdemeBilgileri odemeBilgisi = new OdemeBilgileri();
odemeBilgisi.setSystemName(HibernateManager.getInstance()
.getSystemName());
switch (odemeTur) {
case NAKIT:
odemeBilgisi.setNakitTutar(nakitTutar);
break;
case KREDI_KART:
odemeBilgisi.setKrediKartTutar(krediTutar);
odemeBilgisi.setPos(pos);
break;
case PARCALI_ODEME:
odemeBilgisi.setNakitTutar(nakitTutar);
odemeBilgisi.setKrediKartTutar(krediTutar);
odemeBilgisi.setPos(pos);
break;
case VERESIYE:
odemeBilgisi.setNakitTutar(nakitTutar);
odemeBilgisi.setTaksitTutar(borc);
break;
default:
break;
}
boolean control = HibernateManager.getInstance().save(odemeBilgisi);
if (control)
return odemeBilgisi;
return null;
}
}