public PrintFatIrs(IManagerFactory mngFac, FatIrsUst fatIrsUst, Dizayn dizayn, IList <StokHarRpr> stokListe, HesaplaGenelToplam genelToplam)
 {
     _mngFac      = mngFac;
     _fatIrsUst   = fatIrsUst;
     _dizayn      = dizayn;
     _genelToplam = genelToplam;
     _stokListe   = stokListe;
     _mngDizGenel = _mngFac.GetDizaynGenelManager();
     _mngCari     = _mngFac.GetCariManager();
     _mngCariHar  = _mngFac.GetCariHareketManager();
     _mngKal      = _mngFac.GetDizaynKalemManager();
     if (_fatIrsUst.KdvDahilmi.Value)
     {
         ChangePrice();
     }
     printDoc.PrintPage += new PrintPageEventHandler(OnPrintDoc);
 }
        private void AltBilgileriniYaz(System.Drawing.Printing.PrintPageEventArgs e, List <DizaynKalem> altKalem)
        {
            foreach (DizaynKalem kal in altKalem)
            {
                if (kal.AlanIsim == "Aciklama")
                {
                    Yaz(e.Graphics, kal, kal.Aciklama);
                }
                else if (kal.AlanIsim == "VadeTarih" && _fatIrsUst.VadeTarih.HasValue)
                {
                    if (kal.BaslikYaz)
                    {
                        string input = kal.Aciklama + _fatIrsUst.VadeTarih.Value.ToShortDateString();
                        Yaz(e.Graphics, kal, input);
                    }
                    else
                    {
                        Yaz(e.Graphics, kal, _fatIrsUst.VadeTarih.Value.ToShortDateString());
                    }
                }
                else if (kal.AlanIsim == "Yalniz")
                {
                    DizaynKalem genelToplam   = altKalem.Find(x => x.AlanIsim == "GenelToplam");
                    string      s_genelToplam = "";
                    if (genelToplam != null)
                    {
                        if (genelToplam.Ondalik.Value > 0)
                        {
                            s_genelToplam = _genelToplam.GenelToplam().ToString("F" + genelToplam.Ondalik.Value.ToString());
                        }
                        else
                        {
                            s_genelToplam = _genelToplam.GenelToplam().ToString("F2");
                        }
                    }
                    else
                    {
                        s_genelToplam = _genelToplam.GenelToplam().ToString("F2");
                    }
                    CevirSayiHarfe cevir = new CevirSayiHarfe(s_genelToplam);
                    string         input = cevir.Cevir();
                    if (kal.BaslikYaz)
                    {
                        input = string.Format("{0} {1}", kal.Aciklama, input);
                    }
                    Yaz(e.Graphics, kal, input);
                }
                else if (kal.AlanIsim == "IndirimToplam")
                {
                    string input = "";
                    if (kal.Ondalik.HasValue)
                    {
                        if (kal.Ondalik.Value > 0)
                        {
                            input = _genelToplam.SatirIskantosuToplam().ToString("F" + kal.Ondalik.Value.ToString());
                        }
                        else
                        {
                            input = _genelToplam.SatirIskantosuToplam().ToString("F2");
                        }
                    }
                    else
                    {
                        input = _genelToplam.SatirIskantosuToplam().ToString("F2");
                    }
                    if (kal.BaslikYaz)
                    {
                        input = kal.Aciklama + " " + input;
                        Yaz(e.Graphics, kal, input);
                    }
                    else
                    {
                        Yaz(e.Graphics, kal, input);
                    }
                }
                else if (kal.AlanIsim == "GenelToplam")
                {
                    string input = "";
                    if (kal.Ondalik.HasValue)
                    {
                        if (kal.Ondalik.Value > 0)
                        {
                            input = _genelToplam.GenelToplam().ToString("F" + kal.Ondalik.Value.ToString());
                        }
                        else
                        {
                            input = _genelToplam.GenelToplam().ToString("F2");
                        }
                    }
                    else
                    {
                        input = _genelToplam.GenelToplam().ToString("F2");
                    }
                    if (kal.BaslikYaz)
                    {
                        input = kal.Aciklama + " " + input;
                        Yaz(e.Graphics, kal, input);
                    }
                    else
                    {
                        Yaz(e.Graphics, kal, input);
                    }
                }
                else if (kal.AlanIsim == "FaturaToplam")
                {
                    string input = "";
                    if (kal.Ondalik.HasValue)
                    {
                        if (kal.Ondalik.Value > 0)
                        {
                            input = _genelToplam.AraToplam().ToString("F" + kal.Ondalik.Value.ToString());
                        }
                        else
                        {
                            input = _genelToplam.AraToplam().ToString("F2");
                        }
                    }
                    else
                    {
                        input = _genelToplam.AraToplam().ToString("F2");
                    }
                    if (kal.BaslikYaz)
                    {
                        input = kal.Aciklama + " " + input;
                        Yaz(e.Graphics, kal, input);
                    }
                    else
                    {
                        Yaz(e.Graphics, kal, input);
                    }
                }
                else if (kal.AlanIsim == "KdvToplam")
                {
                    bool flag = true;
                    List <StokHarRpr> yeniListe;
                    List <StokHarRpr> liste = new List <StokHarRpr>();
                    foreach (StokHarRpr rpr in _stokListe)
                    {
                        liste.Add(rpr);
                    }

                    byte satir = 0;
                    while (flag && liste[0] != null)
                    {
                        StokHarRpr kdv = liste[0];
                        yeniListe = new List <StokHarRpr>();
                        liste.Add(kdv);
                        for (int i = 1; i < liste.Count; i++)
                        {
                            if (kdv.KdvOrani == liste[i].KdvOrani)
                            {
                                yeniListe.Add(liste[i]);
                            }
                        }
                        liste.RemoveAll(x => x.KdvOrani == kdv.KdvOrani);

                        if (yeniListe.Count == 0)
                        {
                            flag = false;
                            break;
                        }
                        HesaplaGenelToplam hes   = new HesaplaGenelToplam(yeniListe, _genelToplam.KdvDahil);
                        string             input = "KDV% " + yeniListe[0].KdvOrani.ToString() + "    :";
                        if (kal.Ondalik.HasValue)
                        {
                            if (kal.Ondalik.Value > 0)
                            {
                                input += hes.ToplamaKdvHesapla().ToString("F" + kal.Ondalik.Value.ToString());
                            }
                            else
                            {
                                input += hes.ToplamaKdvHesapla().ToString("F2");
                            }
                        }
                        else
                        {
                            input += hes.ToplamaKdvHesapla().ToString("F2");
                        }
                        if (kal.BaslikYaz)
                        {
                            input += kal.Aciklama + " " + input;
                            Yaz(e.Graphics, (byte)(satir + kal.Satir), kal.Sutun, kal.Uzunluk, input);
                            Yaz(e.Graphics, kal, input);
                        }
                        else
                        {
                            Yaz(e.Graphics, (byte)(satir + kal.Satir), kal.Sutun, kal.Uzunluk, input);
                        }
                        satir++;
                        if (liste.Count == 0)
                        {
                            flag = false;
                            break;
                        }
                    }
                }
            }
        }