public List <vPaketListesi> SevkiyatListesiGetir(SevkiyatPaketTip secilenTip) { List <vPaketListesi> list = db.GetGeneric <vPaketListesi>(c => c.SevkId == this._SevkBelge.Id); if (secilenTip == SevkiyatPaketTip.Sandik160 || secilenTip == SevkiyatPaketTip.Sandik180 || secilenTip == SevkiyatPaketTip.KucukKutu || secilenTip == SevkiyatPaketTip.BuyukKutu) { tblAyarlar sandik = db.GetGeneric <tblAyarlar>(c => c.Adi == secilenTip.ToString()).FirstOrDefault(); double sandikAgirlik = (sandik == null || sandik.Deger == null || sandik.Deger.StringSayisalMi() == false) ? 0 : Convert.ToDouble(sandik.Deger); list.ForEach(c => c.BrutAgirlik = Math.Round((c.BrutAgirlik.Value + sandikAgirlik), 2)); } else { return(SevkiyatBrutleriHesapla_PaleteGore(list, secilenTip)); } return(list); }
private List <vPaketListesi> SevkiyatBrutleriHesapla_PaleteGore(List <vPaketListesi> paketListesi, SevkiyatPaketTip paketTipi) { double kutuAgirlik = 0, paletAgirlik = 0; //kutu ağırlığı getiriliyor. if (paketTipi == SevkiyatPaketTip.Palet12Kucuk || paketTipi == SevkiyatPaketTip.Palet9Kucuk) { tblAyarlar kucukKutu = db.GetGeneric <tblAyarlar>(c => c.Adi == "KucukKutu").FirstOrDefault(); kutuAgirlik = (kucukKutu == null || kucukKutu.Deger == null || kucukKutu.Deger.StringSayisalMi() == false) ? 0 : Convert.ToDouble(kucukKutu.Deger); } else if (paketTipi == SevkiyatPaketTip.Palet12Buyuk || paketTipi == SevkiyatPaketTip.Palet9Buyuk) { tblAyarlar buyukKutu = db.GetGeneric <tblAyarlar>(c => c.Adi == "BuyukKutu").FirstOrDefault(); kutuAgirlik = (buyukKutu == null || buyukKutu.Deger == null || buyukKutu.Deger.StringSayisalMi() == false) ? 0 : Convert.ToDouble(buyukKutu.Deger); } //palet ağırlığı getiriliyor. string tip = ""; if (paketTipi == SevkiyatPaketTip.Palet9Buyuk || paketTipi == SevkiyatPaketTip.Palet9Kucuk) { tip = "Palet9"; } else if (paketTipi == SevkiyatPaketTip.Palet12Buyuk || paketTipi == SevkiyatPaketTip.Palet12Kucuk) { tip = "Palet12"; } tblAyarlar palet = db.GetGeneric <tblAyarlar>(c => c.Adi == tip).FirstOrDefault(); paletAgirlik = (palet == null || palet.Deger == null || palet.Deger.StringSayisalMi() == false) ? 0 : Convert.ToDouble(palet.Deger); int ind = 0; List <vPaketListesi> donusListesi = new List <vPaketListesi>(); while (ind < paketListesi.Count) { List <vPaketListesi> tmpList = new List <vPaketListesi>(); if (paketTipi == SevkiyatPaketTip.Palet9Buyuk || paketTipi == SevkiyatPaketTip.Palet9Kucuk) { tmpList = paketListesi.Skip(ind).Take(9).ToList(); double brutKutuAgirlik = Math.Round((double)((paletAgirlik + tmpList.Count * kutuAgirlik) / tmpList.Count), 2); tmpList.ForEach(c => c.BrutAgirlik = Math.Round((c.BrutAgirlik.Value + brutKutuAgirlik), 2)); donusListesi.AddRange(tmpList); ind += 9; } if (paketTipi == SevkiyatPaketTip.Palet12Buyuk || paketTipi == SevkiyatPaketTip.Palet12Kucuk) { tmpList = paketListesi.Skip(ind).Take(12).ToList(); double brutKutuAgirlik = Math.Round((double)((paletAgirlik + tmpList.Count * kutuAgirlik) / tmpList.Count), 2); tmpList.ForEach(c => c.BrutAgirlik = Math.Round(c.BrutAgirlik.Value + brutKutuAgirlik)); donusListesi.AddRange(tmpList); ind += 12; } } return(donusListesi); }