1

I'm trying to update a table using C# and I am able to do that. I am deserlizing a XML-file and then updating a table with those values from the XML. This works.

However, sometimes the primary key is replaced with another value.

For example:

I want to update Name, LastName, Middlename where PersonIdentity = @PersonIdentity

command1.Parameters.AddWithValue("@PersonIdentity", p.PersonIdentity );

Sometimes in the XML, PersonIdentity is replaced with PersonidentityNumber. It should act the same in the database ( PersonIdentity and PersonIdentityNumber is the same thing, but in the XML, it's just written different sometimes.

Now my question is:

How can I make it possible to read two XML-tags (I can do that) and refer it to the same primary key in the database?

I want both PersonIdentity and PersonIdentityNumber to represent PersonIdentityin the database. In the XML, the names are just different, even tho they have the same type and the same numbers.

UPDATE:

Here is my XML

<ArrayOfFolkbokforingspostTYPE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FolkbokforingspostTYPE>
    <Sekretessmarkering xsi:nil="true" />
    <Personpost>
      <PersonId>
        <PersonNr>0000000000</PersonNr>
      </PersonId>
      <HanvisningsPersonNr xsi:nil="true" />
      <Namn>
        <Tilltalsnamnsmarkering>20</Tilltalsnamnsmarkering>
        <Fornamn>Erik Lennart</Fornamn>
        <Mellannamn xsi:nil="true" />
        <Efternamn>Enberg</Efternamn>
        <Aviseringsnamn xsi:nil="true" />
      </Namn>
      <Folkbokforing>
        <Folkbokforingsdatum>20060512</Folkbokforingsdatum>
        <LanKod>25</LanKod>
        <KommunKod>14</KommunKod>
        <ForsamlingKod xsi:nil="true" />
        <Fastighetsbeteckning>PÅLÄNGE 6:38</Fastighetsbeteckning>
        <FiktivtNr>0</FiktivtNr>
      </Folkbokforing>
      <Adresser>
        <Folkbokforingsadress>
          <CareOf xsi:nil="true" />
          <Utdelningsadress1 xsi:nil="true" />
          <Utdelningsadress2>STORVÄGEN 65</Utdelningsadress2>
          <PostNr>95204</PostNr>
          <Postort>PÅLÄNG</Postort>
        </Folkbokforingsadress>
        <Riksnycklar>
          <FastighetsId>250015520</FastighetsId>
          <AdressplatsId>2416233</AdressplatsId>
          <LagenhetsId>22143838</LagenhetsId>
        </Riksnycklar>
      </Adresser>
      <Fodelse>
        <HemortSverige>
          <FodelselanKod>25</FodelselanKod>
          <Fodelseforsamling>NEDERKALIX</Fodelseforsamling>
        </HemortSverige>
      </Fodelse>
      <Medborgarskap>
        <MedborgarskapslandKod>SE</MedborgarskapslandKod>
        <Medborgarskapsdatum>0</Medborgarskapsdatum>
      </Medborgarskap>
    </Personpost>
  </FolkbokforingspostTYPE>
  <FolkbokforingspostTYPE>
    <Sekretessmarkering xsi:nil="true" />
    <Personpost>
      <PersonId>
        <TilldelatPersonNrSamordningsNr>454363463466</TilldelatPersonNrSamordningsNr>
      </PersonId>
      <HanvisningsPersonNr xsi:nil="true" />
      <Namn>
        <Fornamn styrkt="J">Eduardo Metran</Fornamn>
        <Mellannamn xsi:nil="true" />
        <Efternamn styrkt="J">Garcia</Efternamn>
        <Aviseringsnamn xsi:nil="true" />
      </Namn>
      <Folkbokforing>
        <Folkbokforingsdatum xsi:nil="true" />
        <LanKod>14</LanKod>
        <KommunKod xsi:nil="true" />
        <ForsamlingKod xsi:nil="true" />
        <Fastighetsbeteckning xsi:nil="true" />
      </Folkbokforing>
      <Adresser />
      <Fodelse>
        <OrtUtlandet>
          <FodelseortUtland styrkt="J">Sta Cruz Zambales</FodelseortUtland>
          <Fodelseland>FILIPPINERNA</Fodelseland>
        </OrtUtlandet>
      </Fodelse>
      <Medborgarskap>
        <MedborgarskapslandKod styrkt="J">PH</MedborgarskapslandKod>
        <Medborgarskapsdatum>0</Medborgarskapsdatum>
      </Medborgarskap>
    </Personpost>
  </FolkbokforingspostTYPE>
  <FolkbokforingspostTYPE>
    <Sekretessmarkering xsi:nil="true" />
    <Personpost>
      <PersonId>
        <PersonNr>62364363455</PersonNr>
      </PersonId>
      <HanvisningsPersonNr xsi:nil="true" />
      <Namn>
        <Fornamn>Sarah Dina Tomasdotter</Fornamn>
        <Mellannamn xsi:nil="true" />
        <Efternamn>Själander</Efternamn>
        <Aviseringsnamn xsi:nil="true" />
      </Namn>
      <Folkbokforing>
        <Folkbokforingsdatum>20120123</Folkbokforingsdatum>
        <LanKod>01</LanKod>
        <KommunKod>80</KommunKod>
        <ForsamlingKod xsi:nil="true" />
        <Fastighetsbeteckning>SLALOMSVÄNGEN 3</Fastighetsbeteckning>
        <FiktivtNr>0</FiktivtNr>
      </Folkbokforing>
      <Adresser>
        <Folkbokforingsadress>
          <CareOf xsi:nil="true" />
          <Utdelningsadress1 xsi:nil="true" />
          <Utdelningsadress2>STÖRTLOPPSVÄGEN 18 LGH 1102</Utdelningsadress2>
          <PostNr>12947</PostNr>
          <Postort>HÄGERSTEN</Postort>
        </Folkbokforingsadress>
        <Riksnycklar>
          <FastighetsId>010114422</FastighetsId>
          <AdressplatsId>1463872</AdressplatsId>
          <LagenhetsId>24865059</LagenhetsId>
        </Riksnycklar>
      </Adresser>
      <Fodelse>
        <HemortSverige>
          <FodelselanKod>01</FodelselanKod>
          <Fodelseforsamling>SPÅNGA</Fodelseforsamling>
        </HemortSverige>
      </Fodelse>
      <Medborgarskap>
        <MedborgarskapslandKod>SE</MedborgarskapslandKod>
        <Medborgarskapsdatum>0</Medborgarskapsdatum>
      </Medborgarskap>
    </Personpost>
  </FolkbokforingspostTYPE>

As you can see on the PersonId-tag, it sometimes have PersonNrand on rare occasions it has TilldelatPersonNrSamordningsNr. I want both of them to represent personidentity

p is a class:

  class Person {
       public string PersonalIdentityNumber { get; set; }
       public string SpecialIdentityNumber { get; set; }
       public string FirstName { get; set; }
       public string LastName { get; set; }
       public string NationalRegistrationCountyCode { get; set; }
       public string NationalRegistrationMunicipalityCode { get; set; }
       public string NationalRegistrationDistributionAddress2 { get; set; }
       public string NationalRegistrationPostCode { get; set; }
       public string CitizenshipCode { get; set; }
}

UPDATE 2

My entire code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Xml;
using System.Data;
using System.Xml.Serialization;
using System.IO;

namespace TESTMAPPNING2
{
    class Program
{
        static void Main(string[] args)
        {
            try
            {

            List<FolkbokforingspostTYPE> deserializedList = new List<FolkbokforingspostTYPE>();
            deserializedList = Deserialize<List<FolkbokforingspostTYPE>>();


            var myPersons = Deserialize<List<FolkbokforingspostTYPE>>()
                .Select(x => new Person
                {
                    PersonalIdentityNumber = x.Personpost.PersonId.PersonNr,
                    SpecialIdentityNumber = x.Personpost.PersonId.Tilltalsnamnsmarkering != null ? x.Personpost.PersonId.Tilltalsnamnsmarkering : null, 
                    LastName = x.Personpost.Namn.Efternamn,
                    FirstName = x.Personpost.Namn.Fornamn,
                    NationalRegistrationCountyCode = x.Personpost.Folkbokforing.LanKod,
                    NationalRegistrationMunicipalityCode = x.Personpost.Folkbokforing.KommunKod,
                    NationalRegistrationDistributionAddress2 = x.Personpost.Adresser.Folkbokforingsadress != null ? x.Personpost.Adresser.Folkbokforingsadress.Utdelningsadress2 : null,
                    NationalRegistrationPostCode = x.Personpost.Adresser.Folkbokforingsadress != null ? x.Personpost.Adresser.Folkbokforingsadress.PostNr : null,
                    CitizenshipCode = x.Personpost.Medborgarskap.MedborgarskapslandKod,

                    // and so on
                });

           // var FirstName = deserializedList.Select(item => item.Personpost.Namn.Fornamn).ToList();

           // var LastName = deserializedList.Select(item => item.Personpost.Namn.Efternamn).ToList();
           // var LanKod = deserializedList.Select(item => item.Personpost.Folkbokforing.LanKod).ToList();
           // var Kommunkod = deserializedList.Select(item => item.Personpost.Folkbokforing.KommunKod).ToList();

           //// var UtdelAdress2 = deserializedList.Select(item => item.Personpost.Adresser.Folkbokforingsadress.Utdelningsadress2).ToList();
           // var PostNr = deserializedList.Select(item => item.Personpost.Adresser.Folkbokforingsadress != null ? item.Personpost.Adresser.Folkbokforingsadress.PostNr : null);

           // //var PostOrt = deserializedList.Select(item => item.Personpost.Adresser.Folkbokforingsadress.Postort).ToList();

           // //var FodelselanKod = deserializedList.Select(item => item.Personpost.Fodelse.HemortSverige.FodelselanKod).ToList();

           // //var Fodelseforsamling = deserializedList.Select(item => item.Personpost.Fodelse.HemortSverige.Fodelseforsamling).ToList();

           // var MedborgarskapslandKod = deserializedList.Select(item => item.Personpost.Medborgarskap.MedborgarskapslandKod).ToList();

           // var Medborgarskapsdatum = deserializedList.Select(item => item.Personpost.Medborgarskap.Medborgarskapsdatum).ToList();


            //var zipped = PersonalIdentityNumber.Zip(FirstName, Tuple.Create);

            //     foreach (var tuple in zipped)
            //     {
            //         //Console.WriteLine(tuple.Item1);
            //         //Console.WriteLine(tuple.Item2);
            //     }

            //Console.WriteLine(PersonalIdentityNumber.Count());

            //for (int i = 0; i < PersonalIdentityNumber.Count; i++)
            //{
            //    var personnummer = PersonalIdentityNumber[i];
            //    var fornamn = FirstName[i];
            //        var efternamn = LastName[i];

            //        var lankod = LanKod[i];
            //        var kommunkod = Kommunkod[i];
            //        var utdelAdress2 = UtdelAdress2[i];
            //        var postNr = PostNr[i];
            //        var postOrt = PostOrt[i];
            //        var fodelselanKod = FodelselanKod[i];
            //        var fodelseforsamling = Fodelseforsamling[i];
            //        var medborgarskapslandKod = MedborgarskapslandKod[i];
            //        var medborgarskapsdatum = Medborgarskapsdatum[i];
            //         use your variables


            //}

            //Console.WriteLine(PersonalIdentityNumber.Count());

            //foreach (var i in PersonalIdentityNumber)
            //{
            //    Console.WriteLine("Personnummer: " + i);

            //    foreach(var a in FirstName)
            //    {
            //        Console.WriteLine("Namn: " + a);
            //    }







            string connetionString = null;


            SqlDataAdapter adpter = new SqlDataAdapter();
            DataSet ds = new DataSet();
            XmlReader xmlFile;



            connetionString = "Data Source=tsrv2062;Initial Catalog=Bums;User ID=BumsUser;Password=2tusen7Bums";


            xmlFile = XmlReader.Create("navetout.xml", new XmlReaderSettings());
            ds.ReadXml(xmlFile);


            using (var connection = new SqlConnection(connetionString))
            {
                connection.Open();



                DateTime datum = DateTime.Now;

                SqlCommand command1 = new SqlCommand("UPDATE Seamen SET FirstName = @FirstName, LastName = @LastName, NationalRegistrationCountyCode = @NationalRegistrationCountyCode, NationalRegistrationMunicipalityCode = @NationalRegistrationMunicipalityCode,NationalRegistrationPostCode = @NationalRegistrationPostCode, CitizenshipCode = @CitizenshipCode, LastChangedDate = @LastChangedDate WHERE PersonalIdentityNumber = @PersonalIdentityNumber", connection);

                foreach (Person p in myPersons)
                {

                    command1.Parameters.Clear();
                    command1.Parameters.AddWithValue("@PersonalIdentityNumber", p.PersonalIdentityNumber);
                    command1.Parameters.AddWithValue("@PersonalIdentityNumber", p.SpecialIdentityNumber ?? DBNull.Value.ToString());
                    command1.Parameters.AddWithValue("@FirstName", p.FirstName);
                    command1.Parameters.AddWithValue("@LastName", p.LastName);
                    command1.Parameters.AddWithValue("@NationalRegistrationCountyCode", p.NationalRegistrationCountyCode);
                    command1.Parameters.AddWithValue("@NationalRegistrationMunicipalityCode", p.NationalRegistrationMunicipalityCode);
                    command1.Parameters.AddWithValue("@NationalRegistrationDistributionAddress2", p.NationalRegistrationDistributionAddress2 ?? DBNull.Value.ToString());
                    command1.Parameters.AddWithValue("@NationalRegistrationPostCode", p.NationalRegistrationPostCode ?? DBNull.Value.ToString());
                    ////command1.Parameters.AddWithValue("@NationalRegistrationCity", postOrt);
                    ////command1.Parameters.AddWithValue("@BirthCountyCode", fodelselanKod);
                    ////command1.Parameters.AddWithValue("@BirthParish", fodelseforsamling);
                    command1.Parameters.AddWithValue("@CitizenshipCode", p.CitizenshipCode);
                    //// command1.Parameters.AddWithValue("@CitizenshipDate", medborgarskapsdatum);
                    command1.Parameters.AddWithValue("@LastChangedDate", datum);



                    command1.ExecuteNonQuery();

                    Console.WriteLine(p.PersonalIdentityNumber);


                }
            }

            Console.WriteLine("Done");


            }// Put a break-point here, then mouse-over PersonalIdentityNumber...  deserializedList contains everything if you need it
           catch (Exception)
            {

                throw;
            }
            Console.ReadKey();
        }

   class Person {
       public string PersonalIdentityNumber { get; set; }
       public string SpecialIdentityNumber { get; set; }
       public string FirstName { get; set; }
       public string LastName { get; set; }
       public string NationalRegistrationCountyCode { get; set; }
       public string NationalRegistrationMunicipalityCode { get; set; }
       public string NationalRegistrationDistributionAddress2 { get; set; }
       public string NationalRegistrationPostCode { get; set; }
       public string CitizenshipCode { get; set; }
}

    private static T Deserialize<T>() where T : new()
    {
        // Create an instance of T
        T ReturnListOfT = CreateInstance<T>();


        // Create a new file stream for reading the XML file
        using (FileStream ReadFileStream = new FileStream("navetout.xml", FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            // Construct a XmlSerializer and use it  
            // to serialize the data from the stream.
            XmlSerializer SerializerObj = new XmlSerializer(typeof(T));
            try
            {
                // Deserialize the hashtable from the file
                ReturnListOfT = (T)SerializerObj.Deserialize(ReadFileStream);
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("Failed to serialize. Reason: {0}", ex.Message));
            }

        }
        // return the Deserialized data.
        return ReturnListOfT;
    }

    // function to create instance of T
    public static T CreateInstance<T>() where T : new()
    {
        return (T)Activator.CreateInstance(typeof(T));
    }





}

[XmlRoot(ElementName = "Sekretessmarkering")]
public class Sekretessmarkering
{
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
    public string Nil { get; set; }
}

[XmlRoot(ElementName = "PersonId")]
public class PersonId
{
    [XmlElement(ElementName = "PersonNr")]
    public string PersonNr { get; set; }

    [XmlElement(ElementName = "TilldelatPersonNrSamordningsNr")]
    public string Tilltalsnamnsmarkering { get; set; }
}

[XmlRoot(ElementName = "HanvisningsPersonNr")]
public class HanvisningsPersonNr
{
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
    public string Nil { get; set; }
}

[XmlRoot(ElementName = "Mellannamn")]
public class Mellannamn
{
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
    public string Nil { get; set; }
}

[XmlRoot(ElementName = "Aviseringsnamn")]
public class Aviseringsnamn
{
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
    public string Nil { get; set; }
}

[XmlRoot(ElementName = "Namn")]
public class Namn
{
    [XmlElement(ElementName = "Tilltalsnamnsmarkering")]
    public string Tilltalsnamnsmarkering { get; set; }
    [XmlElement(ElementName = "Fornamn")]
    public string Fornamn { get; set; }
    [XmlElement(ElementName = "Mellannamn")]
    public Mellannamn Mellannamn { get; set; }
    [XmlElement(ElementName = "Efternamn")]
    public string Efternamn { get; set; }
    [XmlElement(ElementName = "Aviseringsnamn")]
    public Aviseringsnamn Aviseringsnamn { get; set; }
}

[XmlRoot(ElementName = "ForsamlingKod")]
public class ForsamlingKod
{
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
    public string Nil { get; set; }
}

[XmlRoot(ElementName = "Folkbokforing")]
public class Folkbokforing
{
    [XmlElement(ElementName = "Folkbokforingsdatum")]
    public string Folkbokforingsdatum { get; set; }
    [XmlElement(ElementName = "LanKod")]
    public string LanKod { get; set; }
    [XmlElement(ElementName = "KommunKod")]
    public string KommunKod { get; set; }
    [XmlElement(ElementName = "ForsamlingKod")]
    public ForsamlingKod ForsamlingKod { get; set; }
    [XmlElement(ElementName = "Fastighetsbeteckning")]
    public string Fastighetsbeteckning { get; set; }
    [XmlElement(ElementName = "FiktivtNr")]
    public string FiktivtNr { get; set; }
}

[XmlRoot(ElementName = "CareOf")]
public class CareOf
{
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
    public string Nil { get; set; }
}

[XmlRoot(ElementName = "Utdelningsadress1")]
public class Utdelningsadress1
{
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
    public string Nil { get; set; }
}

[XmlRoot(ElementName = "Folkbokforingsadress")]
public class Folkbokforingsadress
{
    [XmlElement(ElementName = "CareOf")]
    public CareOf CareOf { get; set; }
    [XmlElement(ElementName = "Utdelningsadress1")]
    public Utdelningsadress1 Utdelningsadress1 { get; set; }
    [XmlElement(ElementName = "Utdelningsadress2")]
    public string Utdelningsadress2 { get; set; }
    [XmlElement(ElementName = "PostNr")]
    public string PostNr { get; set; }
    [XmlElement(ElementName = "Postort")]
    public string Postort { get; set; }
}

[XmlRoot(ElementName = "Riksnycklar")]
public class Riksnycklar
{
    [XmlElement(ElementName = "FastighetsId")]
    public string FastighetsId { get; set; }
    [XmlElement(ElementName = "AdressplatsId")]
    public string AdressplatsId { get; set; }
    [XmlElement(ElementName = "LagenhetsId")]
    public string LagenhetsId { get; set; }
}

[XmlRoot(ElementName = "Adresser")]
public class Adresser
{
    [XmlElement(ElementName = "Folkbokforingsadress")]
    public Folkbokforingsadress Folkbokforingsadress { get; set; }
    [XmlElement(ElementName = "Riksnycklar")]
    public Riksnycklar Riksnycklar { get; set; }
}

[XmlRoot(ElementName = "HemortSverige")]
public class HemortSverige
{
    [XmlElement(ElementName = "FodelselanKod")]
    public string FodelselanKod { get; set; }
    [XmlElement(ElementName = "Fodelseforsamling")]
    public string Fodelseforsamling { get; set; }
}

[XmlRoot(ElementName = "Fodelse")]
public class Fodelse
{
    [XmlElement(ElementName = "HemortSverige")]
    public HemortSverige HemortSverige { get; set; }
}

[XmlRoot(ElementName = "Medborgarskap")]
public class Medborgarskap
{
    [XmlElement(ElementName = "MedborgarskapslandKod")]
    public string MedborgarskapslandKod { get; set; }
    [XmlElement(ElementName = "Medborgarskapsdatum")]
    public string Medborgarskapsdatum { get; set; }
}

[XmlRoot(ElementName = "Personpost")]
public class Personpost
{
    [XmlElement(ElementName = "PersonId")]
    public PersonId PersonId { get; set; }
    [XmlElement(ElementName = "HanvisningsPersonNr")]
    public HanvisningsPersonNr HanvisningsPersonNr { get; set; }
    [XmlElement(ElementName = "Namn")]
    public Namn Namn { get; set; }
    [XmlElement(ElementName = "Folkbokforing")]
    public Folkbokforing Folkbokforing { get; set; }
    [XmlElement(ElementName = "Adresser")]
    public Adresser Adresser { get; set; }
    [XmlElement(ElementName = "Fodelse")]
    public Fodelse Fodelse { get; set; }
    [XmlElement(ElementName = "Medborgarskap")]
    public Medborgarskap Medborgarskap { get; set; }
}

[XmlRoot(ElementName = "FolkbokforingspostTYPE")]
public class FolkbokforingspostTYPE
{
    [XmlElement(ElementName = "Sekretessmarkering")]
    public Sekretessmarkering Sekretessmarkering { get; set; }
    [XmlElement(ElementName = "Personpost")]
    public Personpost Personpost { get; set; }
}
}
6
  • man I didn't get what you're tying to to. Past a copy of your xml and the table scheme as well. Commented Apr 18, 2016 at 22:32
  • What type is p in p.PersonIdentity? Commented Apr 18, 2016 at 22:33
  • @MegaTron it's a class. I included it on my answer, please check. Commented Apr 18, 2016 at 22:46
  • Yes, thanks I see. Do you know all possible names of tag for PersonIdentity or can it be random? Commented Apr 18, 2016 at 23:01
  • Well I loop through them all and update the database table with the values of the XML tags. I will include my entire code so you can see. Commented Apr 18, 2016 at 23:06

1 Answer 1

2

Here's a suggestion, why not concatenate the PersonalIdentityNumber and SpecialIdentityNumber when assigning the primary key for your table?

public class Person 
{
       public string PersonalIdentityNumber { get; set; }
       public string SpecialIdentityNumber { get; set; }
       public string FirstName { get; set; }
       public string LastName { get; set; }
       public string NationalRegistrationCountyCode { get; set; }
       public string NationalRegistrationMunicipalityCode { get; set; }
       public string NationalRegistrationDistributionAddress2 { get; set; }
       public string NationalRegistrationPostCode { get; set; }
       public string CitizenshipCode { get; set; }
}

When you update the database...

            foreach (Person p in myPersons)
            {
                command1.Parameters.Clear();
                command1.Parameters.AddWithValue("@PersonalIdentityNumber", string.Format("{0}{1}", p.PersonalIdentityNumber, p.SpecialIdentityNumber));
                command1.Parameters.AddWithValue("@FirstName", p.FirstName);
                command1.Parameters.AddWithValue("@LastName", p.LastName);
                command1.Parameters.AddWithValue("@NationalRegistrationCountyCode", p.NationalRegistrationCountyCode);
                command1.Parameters.AddWithValue("@NationalRegistrationMunicipalityCode", p.NationalRegistrationMunicipalityCode);
                command1.Parameters.AddWithValue("@NationalRegistrationDistributionAddress2", p.NationalRegistrationDistributionAddress2 ?? DBNull.Value.ToString());
                command1.Parameters.AddWithValue("@NationalRegistrationPostCode", p.NationalRegistrationPostCode ?? DBNull.Value.ToString());
                ////command1.Parameters.AddWithValue("@NationalRegistrationCity", postOrt);
                ////command1.Parameters.AddWithValue("@BirthCountyCode", fodelselanKod);
                ////command1.Parameters.AddWithValue("@BirthParish", fodelseforsamling);
                command1.Parameters.AddWithValue("@CitizenshipCode", p.CitizenshipCode);
                //// command1.Parameters.AddWithValue("@CitizenshipDate", medborgarskapsdatum);
                command1.Parameters.AddWithValue("@LastChangedDate", datum);



                command1.ExecuteNonQuery();

                Console.WriteLine(p.PersonalIdentityNumber);


            }

The PersonalIdentityNumber field will be equal to Person.p.SpecialIdentityNumber + Person.p.SpecialIdentityNumber. If either one of them is missing it is still okay, even if both are present. You just have to adjust the way you fetch data using the PersonalIdentityNumber field.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.