using System.Net.Mail;

namespace decePubClient.Helpers
{
	public static class SUtility
	{
		public static T IfTrueThen<T>(bool conditionIsTrue, T ifTrue, T ifFalse = default)
		{
			if (conditionIsTrue)
				return ifTrue;
			else
				return ifFalse;
		}

		public static bool TimeBetween(this DateTime datetime, TimeSpan start, TimeSpan end)
		{
			// convert datetime to a TimeSpan
			var now = datetime.TimeOfDay;
			// see if start comes before end
			if (start < end)
				return start <= now && now <= end;
			// start is after end, so do the inverse comparison
			return !(end < now && now < start);
		}

		public static string GetFileIcon(string fileName)
		{
			switch (Path.GetExtension(fileName))
			{
				case ".odp":
				case ".pptx":
					return "file-powerpoint";

				case ".ods":
				case ".xlsx":
					return "file-excel";

				case ".odt":
				case ".docx":
					return "file-word";

				case ".pdf":
					return "file-pdf";

				case ".jpg":
				case ".jpeg":
				case ".png":
					return "file-image";

				default:
					return "file";
			}
		}

		public static bool IsValidEmail(string email)
		{
			try
			{
				var addr = new MailAddress(email);
				return addr.Address == email;
			}
			catch
			{
				return false;
			}
		}
	}
}