kreta/Kreta.Job.Tasks/Helpers/Utility/Extensions.cs
2024-03-13 00:33:46 +01:00

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;
}
}
}