I'm looking for some advice. Trying to do a serialization by using a c# linq library. Below some sample code, Sorry for the language in it.
I do want to know how to refeer to deeper elements. I can access to lower levels of elements like this but how do I assign values there? Do I need to create a method for every layer?
[Serializable]
[XmlRoot(ElementName = "Faktura")]
public class KSeF_Faktura : KSeF_SerializeInvoice
{
[XmlElement(ElementName = "Naglowek")]
public KSeF_Naglowek Naglowek { get; set; }
[XmlElement(ElementName = "Podmiot1")]
public KSeF_Podmiot1 Podmiot1 { get; set; }
[XmlElement(ElementName = "Podmiot2")]
public KSeF_Podmiot2 Podmiot2 { get; set; }
[XmlElement(ElementName = "Fa")]
public KSeF_Fa Fa { get; set; }
[XmlElement(ElementName = "Stopka")]
public KSeF_Stopka Stopka { get; set; }
}
[XmlType(TypeName = "Podmiot1")]
public class KSeF_Podmiot1
{
public String PrefiksPodatnika { get; set; }
public String NrEORI { get; set; }
[XmlElement(ElementName = "DaneIdentyfikacyjne")]
public DaneIdentyfikacyjne DaneIdentyfikacyjne { get; set; }
[XmlElement(ElementName = "Adres")]
public Adres1 Adres { get; set; }
[XmlElement(ElementName = "AdresKoresp")]
public AdresKoresp1 AdresKoresp { get; set; }
public String Email { get; set; }
public String Telefon { get; set; }
public String StatusInfoPodatnika { get; set; }
}
[XmlType(TypeName = "DaneIdentyfikacyjne")]
public class DaneIdentyfikacyjne
{
public String NIP { get; set; }
public String NazwaHandlowa { get; set; }
public String PelnaNazwa { get; set; }
public String ImiePierwsze { get; set; }
public String Nazwisko { get; set; }
}
[XmlType(TypeName = "Adres")]
public class Adres1
{
[XmlElement(ElementName = "AdresPol")]
public AdresPol1 AdresPol { get; set; }
[XmlElement(ElementName = "AdresZagr")]
public AdresZagr1 AdresZagr { get; set; }
}
SRM_EDI_KSeF.KSeF_Faktura KSeF_Faktura;
CustInvoiceJour CustInvoiceJour;
RecordSortedList list;
str xml;
public void createXML()
{
if (list.len() > 0)
{
list.first(custInvoiceJour);
do
{
KSeF_Faktura = new SRM_EDI_KSeF.KSeF_Faktura();
KSeF_Faktura.Naglowek = this.createHeader();
KSeF_Faktura.Podmiot1 = this.createCustomer();
xml = KSeF_Faktura.Serialize();
info(xml);
}
while (list.next(custInvoiceJour));
}
}
protected SRM_EDI_KSeF.KSeF_Podmiot1 createCustomer()
{
SRM_EDI_KSeF.KSeF_Podmiot1 customerinfo = new SRM_EDI_KSeF.KSeF_Podmiot1();
SRM_EDI_KSeF.Adres1 adres = new SRM_EDI_KSeF.Adres1();
boolean anyLines = false;
customerinfo.Telefon = '123123123';
customerinfo.adres = "DE";
customerinfo.adres.AdresZagr = "Bern";
customerinfo.adres.AdresZagr.NrDomu = "22";
customerinfo.adres.AdresPol.Miejscowosc. = 'as';
return customerinfo;
}