Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Boligdetaljer to data-types #12

Merged
merged 2 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Digipost.Api.Client.DataTypes.Core/Appointment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ public class Appointment : BaseDataType<Internal.Appointment>
public Language Language { get; set; }
public List<Info> Infos { get; }
public string SubTitle { get; set; }

public ExternalLink Link { get; set; }

public Appointment(DateTime startTime)
Expand Down
70 changes: 70 additions & 0 deletions Digipost.Api.Client.DataTypes.Core/Boligdetaljer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
using System.Collections.Generic;
using System.Linq;
using Digipost.Api.Client.DataTypes.Core.Common;
using Digipost.Api.Client.DataTypes.Core;

namespace Digipost.Api.Client.DataTypes.Core
{
public class Boligdetaljer : BaseDataType<Internal.Boligdetaljer>
{
public Residence Residence { get; }
public List<Hjemmelshaver> Hjemmelshavers { get; }
public List<Omsetningshistorikk> Omsetningshistorikks { get; }
public List<Heftelse> Heftelses { get; }
public Language Language { get; set; }
public int Bruksareal { get; set; }
public int AntallOppholdsrom { get; set; }
public int AntallBaderom { get; set; }
public string Organisasjonsnummer { get; set; }
public string Bruksenhet { get; set; }
public string Andelsnummer { get; set; }
public ExternalLink CallToAction { get; set; }

public Boligdetaljer(Residence residence)
{
Language = Language.NB;
Hjemmelshavers = new List<Hjemmelshaver>();
Omsetningshistorikks = new List<Omsetningshistorikk>();
Heftelses = new List<Heftelse>();
Residence = residence;
}

internal override Internal.Boligdetaljer ToDto()
{
var boligdetaljer = new Internal.Boligdetaljer
{
Residence = Residence.ToDto(),
Bruksareal = Bruksareal,
AntallOppholdsrom = AntallOppholdsrom,
AntallBaderom = AntallBaderom,
Organisasjonsnummer = Organisasjonsnummer,
Bruksenhet = Bruksenhet,
Andelsnummer = Andelsnummer
};

boligdetaljer.Language = Language.ToDto();

if (CallToAction != null)
{
boligdetaljer.CallToAction = CallToAction.ToDto();
}

foreach (var hh in Hjemmelshavers.Select(hjemmelshaver => hjemmelshaver.ToDto()))
{
boligdetaljer.Hjemmelshavere.Add(hh);
}

foreach (var oh in Omsetningshistorikks.Select(omsetningshistorikk => omsetningshistorikk.ToDto()))
{
boligdetaljer.Omsetningshistorikk.Add(oh);
}

foreach (var h in Heftelses.Select(heftelse => heftelse.ToDto()))
{
boligdetaljer.Heftelser.Add(h);
}

return boligdetaljer;
}
}
}
22 changes: 22 additions & 0 deletions Digipost.Api.Client.DataTypes.Core/Common/Heftelse.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
namespace Digipost.Api.Client.DataTypes.Core
{
public class Heftelse
{
public string Panthaver { get; set; }
public string TypePant { get; set; }
public string Beloep { get; set; }
}

internal static class HeftelserToDto
{
internal static Internal.Heftelse ToDto(this Heftelse heftelse)
{
return new Internal.Heftelse
{
Panthaver = heftelse.Panthaver,
TypePant = heftelse.TypePant,
Beloep = heftelse.Beloep
};
}
}
}
20 changes: 20 additions & 0 deletions Digipost.Api.Client.DataTypes.Core/Common/Hjemmelshaver.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
namespace Digipost.Api.Client.DataTypes.Core
{
public class Hjemmelshaver
{
public string Name { get; set; }
public string Email { get; set; }
}

internal static class HjemmelshaverToDto
{
internal static Internal.Hjemmelshaver ToDto(this Hjemmelshaver hjemmelshaver)
{
return new Internal.Hjemmelshaver
{
Name = hjemmelshaver.Name,
Email = hjemmelshaver.Email
};
}
}
}
34 changes: 34 additions & 0 deletions Digipost.Api.Client.DataTypes.Core/Common/Matrikkel.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
namespace Digipost.Api.Client.DataTypes.Core
{
public class Matrikkel
{
public string Kommunenummer { get; }
public string Gaardsnummer { get; }
public string Bruksnummer { get; }
public string Festenummer { get; set; }
public string Seksjonsnummer { get; set; }

public Matrikkel(string kommunenummer, string gaardsnummer, string bruksnummer)
{
Kommunenummer = kommunenummer;
Gaardsnummer = gaardsnummer;
Bruksnummer = bruksnummer;
}
}

internal static class MatrikkelToDto
{
internal static Internal.Matrikkel ToDto(this Matrikkel matrikkel)
{
return new Internal.Matrikkel
{
Kommunenummer = matrikkel.Kommunenummer,
Gaardsnummer = matrikkel.Gaardsnummer,
Bruksnummer = matrikkel.Bruksnummer,
Festenummer = matrikkel.Festenummer,
Seksjonsnummer = matrikkel.Seksjonsnummer
};
}
}

}
31 changes: 31 additions & 0 deletions Digipost.Api.Client.DataTypes.Core/Common/Omsetningshistorikk.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
namespace Digipost.Api.Client.DataTypes.Core
{
public class Omsetningshistorikk
{
public string Dato { get; }
public string Beskrivelse { get; set; }
public string Selger { get; set; }
public string Kjoeper { get; set; }
public long Beloep { get; set; }

public Omsetningshistorikk(string dato)
{
Dato = dato;
}
}

internal static class OmsetningshistorikkToDto
{
internal static Internal.Omsetningshistorikk ToDto(this Omsetningshistorikk omsetningshistorikk)
{
return new Internal.Omsetningshistorikk
{
Dato = omsetningshistorikk.Dato,
Beskrivelse = omsetningshistorikk.Beskrivelse,
Selger = omsetningshistorikk.Selger,
Kjoeper = omsetningshistorikk.Kjoeper,
Beloep = omsetningshistorikk.Beloep
};
}
}
}
43 changes: 43 additions & 0 deletions Digipost.Api.Client.DataTypes.Core/Common/Residence.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
namespace Digipost.Api.Client.DataTypes.Core
{
public class Residence
{
public ResidenceAddress ResidenceAddress { get; }
public Matrikkel Matrikkel { get; set; }
public string Source { get; set; }
public string ExternalId { get; set; }

public Residence(ResidenceAddress residenceAddress)
{
ResidenceAddress = residenceAddress;
}
}

internal static class ResidenceToDto
{
internal static Internal.Residence ToDto(this Residence residence)
{
var residenceAddress = new Internal.ResidenceAddress()
{
UnitNumber = residence.ResidenceAddress.UnitNumber,
HouseNumber = residence.ResidenceAddress.HouseNumber,
StreetName = residence.ResidenceAddress.StreetName,
PostalCode = residence.ResidenceAddress.PostalCode,
City = residence.ResidenceAddress.City
};

var res = new Internal.Residence
{
Address = residenceAddress,
Source = residence.Source,
ExternalId = residence.ExternalId
};

if (residence.Matrikkel != null)
{
res.Matrikkel = residence.Matrikkel.ToDto();
}
return res;
}
}
}
11 changes: 11 additions & 0 deletions Digipost.Api.Client.DataTypes.Core/Common/ResidenceAddress.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
namespace Digipost.Api.Client.DataTypes.Core
{
public class ResidenceAddress
{
public string UnitNumber { get; set; }
public string HouseNumber { get; set; }
public string StreetName { get; set; }
public string PostalCode { get; set; }
public string City { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@
<beloep>3000000000</beloep>
</heftelser>
<callToAction>
<url>https://www.example.com</url>
<url>https://www.example.com/</url>
<description>Gå til avsenders side for å gjøre en handling</description>
<button-text>Ta meg til handling!</button-text>
</callToAction>
<language>NB</language>
<language>NN</language>
</boligdetaljer>

<event xmlns="http://api.digipost.no/schema/datatypes">
Expand Down
Loading
Loading