internal static AsyncAction VMCreateObjectAction( string _name_label, string _name_description, policy_backup_type _backup_type, policy_frequency _backup_frequency, Dictionary <string, string> _backup_schedule, long _backup_retention_value, vmpp_archive_frequency _archive_frequency, Dictionary <string, string> _archive_target_config, vmpp_archive_target_type _archive_target_type, Dictionary <string, string> _archive_schedule, bool _is_alarm_enabled, Dictionary <string, string> _alarm_config, bool _is_policy_enabled, List <VM> vms, bool runNow, IXenConnection _connection) { if (typeof(T) == typeof(VMPP)) { var vmpp = new VMPP { name_label = _name_label, name_description = _name_description, backup_type = (vmpp_backup_type)_backup_type, backup_frequency = (vmpp_backup_frequency)_backup_frequency, backup_schedule = _backup_schedule, backup_retention_value = _backup_retention_value, archive_frequency = _archive_frequency, archive_target_config = _archive_target_config, archive_target_type = _archive_target_type, archive_schedule = _archive_schedule, is_alarm_enabled = _is_alarm_enabled, alarm_config = _alarm_config, is_policy_enabled = _is_policy_enabled, Connection = _connection }; return(new CreateVMPolicy <VMPP>(vmpp, vms, runNow)); } else { var vmss = new VMSS { name_label = _name_label, name_description = _name_description, type = (vmss_type)_backup_type, frequency = (vmss_frequency)_backup_frequency, schedule = _backup_schedule, retained_snapshots = _backup_retention_value, enabled = _is_policy_enabled, Connection = _connection }; return(new CreateVMPolicy <VMSS>(vmss, vms, runNow)); } }
internal static string FormatSchedule(Dictionary <string, string> schedule, policy_frequency backupFrequency, DaysWeekCheckboxes.DaysMode mode) { if (backupFrequency == policy_frequency.hourly) { return(string.Format(Messages.HOURLY_SCHEDULE_FORMAT, schedule["min"])); } else if (backupFrequency == policy_frequency.daily) { DateTime value = DateTime.Parse(string.Format("{0}:{1}", schedule["hour"], schedule["min"]), CultureInfo.InvariantCulture); return(string.Format(Messages.DAILY_SCHEDULE_FORMAT, HelpersGUI.DateTimeToString(value, Messages.DATEFORMAT_HM, true))); } else if (backupFrequency == policy_frequency.weekly) { DateTime value = DateTime.Parse(string.Format("{0}:{1}", schedule["hour"], schedule["min"]), CultureInfo.InvariantCulture); return(string.Format(Messages.WEEKLY_SCHEDULE_FORMAT, HelpersGUI.DateTimeToString(value, Messages.DATEFORMAT_HM, true), DaysWeekCheckboxes.L10NDays(schedule["days"], mode))); } return(""); }