public JsonResult PatchingPolicy(tblPatchingPolicy patching)
        {
            try
            {
                BLCustomer customerBL = new BLCustomer();
                patching.CustomerID = SessionHelper.UserSession.CustomerID;
                customerBL.SavePatchingPolicy(patching);
            }
            catch
            {
                ModelState.AddModelError("", "Error occurred durung Customer Information save.");
                return Json(new { errors = KeyValue.GetErrorsFromModelState(ViewData) });
            }

            return Json(new { success = true, Tab = "PP" });
        }
        // GET
        public ActionResult PatchingPolicy(int? CustomerID)
        {
            BLCustomer customerBL = new BLCustomer();
            tblPatchingPolicy Patchpoly = customerBL.GetPatchingPolicy(CustomerID.Value);
            ViewBag.SearchTypes = LookUpData.GetPolicyType();
            ViewBag.WeekOfMonth = LookUpData.GetWeekOfMonth();
            ViewBag.time = LookUpData.GetFXTime();
            ViewBag.MonthOfDay = LookUpData.GetMonthOfDay();
            ViewBag.TimeZones = LookUpData.GetTimeZone();
            ViewBag.Schedule = LookUpData.GetScheduleType();
            ViewBag.OptionTypeBag = LookUpData.GetOptionType();

            tblPatchingPolicy patchingPolicy = new tblPatchingPolicy();

            if (Request.IsAjaxRequest())
                return PartialView(Patchpoly);
            else
                return View(Patchpoly);
        }
        public tblPatchingPolicy GetPatchingPolicyByID(int PatchingPolicyID)
        {
            int errorNum = 0;
            string errorDesc = "";
            DataAccess.resetParams();
            DataAccess.addSqlParam("@oCustomerID", ParameterDirection.Input, 16, MySqlDbType.Int32, 0);
            DataAccess.addSqlParam("@PatchingPolicyID", ParameterDirection.Input, 16, MySqlDbType.Int32, PatchingPolicyID);
            DataSet ds = DataAccess.ExecuteDataSet(GET_PATCHING, ref errorNum, ref errorDesc);

            tblPatchingPolicy rowDetails = new tblPatchingPolicy();
            if (ds != null && ds.Tables.Count > 0)
            {
                DataTable dtCutomer = ds.Tables[0];
                if (dtCutomer != null && dtCutomer.Rows.Count > 0)
                {
                    DataRow dr = dtCutomer.Rows[0];

                    switch (Common.ConvertToInt(dr, "PatchingPolicyType"))
                    {
                        case 1:
                            rowDetails.CustomerID = Common.ConvertToInt(dr, "oCustomerID");
                            rowDetails.PatchingPolicyIDWR = Common.ConvertToInt(dr, "PatchingPolicyID");
                            rowDetails.PolicyNameWR = Common.ConvertToString(dr, "PolicyName");
                            rowDetails.PatchingPolicyTypeIDWR = Common.ConvertToInt(dr, "PatchingPolicyType");
                            rowDetails.WindowStartTimeWR = Common.ConvertToString(dr, "WindowStartTime");
                            rowDetails.WindowEndTimeWR = Common.ConvertToString(dr, "WindowEndTime");
                            rowDetails.WindowTimeZoneWR = new TimeZoneFX();
                            rowDetails.WindowTimeZoneWR.ID = Common.ConvertToInt(dr, "WindowTimeZone");
                            rowDetails.WindowTimeZoneWR.Name = LookUpValue.GetTimeZone(rowDetails.WindowTimeZoneWR.ID.Value);
                        //    rowDetails.DefineScheduleTypeWR = new ScheduleType();
                        //    rowDetails.DefineScheduleTypeWR.ID = Common.ConvertToInt(dr, "DefineScheduleType");
                         //   rowDetails.DefineScheduleTypeWR.Name = LookUpValue.GetScheduleType(rowDetails.DefineScheduleTypeWR.ID.Value);
                            rowDetails.WeekOfDayWR = new WeekOfDay();
                            rowDetails.WeekOfDayWR.ID = Common.ConvertToInt(dr, "WeekOfDay");
                            rowDetails.WeekOfDayWR.Name = LookUpValue.GetWeekOfDay(rowDetails.WeekOfDayWR.ID.Value);
                       //     rowDetails.MonthOfDayWR = new MonthOfDay();
                       //     rowDetails.MonthOfDayWR.ID = Common.ConvertToInt(dr, "MonthOfDay");
                        //    rowDetails.MonthOfDayWR.Name = LookUpValue.GetMonthOfDays(rowDetails.MonthOfDayWR.ID.Value);
                            rowDetails.RebootPermissionWR = new OptionType();
                            rowDetails.RebootPermissionWR.ID = Common.ConvertToInt(dr, "RebootPermission");
                            rowDetails.RebootPermissionWR.Name = LookUpValue.GetOptionType(rowDetails.RebootPermissionWR.ID.Value);
                            rowDetails.RebootWindowStartTimeWR = Common.ConvertToString(dr, "RebootWindowStartTime");
                            rowDetails.RebootWindowEndTimeWR = Common.ConvertToString(dr, "RebootWindowEndTime");
                            rowDetails.RebootWindowTimeZoneWR = new TimeZoneFX();
                            rowDetails.RebootWindowTimeZoneWR.ID = Common.ConvertToInt(dr, "RebootWindowTimeZone");
                            rowDetails.RebootWindowTimeZoneWR.Name = LookUpValue.GetTimeZone(rowDetails.RebootWindowTimeZoneWR.ID.Value);
                            break;
                        case 2:
                            rowDetails.CustomerID = Common.ConvertToInt(dr, "oCustomerID");
                            rowDetails.PatchingPolicyIDSR = Common.ConvertToInt(dr, "PatchingPolicyID");
                            rowDetails.PolicyNameSR = Common.ConvertToString(dr, "PolicyName");
                            rowDetails.PatchingPolicyTypeIDSR = Common.ConvertToInt(dr, "PatchingPolicyType");
                            rowDetails.WindowStartTimeSR = Common.ConvertToString(dr, "WindowStartTime");
                            rowDetails.WindowEndTimeSR = Common.ConvertToString(dr, "WindowEndTime");
                            rowDetails.WindowTimeZoneSR = new TimeZoneFX();
                            rowDetails.WindowTimeZoneSR.ID = Common.ConvertToInt(dr, "WindowTimeZone");
                            rowDetails.WindowTimeZoneSR.Name = LookUpValue.GetTimeZone(rowDetails.WindowTimeZoneSR.ID.Value);
                       //     rowDetails.DefineScheduleTypeSR = new ScheduleType();
                       //     rowDetails.DefineScheduleTypeSR.ID = Common.ConvertToInt(dr, "DefineScheduleType");
                       //     rowDetails.DefineScheduleTypeSR.Name = LookUpValue.GetScheduleType(rowDetails.DefineScheduleTypeSR.ID.Value);
                            rowDetails.WeekOfDaySR = new WeekOfDay();
                            rowDetails.WeekOfDaySR.ID = Common.ConvertToInt(dr, "WeekOfDay");
                            rowDetails.WeekOfDaySR.Name = LookUpValue.GetWeekOfDay(rowDetails.WeekOfDaySR.ID.Value);
                       //     rowDetails.MonthOfDaySR = new MonthOfDay();
                       //     rowDetails.MonthOfDaySR.ID = Common.ConvertToInt(dr, "MonthOfDay");
                      //      rowDetails.MonthOfDaySR.Name = LookUpValue.GetMonthOfDays(rowDetails.MonthOfDaySR.ID.Value);
                            rowDetails.RebootPermissionSR = new OptionType();
                            rowDetails.RebootPermissionSR.ID = Common.ConvertToInt(dr, "RebootPermission");
                            rowDetails.RebootPermissionSR.Name = LookUpValue.GetOptionType(rowDetails.RebootPermissionSR.ID.Value);
                            rowDetails.RebootWindowStartTimeSR = Common.ConvertToString(dr, "RebootWindowStartTime");
                            rowDetails.RebootWindowEndTimeSR = Common.ConvertToString(dr, "RebootWindowEndTime");
                            rowDetails.RebootWindowTimeZoneSR = new TimeZoneFX();
                            rowDetails.RebootWindowTimeZoneSR.ID = Common.ConvertToInt(dr, "RebootWindowTimeZone");
                            rowDetails.RebootWindowTimeZoneSR.Name = LookUpValue.GetTimeZone(rowDetails.RebootWindowTimeZoneSR.ID.Value);
                            break;
                        case 3:
                            rowDetails.PatchingPolicyIDDND = Common.ConvertToInt(dr, "PatchingPolicyID");
                            rowDetails.PatchingPolicyTypeIDND = Common.ConvertToInt(dr, "PatchingPolicyType");
                            rowDetails.PolicyNameND = Common.ConvertToString(dr, "PolicyName");
                            rowDetails.WindowStartTimeND = Common.ConvertToString(dr, "WindowStartTime");
                            rowDetails.WindowEndTimeND = Common.ConvertToString(dr, "WindowEndTime");
                            rowDetails.WindowTimeZoneND = new TimeZoneFX();
                            rowDetails.WindowTimeZoneND.ID = Common.ConvertToInt(dr, "WindowTimeZone");
                            rowDetails.WindowTimeZoneND.Name = LookUpValue.GetTimeZone(rowDetails.WindowTimeZoneND.ID.Value);
                      //      rowDetails.DefineScheduleTypeND = new ScheduleType();
                     //       rowDetails.DefineScheduleTypeND.ID = Common.ConvertToInt(dr, "DefineScheduleType");
                     //       rowDetails.DefineScheduleTypeND.Name = LookUpValue.GetScheduleType(rowDetails.DefineScheduleTypeND.ID.Value);
                            rowDetails.WeekOfDayND = new WeekOfDay();
                            rowDetails.WeekOfDayND.ID = Common.ConvertToInt(dr, "WeekOfDay");
                            rowDetails.WeekOfDayND.Name = LookUpValue.GetWeekOfDay(rowDetails.WeekOfDayND.ID.Value);
                     //       rowDetails.MonthOfDayND = new MonthOfDay();
                    //        rowDetails.MonthOfDayND.ID = Common.ConvertToInt(dr, "MonthOfDay");
                    //        rowDetails.MonthOfDayND.Name = LookUpValue.GetMonthOfDays(rowDetails.MonthOfDayND.ID.Value);
                            rowDetails.RebootPermissionND = new OptionType();
                            rowDetails.RebootPermissionND.ID = Common.ConvertToInt(dr, "RebootPermission");
                            rowDetails.RebootPermissionND.Name = LookUpValue.GetOptionType(rowDetails.RebootPermissionND.ID.Value);
                            rowDetails.RebootWindowStartTimeND = Common.ConvertToString(dr, "RebootWindowStartTime");
                            rowDetails.RebootWindowEndTimeND = Common.ConvertToString(dr, "RebootWindowEndTime");
                            rowDetails.RebootWindowTimeZoneND = new TimeZoneFX();
                            rowDetails.RebootWindowTimeZoneND.ID = Common.ConvertToInt(dr, "RebootWindowTimeZone");
                            rowDetails.RebootWindowTimeZoneND.Name = LookUpValue.GetTimeZone(rowDetails.RebootWindowTimeZoneND.ID.Value);
                            break;
                    }
                }
            }
            return rowDetails;
        }
        internal void FillDropDownList(ref List<tblMaintenancePolicy> Manitenancepoly, ref List<tblAccessPolicy> Accesspoly, ref List<tblAntiVirusPolicy> Antiviruspoly, ref List<tblBackUpPolicy> Backuppoly, ref List<tblPatchingPolicy> PatchingPoly, ref List<tbltoolInfomation> ToolInfoPoly)
        {
            int errorNum = 0;
            string errorDesc = "";

            DataAccess.resetParams();
            DataAccess.addSqlParam("@ClientSiteDeviceID", ParameterDirection.Input, 16, MySqlDbType.Int32);
            DataAccess.addSqlParam("@CustomerID", ParameterDirection.Input, 16, MySqlDbType.Int32, SessionHelper.UserSession.CustomerID);
            DataSet ds = DataAccess.ExecuteDataSet(GET_CLIENT_SITE_DEVICE, ref errorNum, ref errorDesc);
            Manitenancepoly = new List<tblMaintenancePolicy>();
            Manitenancepoly.Add(new tblMaintenancePolicy() { MaintenancePolicyID = 0, ActivityName = "-- Select --" });
            DataTable dttblmaintinance = ds.Tables[3];
            if (dttblmaintinance != null && dttblmaintinance.Rows.Count > 0)
            {
                foreach (DataRow dPP in dttblmaintinance.Rows)
                {
                    tblMaintenancePolicy tblmaintinance = new tblMaintenancePolicy();
                    tblmaintinance.MaintenancePolicyID = Common.ConvertToInt(dPP, "MaintenancePolicyID");
                    tblmaintinance.ActivityName = Common.ConvertToString(dPP, "ActivityName");
                    Manitenancepoly.Add(tblmaintinance);

                }

            }
            ToolInfoPoly = new List<tbltoolInfomation>();
            ToolInfoPoly.Add(new tbltoolInfomation() { ToolIDRT = 0, RMMTool ="-- Select --"});
            DataTable dttbltoolinfomation = ds.Tables[1];
            if (dttbltoolinfomation != null && dttbltoolinfomation.Rows.Count > 0)
            {
                //  DataRow dTI = dttbltoolinfomation.Rows[1];
                foreach (DataRow dTI in dttbltoolinfomation.Rows)
                {
                    tbltoolInfomation toolInfo = new tbltoolInfomation();
                    toolInfo.ToolIDRT = Common.ConvertToInt(dTI, "ToolID");
                    toolInfo.RMMTool = Common.ConvertToString(dTI, "ToolInfomationName");
                    ToolInfoPoly.Add(toolInfo);
                }
            }
            Accesspoly = new List<tblAccessPolicy>();
            Accesspoly.Add(new tblAccessPolicy() { AccessPolicyID = 0, productname = "-- Select --" });
            DataTable dttblAccpolicy = ds.Tables[4];
            if (dttblAccpolicy != null && dttblAccpolicy.Rows.Count > 0)
            {
                foreach (DataRow dAP in dttblAccpolicy.Rows)
                {
                    tblAccessPolicy tblaccess = new tblAccessPolicy();
                    tblaccess.AccessPolicyID = Common.ConvertToInt(dAP, "AccessPolicyID");
                    tblaccess.productname = Common.ConvertToString(dAP, "productname");
                    Accesspoly.Add(tblaccess);
                }
            }
            PatchingPoly = new List<tblPatchingPolicy>();
            PatchingPoly.Add(new tblPatchingPolicy() { PatchingPolicyIDWR = 0, PolicyNameND ="-- Select --"});
            DataTable dttblPatchingpolicy = ds.Tables[2];
            if (dttblPatchingpolicy != null && dttblPatchingpolicy.Rows.Count > 0)
            {
                //  DataRow dTI = dttbltoolinfomation.Rows[1];
                foreach (DataRow dPP in dttblPatchingpolicy.Rows)
                {
                    tblPatchingPolicy tblpatch = new tblPatchingPolicy();
                    tblpatch.PatchingPolicyIDWR = Common.ConvertToInt(dPP, "PatchingPolicyID");
                    tblpatch.PolicyNameND = Common.ConvertToString(dPP, "PolicyNameND");
                    PatchingPoly.Add(tblpatch);
                }
            }

            Antiviruspoly = new List<tblAntiVirusPolicy>();
            Antiviruspoly.Add(new tblAntiVirusPolicy() { AntiVirusID = 0, PolicyName = "-- Select --" });
            DataTable dttblAantivspolicy = ds.Tables[5];
            if (dttblAantivspolicy != null && dttblAantivspolicy.Rows.Count > 0)
            {
                foreach (DataRow dAP in dttblAantivspolicy.Rows)
                {
                    tblAntiVirusPolicy tblantivirus = new tblAntiVirusPolicy();
                    tblantivirus.AntiVirusID = Common.ConvertToInt(dAP, "AntiVirusID");
                    tblantivirus.PolicyName = Common.ConvertToString(dAP, "PolicyName");
                    Antiviruspoly.Add(tblantivirus);
                }
            }
            Backuppoly = new List<tblBackUpPolicy>();
            Backuppoly.Add(new tblBackUpPolicy() { BackUpPolicyID = 0, PolicyName = "-- Select --" });
            DataTable dttblBackupspolicy = ds.Tables[6];
            if (dttblBackupspolicy != null && dttblBackupspolicy.Rows.Count > 0)
            {
                foreach (DataRow dAP in dttblBackupspolicy.Rows)
                {
                    tblBackUpPolicy tblbackup = new tblBackUpPolicy();
                    tblbackup.BackUpPolicyID = Common.ConvertToInt(dAP, "BackUpPolicyID");
                    tblbackup.PolicyName = Common.ConvertToString(dAP, "PolicyName");
                    Backuppoly.Add(tblbackup);
                }
            }
        }
        public int SavePatchingPolicy(tblPatchingPolicy patchingPolicy)
        {
            int errorNum = 0;
            string errorDesc = "";

            DataAccess.resetParams();
            DataAccess.addSqlParam("@PatchingPolicyID", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.PatchingPolicyIDWR);
            DataAccess.addSqlParam("@CustomerID", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.CustomerID);
            DataAccess.addSqlParam("@PatchingPolicyType", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.PatchingPolicyTypeIDWR = 1);
            DataAccess.addSqlParam("@PolicyName", ParameterDirection.Input, 50, MySqlDbType.VarChar, patchingPolicy.PolicyNameWR);
            DataAccess.addSqlParam("@WindowTimeZone", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.WindowTimeZoneWR.ID);
              //  DataAccess.addSqlParam("@DefineScheduleType", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.DefineScheduleTypeWR.ID);
               // DataAccess.addSqlParam("@MonthOfDay", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.MonthOfDayWR.ID);
            DataAccess.addSqlParam("@WeekOfDay", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.WeekOfDayWR.ID);
            DataAccess.addSqlParam("@RebootPermission", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.RebootPermissionWR.ID);
            DataAccess.addSqlParam("@RebootWindowStartTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.RebootWindowStartTimeWR);
            DataAccess.addSqlParam("@RebootWindowEndTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.RebootWindowEndTimeWR);
            DataAccess.addSqlParam("@WindowStartTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.WindowStartTimeWR);
            DataAccess.addSqlParam("@WindowEndTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.WindowEndTimeWR);
            DataAccess.addSqlParam("@RebootWindowTimeZone", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.WindowTimeZoneWR.ID);
            DataAccess.addSqlParam("@Identity", ParameterDirection.InputOutput, 16, MySqlDbType.Int32);
            DataAccess.ExecuteNonQuery(SET_PatchingPolicy, ref errorNum, ref errorDesc);

            DataAccess.resetParams();
            DataAccess.addSqlParam("@PatchingPolicyID", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.PatchingPolicyIDSR);
            DataAccess.addSqlParam("@CustomerID", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.CustomerID);
            DataAccess.addSqlParam("@PatchingPolicyType", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.PatchingPolicyTypeIDSR = 2);
            DataAccess.addSqlParam("@PolicyName", ParameterDirection.Input, 50, MySqlDbType.VarChar, patchingPolicy.PolicyNameSR);
            DataAccess.addSqlParam("@WindowTimeZone", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.WindowTimeZoneSR.ID);
            //    DataAccess.addSqlParam("@DefineScheduleType", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.DefineScheduleTypeSR.ID);
             //   DataAccess.addSqlParam("@MonthOfDay", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.MonthOfDaySR.ID);
            DataAccess.addSqlParam("@WeekOfDay", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.WeekOfDayWR.ID);
            DataAccess.addSqlParam("@RebootPermission", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.RebootPermissionSR.ID);
            DataAccess.addSqlParam("@RebootWindowStartTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.RebootWindowStartTimeSR);
            DataAccess.addSqlParam("@RebootWindowEndTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.RebootWindowEndTimeSR);
            DataAccess.addSqlParam("@WindowStartTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.WindowStartTimeSR);
            DataAccess.addSqlParam("@WindowEndTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.WindowEndTimeSR);
            DataAccess.addSqlParam("@RebootWindowTimeZone", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.RebootWindowTimeZoneSR.ID);
            DataAccess.addSqlParam("@Identity", ParameterDirection.InputOutput, 16, MySqlDbType.Int32);
            DataAccess.ExecuteNonQuery(SET_PatchingPolicy, ref errorNum, ref errorDesc);

            DataAccess.resetParams();
            DataAccess.addSqlParam("@PatchingPolicyID", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.PatchingPolicyIDDND);
            DataAccess.addSqlParam("@CustomerID", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.CustomerID);
            DataAccess.addSqlParam("@PatchingPolicyType", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.PatchingPolicyTypeIDND = 3);
            DataAccess.addSqlParam("@PolicyName", ParameterDirection.Input, 50, MySqlDbType.VarChar, patchingPolicy.PolicyNameND);
            DataAccess.addSqlParam("@WindowTimeZone", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.WindowTimeZoneND.ID);
             //   DataAccess.addSqlParam("@DefineScheduleType", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.DefineScheduleTypeND.ID);
             //   DataAccess.addSqlParam("@MonthOfDay", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.MonthOfDayND.ID);
            DataAccess.addSqlParam("@WeekOfDay", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.WeekOfDayND.ID);
            DataAccess.addSqlParam("@RebootPermission", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.RebootPermissionND.ID);
            DataAccess.addSqlParam("@RebootWindowStartTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.RebootWindowStartTimeND);
            DataAccess.addSqlParam("@RebootWindowEndTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.RebootWindowEndTimeND);
            DataAccess.addSqlParam("@WindowStartTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.WindowStartTimeND);
            DataAccess.addSqlParam("@WindowEndTime", ParameterDirection.Input, 10, MySqlDbType.VarChar, patchingPolicy.WindowEndTimeND);
            DataAccess.addSqlParam("@RebootWindowTimeZone", ParameterDirection.Input, 16, MySqlDbType.Int32, patchingPolicy.WindowTimeZoneND.ID);
            DataAccess.addSqlParam("@Identity", ParameterDirection.InputOutput, 16, MySqlDbType.Int32);
            DataAccess.ExecuteNonQuery(SET_PatchingPolicy, ref errorNum, ref errorDesc);

            return Common.ConvertToInt(DataAccess.getSQLParam("@Identity").ToString());
        }