55 lines
2.1 KiB
C#
55 lines
2.1 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework.Util;
|
|
|
|
namespace Kreta.Job.Tasks.Helpers.Utility
|
|
{
|
|
public static class Extensions
|
|
{
|
|
/// UTC: 2016-10-30T20:00:00Z
|
|
/// Local: 2016-10-30T23:00:00+01:00
|
|
/// Unspecified: 2016-10-30T22:00:00
|
|
public static DateTime ToIso8601Utc(this DateTime dt)
|
|
=> new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, dt.Kind).ToUniversalTime();
|
|
|
|
/// UTC: 2016-10-30T20:00:00Z
|
|
/// Local: 2016-10-30T23:00:00+01:00
|
|
/// Unspecified: 2016-10-30T22:00:00
|
|
public static string ToIso8601UtcString(this DateTime dt)
|
|
=> dt.ToIso8601Utc().ToString("yyyy-MM-dd'T'HH:mm:ssK", CultureInfo.InvariantCulture);
|
|
|
|
public static string GetHetnapja(DateTime date, int tanevId, string intezmenyAzonosito)
|
|
=> GetHetNapja(date).GetItemNameFromCache(tanevId, intezmenyAzonosito).ToLower();
|
|
|
|
private static int GetHetNapja(DateTime date)
|
|
{
|
|
HetNapjaTipusEnum hetNapja = HetNapjaTipusEnum.na;
|
|
switch (date.DayOfWeek)
|
|
{
|
|
case DayOfWeek.Monday:
|
|
hetNapja = HetNapjaTipusEnum.Hetfo;
|
|
break;
|
|
case DayOfWeek.Tuesday:
|
|
hetNapja = HetNapjaTipusEnum.Kedd;
|
|
break;
|
|
case DayOfWeek.Wednesday:
|
|
hetNapja = HetNapjaTipusEnum.Szerda;
|
|
break;
|
|
case DayOfWeek.Thursday:
|
|
hetNapja = HetNapjaTipusEnum.Csutortok;
|
|
break;
|
|
case DayOfWeek.Friday:
|
|
hetNapja = HetNapjaTipusEnum.Pentek;
|
|
break;
|
|
case DayOfWeek.Saturday:
|
|
hetNapja = HetNapjaTipusEnum.Szombat;
|
|
break;
|
|
case DayOfWeek.Sunday:
|
|
hetNapja = HetNapjaTipusEnum.Vasarnap;
|
|
break;
|
|
}
|
|
return (int)hetNapja;
|
|
}
|
|
}
|
|
}
|