static void Main()
    {
        var wd = new WeekDays();

        Console.WriteLine(wd.HasFlag(WeekDays.Monday));

        wd = WeekDays.Monday;

        Console.WriteLine(wd.HasFlag(WeekDays.Monday));

        bool is_defined = Enum.IsDefined(typeof(WeekDays), "Monday");

        Console.WriteLine(is_defined);
        bool is_not_defined = Enum.IsDefined(typeof(WeekDays), "Mondays");

        Console.WriteLine(is_not_defined);
        Console.ReadLine();
    }
    static void Main()
    {
        var wd = new WeekDays();

        Console.WriteLine(wd.HasFlag(WeekDays.Monday));

        wd = WeekDays.Monday;

        Console.WriteLine(wd.HasFlag(WeekDays.Monday));

        bool is_defined = Enum.IsDefined(typeof(WeekDays), "Monday");

        Console.WriteLine(is_defined);
        bool is_not_defined = Enum.IsDefined(typeof(WeekDays), "Mondays");

        Console.WriteLine(is_not_defined);
        bool has_flag_by_string = Enum.TryParse <WeekDays>("Monday", out wd);

        Console.WriteLine(has_flag_by_string);
        Console.ReadLine();
    }
Example #3
0
        public JobScheduleDetailsModel getScheduleDetails(string serverName, Guid jobID, Guid scheduleUID)
        {
            ConnectSqlServer        connection = new ConnectSqlServer();
            Server                  dbServer   = connection.Connect(serverName);
            JobScheduleDetailsModel schedule   = new JobScheduleDetailsModel();
            Job job = dbServer.JobServer.GetJobByID(jobID);

            var jobschedule = job.JobSchedules[scheduleUID];

            schedule.IsEnabled         = jobschedule.IsEnabled;
            schedule.Name              = jobschedule.Name;
            schedule.ScheduleFrequency = jobschedule.FrequencyTypes.ToString();
            schedule.ServerName        = serverName;
            schedule.JobID             = jobID;
            schedule.ScheduleUID       = scheduleUID;
            schedule = setDefaults(schedule);

            switch (jobschedule.FrequencyTypes.ToString())
            {
            case "OneTime":
                schedule.OneTimeStartDate      = jobschedule.ActiveStartDate;
                schedule.OneTimeStartTimeOfDay = jobschedule.ActiveStartTimeOfDay;
                break;

            case "Daily":
                schedule.DailyRecursEvery = jobschedule.FrequencyInterval;
                break;

            case "Weekly":
                WeekDays days = (WeekDays)jobschedule.FrequencyInterval;
                schedule.WeeklyRecursEvery = jobschedule.FrequencyRecurrenceFactor;
                if (days.HasFlag(WeekDays.Sunday))
                {
                    schedule.WeeklySunday = true;
                }
                if (days.HasFlag(WeekDays.Monday))
                {
                    schedule.WeeklyMonday = true;
                }
                if (days.HasFlag(WeekDays.Tuesday))
                {
                    schedule.WeeklyTuesday = true;
                }
                if (days.HasFlag(WeekDays.Wednesday))
                {
                    schedule.WeeklyWednesday = true;
                }
                if (days.HasFlag(WeekDays.Thursday))
                {
                    schedule.WeeklyThursday = true;
                }
                if (days.HasFlag(WeekDays.Friday))
                {
                    schedule.WeeklyFriday = true;
                }
                if (days.HasFlag(WeekDays.Saturday))
                {
                    schedule.WeeklySaturday = true;
                }
                break;

            case "Monthly":
                schedule.MonthlyDayNo     = jobschedule.FrequencyInterval;
                schedule.MonthlyFrequency = jobschedule.FrequencyRecurrenceFactor;
                break;

            case "MonthlyRelative":
                MonthlyRelativeWeekDays monthdays = (MonthlyRelativeWeekDays)jobschedule.FrequencyInterval;
                schedule.MonthlyRelativeFreq           = jobschedule.FrequencyRecurrenceFactor;
                schedule.MonthlyRelativeFreqSubDayType = jobschedule.FrequencyRelativeIntervals.ToString();
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.Sunday))
                {
                    schedule.MonthlyRelativeSubFreq = "Sunday";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.Monday))
                {
                    schedule.MonthlyRelativeSubFreq = "Monday";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.Tuesday))
                {
                    schedule.MonthlyRelativeSubFreq = "Tuesday";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.Wednesday))
                {
                    schedule.MonthlyRelativeSubFreq = "Wednesday";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.Thursday))
                {
                    schedule.MonthlyRelativeSubFreq = "Thursday";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.Friday))
                {
                    schedule.MonthlyRelativeSubFreq = "Friday";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.Saturday))
                {
                    schedule.MonthlyRelativeSubFreq = "Saturday";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.WeekDays))
                {
                    schedule.MonthlyRelativeSubFreq = "WeekDays";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.WeekEnds))
                {
                    schedule.MonthlyRelativeSubFreq = "WeekEnds";
                }
                if (monthdays.HasFlag(MonthlyRelativeWeekDays.EveryDay))
                {
                    schedule.MonthlyRelativeSubFreq = "EveryDay";
                }
                break;

            default:
                schedule.OneTimeStartDate      = jobschedule.ActiveStartDate;
                schedule.OneTimeStartTimeOfDay = jobschedule.ActiveStartTimeOfDay;
                break;
            }

            if (jobschedule.ActiveEndTimeOfDay.Hours == 23 && jobschedule.ActiveEndTimeOfDay.Minutes == 59 && jobschedule.ActiveEndTimeOfDay.Seconds == 59)
            {
                schedule.DailyFreqOccursOnce     = true;
                schedule.DailyFreqOccursOnceTime = jobschedule.ActiveStartTimeOfDay;
            }
            else
            {
                schedule.DailyFreqOccursOnce   = false;
                schedule.DailyFreqOccursEvery  = jobschedule.FrequencySubDayInterval;
                schedule.DailyFreqSubDay       = jobschedule.FrequencySubDayTypes.ToString();
                schedule.DailyFreqStartingTime = jobschedule.ActiveStartTimeOfDay;
                schedule.DailyFreqEndingTime   = jobschedule.ActiveEndTimeOfDay;
            }
            schedule.DurationStartDate = jobschedule.ActiveStartDate;
            schedule.DurationEndDate   = jobschedule.ActiveEndDate;
            if (jobschedule.ActiveEndDate == DateTime.MaxValue.Date)
            {
                schedule.DurationNoEndDate = true;
            }

            return(schedule);
        }