Пример #1
0
        private void btn_Set_Click(object sender, EventArgs e)
        {
            var isNotNumeric = CheckIfNotNumeric();

            if (isNotNumeric)
            {
                MessageBox.Show(Constants.BackupIntervalErrorMessage, Constants.InformativeMessage, MessageBoxButtons.OK);
            }
            else
            {
                if (string.IsNullOrEmpty(txtBox_TimeInterval.Text))
                {
                    MessageBox.Show(Constants.IntervalErrorMessage, Constants.InformativeMessage);
                }
                else
                {
                    var atScheduleTime = DateTime.Parse(timePicker_At.Text, CultureInfo.InvariantCulture);
                    //set isNowPressed to false in case user pressed Now button and after that he has changed the 'At' time manually
                    if (dateTimePicker_FirstBackup.Value.Day.Equals(DateTime.Now.Day) && dateTimePicker_FirstBackup.Value.Month.Equals(DateTime.Now.Month) && dateTimePicker_FirstBackup.Value.Year.Equals(DateTime.Now.Year) &&
                        (atScheduleTime.Hour != DateTime.Now.Hour || atScheduleTime.Minute != DateTime.Now.Minute && _isNowPressed))
                    {
                        _isNowPressed = false;
                    }

                    if (!dateTimePicker_FirstBackup.Value.Day.Equals(DateTime.Now.Day) && _isNowPressed ||
                        !dateTimePicker_FirstBackup.Value.Month.Equals(DateTime.Now.Month) && _isNowPressed ||
                        !dateTimePicker_FirstBackup.Value.Year.Equals(DateTime.Now.Year) && _isNowPressed)
                    {
                        _isNowPressed = false;
                    }

                    var periodicBackupModel = new PeriodicBackupModel();
                    periodicBackupModel.BackupInterval = int.Parse(txtBox_TimeInterval.Text);
                    periodicBackupModel.TimeType       = cmbBox_Interval.SelectedItem.ToString();
                    periodicBackupModel.FirstBackup    = new DateTime(dateTimePicker_FirstBackup.Value.Year,
                                                                      dateTimePicker_FirstBackup.Value.Month,
                                                                      dateTimePicker_FirstBackup.Value.Day) + new TimeSpan(atScheduleTime.Hour, atScheduleTime.Minute, atScheduleTime.Second);
                    periodicBackupModel.BackupAt          = timePicker_At.Text;
                    periodicBackupModel.BackupName        = _taskName;
                    periodicBackupModel.TrimmedBackupName = string.Concat(_taskName.Where(c => !char.IsWhiteSpace(c)));
                    periodicBackupModel.IsNowPressed      = _isNowPressed;
                    _periodicBackupModelList.Add(periodicBackupModel);

                    var persistence = new Persistence();
                    persistence.SavePeriodicBackupInfo(_periodicBackupModelList, _taskName);

                    Close();
                }
            }
        }
Пример #2
0
        public void SavePeriodicBackupInfo(PeriodicBackupModel periodicBackupModel)
        {
            CheckIfJsonFileExist();

            var jsonText = File.ReadAllText(_persistancePath);
            var request  = JsonConvert.DeserializeObject <JsonRequestModel>(jsonText);

            if (request == null)
            {
                request = new JsonRequestModel();
            }

            request.PeriodicBackupModel = periodicBackupModel;
            var json = JsonConvert.SerializeObject(request);

            File.WriteAllText(_persistancePath, json);
        }
Пример #3
0
        private void btn_Set_Click(object sender, EventArgs e)
        {
            PeriodicBackupModel periodicBackupModel = new PeriodicBackupModel();

            periodicBackupModel.BackupInterval = int.Parse(txtBox_TimeInterval.Text);
            periodicBackupModel.TimeType       = cmbBox_Interval.SelectedItem.ToString();
            periodicBackupModel.FirstBackup    = dateTimePicker_FirstBackup.Value;
            periodicBackupModel.BackupAt       = timePicker_At.Text;
            periodicBackupModel.IsRunOption    = radioBtn_RunOption.Checked;
            periodicBackupModel.IsWaitOption   = radioBtn_WaitOption.Checked;

            Persistence persistence = new Persistence();

            persistence.SavePeriodicBackupInfo(periodicBackupModel);

            this.Close();
        }
Пример #4
0
        public void SavePeriodicModel(PeriodicBackupModel periodicModel)
        {
            var jsonText = File.ReadAllText(_persistancePath);
            var request  = JsonConvert.DeserializeObject <JsonRequestModel>(jsonText);

            if (periodicModel != null && request.PeriodicBackupModelList != null)
            {
                foreach (var item in request.PeriodicBackupModelList)
                {
                    if (item.BackupName.Equals(periodicModel.BackupName))
                    {
                        request.PeriodicBackupModelList.Remove(item);
                        break;
                    }
                }
                request.PeriodicBackupModelList.Add(periodicModel);
                WriteJsonRequestModel(request);
            }
        }
Пример #5
0
        private void btn_Set_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtBox_TimeInterval.Text))
            {
                MessageBox.Show(Constants.IntervalErrorMessage, Constants.InformativeMessage);
            }
            else
            {
                PeriodicBackupModel periodicBackupModel = new PeriodicBackupModel();
                periodicBackupModel.BackupInterval = int.Parse(txtBox_TimeInterval.Text);
                periodicBackupModel.TimeType       = cmbBox_Interval.SelectedItem.ToString();
                periodicBackupModel.FirstBackup    = dateTimePicker_FirstBackup.Value;
                periodicBackupModel.BackupAt       = timePicker_At.Text;

                Persistence persistence = new Persistence();
                persistence.SavePeriodicBackupInfo(periodicBackupModel);

                Close();
            }
        }