Files
BeWoPlaner/ReportImp/AutismusKoelnBonn/Service/AbrechenbarkeitenHelper.cs

59 lines
2.3 KiB
C#

using BeWo.Data.Entities;
using BS.Shared.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AutismusKoelnBonn.Service
{
public class AbrechenbarkeitenHelper
{
public static Dictionary<string, bool> CheckAbrechenbarkeiten(IList<VarFieldValue> varFieldValueList)
{
Dictionary<string, bool> abrechenbarkeitenDict = new Dictionary<string, bool>();
bool wegezeitAbrechenbar = false;
bool ausfallzeitAbrechenbar = false;
bool mittelbarAbrechenbar = false;
foreach (var vv in varFieldValueList)
{
var varFieldValue = Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
if (varFieldValue != null)
{
switch (vv.VarFieldDefOid)
{
case 1: // Wegzeit
wegezeitAbrechenbar = varFieldValue != null && varFieldValue.ToString() == "Ja" ? true : false;
break;
case 2: // Ausfallzeit
ausfallzeitAbrechenbar = varFieldValue != null && varFieldValue.ToString() == "Ja" ? true : false;
break;
case 3: // Mittelbar
mittelbarAbrechenbar = varFieldValue != null && varFieldValue.ToString() == "Ja" ? true : false;
break;
}
}
}
abrechenbarkeitenDict.Add("Wegezeiten", wegezeitAbrechenbar);
abrechenbarkeitenDict.Add("Ausfallzeiten", ausfallzeitAbrechenbar);
abrechenbarkeitenDict.Add("Mittelbar", mittelbarAbrechenbar);
return abrechenbarkeitenDict;
}
//public static decimal? GetWegezeitBetrag(IList<VarFieldValue> varFieldValueList)
//{
// var betragVarField = varFieldValueList.FirstOrDefault(vv => vv.VarFieldDefOid == 4);
// if (betragVarField != null)
// return Convert.ToDecimal(Utils.XMLDeserializeFromString(betragVarField.SerializedValue, Type.GetType(betragVarField.TypeName)));
// else
// return 0m;
//}
}
}