/// <summary> /// Init window /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void InitWindow(object sender, DirectEventArgs e) { // init id var param = e.ExtraParams["Id"]; // parse id if (int.TryParse(param, out var id)) { // init window props if (id > 0) { // edit wdSetting.Title = @"Cập nhật thông tin chấm công"; wdSetting.Icon = Icon.Pencil; } // init id hdfId.Text = id.ToString(); // init model var model = new SchedulerModel(null); // check id if (id > 0) { var result = SchedulerController.GetById(id); if (result != null) { model = result; } } // set scheduler prop txtName.Text = model.Name; txtDescription.Text = model.Description; txtIntervalTime.Text = model.IntervalTime.ToString(); txtExpiredAfter.Text = model.ExpiredAfter.ToString(); txtArguments.Text = model.Arguments; chkEnable.Checked = model.Enabled; if (model.NextRunTime != null) { txtNextRuntime.Text = model.NextRunTime.Value.ToString("yyyy/MM/dd HH:mm"); } if (model.Id > 0) { // repeat type hdfSchedulerRepeatType.Text = ((int)model.RepeatType).ToString(); cbxSchedulerRepeatType.Text = model.RepeatTypeName; // scope hdfSchedulerScope.Text = ((int)model.Scope).ToString(); cbxSchedulerScope.Text = model.ScopeName; // status hdfSchedulerStatus.Text = ((int)model.Status).ToString(); cbxSchedulerStatus.Text = model.StatusName; } // show window wdSetting.Show(); } }
/// <summary> /// Insert or Update scheduler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void InsertOrUpdate(object sender, DirectEventArgs e) { // init model var model = new SchedulerModel(null); // check id if (!string.IsNullOrEmpty(hdfId.Text) && Convert.ToInt32(hdfId.Text) > 0) { var result = SchedulerController.GetById(Convert.ToInt32(hdfId.Text)); if (result != null) { model = result; } } // set new props for model model.Name = txtName.Text; model.Description = txtDescription.Text; model.Arguments = txtArguments.Text; model.IntervalTime = !string.IsNullOrEmpty(txtIntervalTime.Text) ? Convert.ToInt32(txtIntervalTime.Text) : 0; model.ExpiredAfter = !string.IsNullOrEmpty(txtExpiredAfter.Text) ? Convert.ToInt32(txtExpiredAfter.Text) : 0; model.Enabled = chkEnable.Checked; model.SchedulerTypeId = Convert.ToInt32(hdfSchedulerType.Text); model.RepeatType = (SchedulerRepeatType)Enum.Parse(typeof(SchedulerRepeatType), hdfSchedulerRepeatType.Text); model.Scope = (SchedulerScope)Enum.Parse(typeof(SchedulerScope), hdfSchedulerScope.Text); model.Status = (SchedulerStatus)Enum.Parse(typeof(SchedulerStatus), hdfSchedulerStatus.Text); model.NextRunTime = DateTime.TryParseExact(txtNextRuntime.Text, "yyyy/MM/dd HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out var nextRunTime) ? nextRunTime : DateTime.Now; // check model id if (model.Id > 0) { // update SchedulerController.Update(model); } else { // insert SchedulerController.Create(model); } // hide window wdSetting.Hide(); // reload data gpScheduler.Reload(); }