protected void buttonUpdate_OnClick(object sender, EventArgs e) { if (Policy.Archived) { EndUserMessage = "Archived Policies Cannot Be Modified"; return; } Policy.Name = txtName.Text; Policy.Description = txtDescription.Text; Policy.Trigger = (EnumPolicy.Trigger)Enum.Parse(typeof(EnumPolicy.Trigger), ddlTrigger.SelectedValue); Policy.Frequency = (EnumPolicy.Frequency)Enum.Parse(typeof(EnumPolicy.Frequency), ddlFrequency.SelectedValue); if (Policy.Frequency == EnumPolicy.Frequency.OncePerWeek) { Policy.SubFrequency = Convert.ToInt16((EnumCalendar.DayOfWeek)Enum.Parse(typeof(EnumCalendar.DayOfWeek), ddlWeekDay.SelectedValue)); } else if (Policy.Frequency == EnumPolicy.Frequency.OncePerMonth) { Policy.SubFrequency = Convert.ToInt16(ddlMonthDay.SelectedValue); } else if (Policy.Frequency == EnumPolicy.Frequency.EveryXdays) { Policy.SubFrequency = Convert.ToInt16(txtDays.Text); } else if (Policy.Frequency == EnumPolicy.Frequency.EveryXhours) { Policy.SubFrequency = Convert.ToInt16(txtHours.Text); } else { Policy.SubFrequency = 0; } Policy.WindowStartScheduleId = Convert.ToInt32(ddlScheduleStart.SelectedValue); Policy.WindowEndScheduleId = Convert.ToInt32(ddlScheduleEnd.SelectedValue); Policy.ConditionId = Convert.ToInt32(ddlCondition.SelectedValue); Policy.ConditionFailedAction = (EnumCondition.FailedAction)Enum.Parse(typeof(EnumCondition.FailedAction), ddlConditionFailedAction.SelectedValue); Policy.StartDate = string.IsNullOrEmpty(txtStartDate.Text) ? Convert.ToDateTime(DateTime.UtcNow.ToShortDateString()) : Convert.ToDateTime(txtStartDate.Text).ToUniversalTime(); Policy.CompletedAction = (EnumPolicy.CompletedAction)Enum.Parse(typeof(EnumPolicy.CompletedAction), ddlCompletedAction.SelectedValue); Policy.RunInventory = (EnumPolicy.InventoryAction)Enum.Parse(typeof(EnumPolicy.InventoryAction), ddlInventory.SelectedValue); Policy.RunLoginTracker = chkLoginTracker.Checked; Policy.RemoveInstallCache = chkDeleteCache.Checked; Policy.WuType = (EnumPolicy.WuType)Enum.Parse(typeof(EnumPolicy.WuType), ddlWinUpdates.SelectedValue); Policy.ExecutionType = (EnumPolicy.ExecutionType)Enum.Parse(typeof(EnumPolicy.ExecutionType), ddlExecType.SelectedValue); Policy.ErrorAction = (EnumPolicy.ErrorAction)Enum.Parse(typeof(EnumPolicy.ErrorAction), ddlErrorAction.SelectedValue); Policy.MissedAction = (EnumPolicy.FrequencyMissedAction)Enum.Parse(typeof(EnumPolicy.FrequencyMissedAction), ddlMissed.SelectedValue); Policy.LogLevel = (EnumPolicy.LogLevel)Enum.Parse(typeof(EnumPolicy.LogLevel), ddlLogLevel.SelectedValue); Policy.PolicyComCondition = (EnumPolicy.PolicyComCondition)Enum.Parse(typeof(EnumPolicy.PolicyComCondition), ddlComCondition.SelectedValue); Policy.SkipServerResult = chkSkipResult.Checked; Policy.RunApplicationMonitor = chkApplicationMonitor.Checked; Policy.AutoArchiveType = (EnumPolicy.AutoArchiveType)Enum.Parse(typeof(EnumPolicy.AutoArchiveType), ddlAutoArchive.SelectedValue); if (Policy.AutoArchiveType == EnumPolicy.AutoArchiveType.AfterXdays) { Policy.AutoArchiveSub = txtAutoArchiveDays.Text; } if (Policy.PolicyComCondition == EnumPolicy.PolicyComCondition.Any) { var r = Call.PolicyComServerApi.Delete(Policy.Id); if (!r.Success) { EndUserMessage = "Could Not Update Policy Com Servers."; return; } } else { var list = new List <EntityPolicyComServer>(); foreach (GridViewRow row in gvServers.Rows) { var cb = (CheckBox)row.FindControl("chkSelector"); if (cb == null || !cb.Checked) { continue; } var dataKey = gvServers.DataKeys[row.RowIndex]; if (dataKey == null) { continue; } var policyComServer = new EntityPolicyComServer(); policyComServer.ComServerId = Convert.ToInt32(dataKey.Value); policyComServer.PolicyId = Policy.Id; list.Add(policyComServer); } var z = Call.PolicyComServerApi.Post(list); if (!z.Success) { EndUserMessage = z.ErrorMessage; return; } } var result = Call.PolicyApi.Put(Policy.Id, Policy); EndUserMessage = result.Success ? String.Format("Successfully Updated Policy {0}", Policy.Name) : result.ErrorMessage; }
protected void btnAdd_OnClick(object sender, EventArgs e) { var policy = new EntityPolicy(); policy.Name = txtName.Text; policy.Description = txtDescription.Text; policy.Trigger = (EnumPolicy.Trigger)Enum.Parse(typeof(EnumPolicy.Trigger), ddlTrigger.SelectedValue); policy.Frequency = (EnumPolicy.Frequency)Enum.Parse(typeof(EnumPolicy.Frequency), ddlFrequency.SelectedValue); if (policy.Frequency == EnumPolicy.Frequency.OncePerWeek) { policy.SubFrequency = Convert.ToInt16((EnumCalendar.DayOfWeek)Enum.Parse(typeof(EnumCalendar.DayOfWeek), ddlWeekDay.SelectedValue)); } else if (policy.Frequency == EnumPolicy.Frequency.OncePerMonth) { policy.SubFrequency = Convert.ToInt16(ddlMonthDay.SelectedValue); } else if (policy.Frequency == EnumPolicy.Frequency.EveryXdays) { policy.SubFrequency = Convert.ToInt16(txtDays.Text); } else if (policy.Frequency == EnumPolicy.Frequency.EveryXhours) { policy.SubFrequency = Convert.ToInt16(txtHours.Text); } else { policy.SubFrequency = 0; } policy.WindowStartScheduleId = Convert.ToInt32(ddlScheduleStart.SelectedValue); policy.WindowEndScheduleId = Convert.ToInt32(ddlScheduleEnd.SelectedValue); policy.ConditionId = Convert.ToInt32(ddlCondition.SelectedValue); policy.ConditionFailedAction = (EnumCondition.FailedAction)Enum.Parse(typeof(EnumCondition.FailedAction), ddlConditionFailedAction.SelectedValue); //utc is not used here because time is not used only date policy.StartDate = string.IsNullOrEmpty(txtStartDate.Text) ? Convert.ToDateTime(DateTime.Now.ToShortDateString()) : Convert.ToDateTime(txtStartDate.Text); policy.CompletedAction = (EnumPolicy.CompletedAction)Enum.Parse(typeof(EnumPolicy.CompletedAction), ddlCompletedAction.SelectedValue); policy.RunInventory = (EnumPolicy.InventoryAction)Enum.Parse(typeof(EnumPolicy.InventoryAction), ddlInventory.SelectedValue); policy.RunLoginTracker = chkLoginTracker.Checked; policy.RemoveInstallCache = chkDeleteCache.Checked; policy.MissedAction = (EnumPolicy.FrequencyMissedAction)Enum.Parse(typeof(EnumPolicy.FrequencyMissedAction), ddlMissed.SelectedValue); policy.ExecutionType = (EnumPolicy.ExecutionType)Enum.Parse(typeof(EnumPolicy.ExecutionType), ddlExecType.SelectedValue); policy.ErrorAction = (EnumPolicy.ErrorAction)Enum.Parse(typeof(EnumPolicy.ErrorAction), ddlErrorAction.SelectedValue); policy.LogLevel = (EnumPolicy.LogLevel)Enum.Parse(typeof(EnumPolicy.LogLevel), ddlLogLevel.SelectedValue); policy.WuType = (EnumPolicy.WuType)Enum.Parse(typeof(EnumPolicy.WuType), ddlWinUpdates.SelectedValue); policy.SkipServerResult = chkSkipResult.Checked; policy.RunApplicationMonitor = chkApplicationMonitor.Checked; policy.AutoArchiveType = (EnumPolicy.AutoArchiveType)Enum.Parse(typeof(EnumPolicy.AutoArchiveType), ddlAutoArchive.SelectedValue); policy.PolicyComCondition = (EnumPolicy.PolicyComCondition)Enum.Parse(typeof(EnumPolicy.PolicyComCondition), ddlComCondition.SelectedValue); if (policy.AutoArchiveType == EnumPolicy.AutoArchiveType.AfterXdays) { policy.AutoArchiveSub = txtAutoArchiveDays.Text; } var result = Call.PolicyApi.Post(policy); if (!result.Success) { EndUserMessage = result.ErrorMessage; } else { if (policy.PolicyComCondition != EnumPolicy.PolicyComCondition.Any) { var list = new List <EntityPolicyComServer>(); foreach (GridViewRow row in gvServers.Rows) { var cb = (CheckBox)row.FindControl("chkSelector"); if (cb == null || !cb.Checked) { continue; } var dataKey = gvServers.DataKeys[row.RowIndex]; if (dataKey == null) { continue; } var policyComServer = new EntityPolicyComServer(); policyComServer.ComServerId = Convert.ToInt32(dataKey.Value); policyComServer.PolicyId = result.Id; list.Add(policyComServer); } var z = Call.PolicyComServerApi.Post(list); if (!z.Success) { EndUserMessage = z.ErrorMessage; return; } } EndUserMessage = "Successfully Created Policy"; Response.Redirect("~/views/policies/general.aspx?policyId=" + result.Id); } }