Files
BeWoPlaner/ReportImp/PraxisPusteblume/Invoicing/InvoiceHelper.cs
Christian 023ca37cdc cb
2017-12-11 14:31:59 +01:00

63 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using BS.Shared.Services;
namespace PraxisPusteblume.Invoicing
{
public class InvoiceHelper
{
public static void InitInvoiceItem(InvoiceItem ii)
{
//if (iServiceRecord.ServiceDescription.Name == "")
ii.ItemDescription = "Einzelbetreuung";
if (ii.RateFactor.HasValue && ii.UnitCount.HasValue)
{
if (ii.RateFactor == 33.33m)
{
ii.RateFactor = 100m / 3m;
}
ii.UnitCount = ii.UnitCount.Value * ((100 + ii.RateFactor.Value) / 100);
ii.GrossAmountTotal = ii.UnitCount * (ii.AmountPerUnit ?? 0);
}
}
public static String GetUnitString(decimal? unitCount)
{
if (!unitCount.HasValue)
return "0";
if (unitCount.Value != Math.Floor(unitCount.Value))
{
var rest = unitCount.Value - Math.Floor(unitCount.Value);
if (Math.Round(rest, 2, MidpointRounding.AwayFromZero) == 0.33m)
{
return String.Format("{0:0} 1/3", Math.Floor(unitCount.Value));
}
if (Math.Round(rest, 2, MidpointRounding.AwayFromZero) == 0.67m)
{
return String.Format("{0:0} 2/3", Math.Floor(unitCount.Value));
}
}
return String.Format("{0:0.##}", unitCount);
}
public static int GetKW(DateTime actualDate)
{
Calendar objCal = CultureInfo.CurrentCulture.Calendar;
int weekofyear = objCal.GetWeekOfYear(actualDate, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
return weekofyear;
}
}
}