public static string GetDayOfWeekGC(this DayOfWeek dayOfWeek, CultureInfoTag culture
                                            , OutputDateFormat format)
        {
            string result = "";

            CultureInfo cultureInfo = null;

            switch (culture)
            {
            case CultureInfoTag.English_GB:
                cultureInfo = CultureInfo.CreateSpecificCulture("en-GB");
                break;

            case CultureInfoTag.English_US:
                cultureInfo = CultureInfo.CreateSpecificCulture("en-US");
                break;
            }
            var info = cultureInfo.DateTimeFormat;

            switch (format)
            {
            case OutputDateFormat.Complete:
                result = info.GetDayName(dayOfWeek);
                break;

            case OutputDateFormat.ShortForm:
                result = info.GetAbbreviatedDayName(dayOfWeek);
                break;
            }
            return(result);
        }
        public static string GetDayOfWeekGC(this DateTime date, CultureInfoTag culture
                                            , OutputDateFormat format)
        {
            var dayOfWeek = GC.GetDayOfWeek(date);

            return(GetDayOfWeekGC(dayOfWeek, culture, format));
        }
        public static string GetMonthInNameGC(this DateTime date, CultureInfoTag culture
                                              , OutputDateFormat format)
        {
            int month = GC.GetMonth(date);

            return(GetMonthInNameGC(month, culture, format));
        }
        public static string GetMonthInNameGC(this int month, CultureInfoTag culture
                                              , OutputDateFormat format)
        {
            string result = "";

            CultureInfo cultureInfo = null;

            switch (culture)
            {
            case CultureInfoTag.English_GB:
                cultureInfo = CultureInfo.CreateSpecificCulture("en-GB");
                break;

            case CultureInfoTag.English_US:
                cultureInfo = CultureInfo.CreateSpecificCulture("en-US");
                break;
            }
            var info = cultureInfo.DateTimeFormat;

            switch (format)
            {
            case OutputDateFormat.Complete:
                result = info.GetMonthName(month);
                break;

            case OutputDateFormat.ShortForm:
                result = info.GetAbbreviatedMonthName(month);
                break;

            default:
                break;
            }
            return(result);
        }
        public static string FormatCurrency(this decimal number, CultureInfoTag cultureInfoTag)
        {
            CultureInfo      cultureInfo      = null;
            NumberFormatInfo numberFormatInfo = null;

            switch (cultureInfoTag)
            {
            case CultureInfoTag.English_GB:
                cultureInfo = CultureInfo.CreateSpecificCulture("en-GB");
                break;

            case CultureInfoTag.English_US:
                cultureInfo = CultureInfo.CreateSpecificCulture("en-US");
                break;

            default:
                break;
            }

            return(number.ToString("C", cultureInfo));
        }