Files
BeWoPlaner/ReportImp/Fortis/FortisServiceRecord.cs

78 lines
2.6 KiB
C#

using BeWo.Report.ReportObjects;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Fortis
{
public class FortisServiceRecord
{
public double MinutenH { get; set; }
public double MinutenB { get; set; }
public double MinutenT { get; set; }
public double MinutenGD { get; set; }
public double MinutenKL { get; set; }
public double MinutenAK { get; set; }
public int AnzahlMA { get; set; }
public double MinutenGI { get; set; }
public int Groesse { get; set; }
public DateTime? FehlkontaktBeginn { get; set; }
public DateTime? FehlkontaktEnde { get; set; }
public double FehlkontaktMinuten { get; set; }
internal static FortisServiceRecord CreateFromServiceDescription(String serviceCategory, String serviceDescription, double minutes, DateTime recordStart, DateTime recordEnd)
{
var fsr = new FortisServiceRecord();
if (serviceDescription.Contains("Wohnraum"))
{
fsr.MinutenH += minutes;
}
else if (serviceDescription.Contains("Sozialraum"))
{
fsr.MinutenB += minutes;
}
else if (serviceDescription.Contains("Telefon"))
{
fsr.MinutenT += minutes;
}
else if (serviceDescription.Contains("Dienststelle"))
{
fsr.MinutenGD += minutes;
}
else if (serviceDescription.Contains("abgesagt"))
{
fsr.FehlkontaktBeginn = recordStart;
fsr.FehlkontaktEnde = recordEnd;
fsr.FehlkontaktMinuten = minutes;
}
else if (serviceDescription.Contains("pool") || serviceCategory.Contains("WG-Aktivität") || serviceCategory.Contains("WG Aktivität"))
{
fsr.MinutenGI += minutes;
}
else if (serviceDescription.Contains("Kompensatorisch") || serviceDescription.Contains("Leistung im Auftrag"))
{
fsr.MinutenKL += minutes;
}
else if (serviceDescription.Contains("Krankenhaus"))
{
fsr.MinutenAK += minutes;
}
else
{
//nichts zum Abrechnen vorhanden
return null;
}
return fsr;
}
public double BerechneDirekteMinutenGesamt()
{
return MinutenH + MinutenB + MinutenT + MinutenGD + MinutenKL + MinutenAK + MinutenGI;
}
}
}