private Ustveri(Guid belgeId,
                 MetinTip konu,
                 GuvenlikKoduTuru guvenlikKodu,
                 DateTime?guvenlikKoduGecerlilikTarihi,
                 TanimlayiciTip ozId,
                 List <Dagitim> dagitimlar,
                 List <Ek> ekler,
                 List <Ilgi> ilgiler,
                 string dil,
                 Olusturan olusturan,
                 List <Ilgili> ilgililer,
                 string dosyaAdi,
                 DateTime?tarih                    = null,
                 string belgeNo                    = null,
                 SDPBilgisi sdpBilgisi             = null,
                 List <HEYSK> heysKodlari          = null,
                 DogrulamaBilgisi dogrulamaBilgisi = null
                 )
 {
     BelgeId      = belgeId;
     Konu         = konu;
     GuvenlikKodu = guvenlikKodu;
     GuvenlikKoduGecerlilikTarihi = guvenlikKoduGecerlilikTarihi;
     OzId       = ozId;
     Dagitimlar = dagitimlar;
     Ekler      = ekler;
     Ilgiler    = ilgiler;
     Dil        = dil;
     Olusturan  = olusturan;
     Ilgililer  = ilgililer;
     DosyaAdi   = dosyaAdi;
     if (tarih.HasValue)
     {
         Tarih = tarih.Value;
     }
     BelgeNo          = belgeNo;
     SdpBilgisi       = sdpBilgisi;
     HEYSKodlari      = heysKodlari;
     DogrulamaBilgisi = dogrulamaBilgisi;
 }
 /// <summary>
 ///     Belgeyi oluşturan taraftır.
 /// </summary>
 /// <param name="olusturan">Belgeyi oluşturan tarafın değeridir. Olusturan tipinde olmalıdır.</param>
 /// <remarks>Zorunlu alandır.</remarks>
 public IUstveriV2XFluentOlusturan OlusturanAta(Olusturan olusturan)
 {
     _olusturan = olusturan;
     return(this);
 }
        public static string GenerateOlusturanAd(this Olusturan olusturan)
        {
            if (olusturan == null || olusturan.Oge == null)
            {
                return(null);
            }

            var olusturanAdi = string.Empty;

            if (olusturan.Oge is KurumKurulus kurumKurulus)
            {
                if (kurumKurulus.Ad != null && !string.IsNullOrWhiteSpace(kurumKurulus.Ad.Deger))
                {
                    if (!string.IsNullOrEmpty(kurumKurulus.KKK))
                    {
                        olusturanAdi = string.Format("{0}/{1}", kurumKurulus.Ad.Deger, kurumKurulus.KKK);
                    }
                    else
                    {
                        olusturanAdi = kurumKurulus.Ad.Deger;
                    }
                }
                else
                {
                    olusturanAdi = kurumKurulus.KKK;
                }
            }
            else if (olusturan.Oge is TuzelSahis tuzelSahis)
            {
                if (tuzelSahis.Ad != null && !string.IsNullOrWhiteSpace(tuzelSahis.Ad.Deger))
                {
                    olusturanAdi = tuzelSahis.Ad.Deger;
                }
                else if (tuzelSahis.Id != null && !string.IsNullOrWhiteSpace(tuzelSahis.Id.Deger))
                {
                    if (!string.IsNullOrWhiteSpace(tuzelSahis.Id.SemaID))
                    {
                        olusturanAdi = tuzelSahis.Id.SemaID + ":";
                    }

                    olusturanAdi += tuzelSahis.Id.Deger;
                }
            }
            else if (olusturan.Oge is GercekSahis gercekSahis)
            {
                if (!string.IsNullOrWhiteSpace(gercekSahis.TCKN))
                {
                    olusturanAdi += gercekSahis.TCKN + ",";
                }

                if (gercekSahis.Gorev != null && !string.IsNullOrWhiteSpace(gercekSahis.Gorev.Deger))
                {
                    olusturanAdi += gercekSahis.Gorev.Deger + ",";
                }

                if (gercekSahis.Kisi != null)
                {
                    if (gercekSahis.Kisi.OnEk != null && !string.IsNullOrWhiteSpace(gercekSahis.Kisi.OnEk.Deger))
                    {
                        olusturanAdi += gercekSahis.Kisi.OnEk.Deger + " ";
                    }

                    if (gercekSahis.Kisi.Unvan != null && !string.IsNullOrWhiteSpace(gercekSahis.Kisi.Unvan.Deger))
                    {
                        olusturanAdi += gercekSahis.Kisi.Unvan.Deger + " ";
                    }

                    if (gercekSahis.Kisi.IlkAdi != null && !string.IsNullOrWhiteSpace(gercekSahis.Kisi.IlkAdi.Deger))
                    {
                        olusturanAdi += gercekSahis.Kisi.IlkAdi.Deger + " ";
                    }

                    if (gercekSahis.Kisi.IkinciAdi != null &&
                        !string.IsNullOrWhiteSpace(gercekSahis.Kisi.IkinciAdi.Deger))
                    {
                        olusturanAdi += gercekSahis.Kisi.IkinciAdi.Deger + " ";
                    }

                    if (gercekSahis.Kisi.Soyadi != null && !string.IsNullOrWhiteSpace(gercekSahis.Kisi.Soyadi.Deger))
                    {
                        olusturanAdi += gercekSahis.Kisi.Soyadi.Deger;
                    }
                }
            }

            return(olusturanAdi.Trim());
        }