95 lines
2.8 KiB
C#
95 lines
2.8 KiB
C#
using BS.Shared.DataContracts;
|
|
using Dakota.Models;
|
|
using Dakota.Models.Auftragsdatei;
|
|
using Dakota.Models.Blocke;
|
|
using Dakota.Models.Infos;
|
|
using Dakota.Models.Nachrichten;
|
|
using Dakota.Models.Segmente;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace Dakota
|
|
{
|
|
/// <summary>
|
|
/// Nutzdatendatei mit Logik
|
|
/// </summary>
|
|
public class DakotaFile
|
|
{
|
|
internal Nutzdatendatei Nutzdatendatei { get; private set; }
|
|
internal Auftragsdatei Auftragsdatei { get; private set; }
|
|
|
|
public DateTime Created { get; set; }
|
|
|
|
internal string Verfahrenskennung => Auftragsdatei.AuftragssatzPart1.VerfahrenKennung.GetValue();
|
|
internal string Transfernummer => Auftragsdatei.AuftragssatzPart1.TransferNummer.GetValue();
|
|
|
|
internal DakotaFile(DateTime created)
|
|
{
|
|
Nutzdatendatei = new Nutzdatendatei(this);
|
|
Auftragsdatei = new Auftragsdatei(this);
|
|
Created = created;
|
|
}
|
|
|
|
public int GetDatenaustauschreferenz()
|
|
{
|
|
return Nutzdatendatei.SegmentUNB.Datenaustauschreferenz.Value;
|
|
}
|
|
|
|
public string GetTransferName()
|
|
{
|
|
return Verfahrenskennung + Transfernummer;
|
|
}
|
|
|
|
public string GetNutzdatendatei()
|
|
{
|
|
return Nutzdatendatei.GetRows();
|
|
}
|
|
|
|
public string GetAuftragsdatei()
|
|
{
|
|
return Auftragsdatei.GetRows();
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return Nutzdatendatei.GetRows();
|
|
}
|
|
|
|
public string GetIKVersichertenKarte()
|
|
{
|
|
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.First().NachrichtSLGA.SegmentFKT.IKVersichertenKarte.GetValue();
|
|
}
|
|
|
|
public string GetIKLeistungserbringer()
|
|
{
|
|
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.First().NachrichtSLGA.SegmentFKT.IKLeistungserbringers.GetValue();
|
|
}
|
|
|
|
public string GetIKDatenannahmestelle()
|
|
{
|
|
return Nutzdatendatei.SegmentUNB.Empfangdatei.GetValue();
|
|
}
|
|
|
|
public string GetIKKostenträger()
|
|
{
|
|
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.First().NachrichtSLGA.SegmentFKT.IKKostenträger.GetValue();
|
|
}
|
|
|
|
public decimal GetBetrag()
|
|
{
|
|
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.Sum(x => x.NachrichtSLGA.SegmentGES00.GesamtrechnungsbetragDecimal);
|
|
}
|
|
|
|
public int GetKostenträgerCount()
|
|
{
|
|
return Nutzdatendatei.BlockKostenträger.Count;
|
|
}
|
|
|
|
public string GetRechnungsnummer()
|
|
{
|
|
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.First().NachrichtSLGA.SegmentREC.Rechnungsnummer.GetValue();
|
|
}
|
|
}
|
|
}
|