public JsonResult Apply(string nAllEmployeeFlag, string nAllInsiderFlag, string nAllEmployeeInsiderFlag, string nAllCoFlag, string nAllCorporateInsiderFlag, string nAllNonEmployeeInsiderFlag, string sMapToId, string sMapToTypeCodeId, string arrIncluded, string arrExcluded, string arrFilter, string arrnonInsEmpFilter, int acid, string __RequestVerificationToken = "", int formId = 0) { bool statusFlag = false; var ErrorDictionary = new Dictionary <string, string>(); string[][] arrApplicabilityInclude = null; string[] arrApplicabilityExclude = null; List <ApplicabilityFilter> arrFilterList = null; List <NonInsEmpApplicabilityFilter> arrFilterNonInsEmpList = null; LoginUserDetails objLoginUserDetails = null; DataTable tblApplicabilityUserIncludeExclude = null; DataTable tblApplicabilityFilterType = null; DataTable tblNonInsEmpApplicabilityFilterType = null; Common.Common objCommon = new Common.Common(); try { if (!objCommon.ValidateCSRFForAJAX()) { return(Json(new { status = statusFlag, Message = ErrorDictionary }, JsonRequestBehavior.AllowGet)); } objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); if (arrIncluded != "") { arrApplicabilityInclude = JsonConvert.DeserializeObject <string[][]>(arrIncluded); } if (arrExcluded != "") { arrApplicabilityExclude = JsonConvert.DeserializeObject <string[]>(arrExcluded); } if (arrFilter != "") { arrFilterList = JsonConvert.DeserializeObject <List <ApplicabilityFilter> >(arrFilter); } if (arrnonInsEmpFilter != "") { arrFilterNonInsEmpList = JsonConvert.DeserializeObject <List <NonInsEmpApplicabilityFilter> >(arrnonInsEmpFilter); } tblApplicabilityUserIncludeExclude = new DataTable("ApplicabilityUserIncludeExcludeType"); tblApplicabilityUserIncludeExclude.Columns.Add(new DataColumn("UserId", typeof(int))); tblApplicabilityUserIncludeExclude.Columns.Add(new DataColumn("InsiderTypeCodeId", typeof(int))); tblApplicabilityUserIncludeExclude.Columns.Add(new DataColumn("IncludeExcludeCodeId", typeof(int))); if (arrApplicabilityInclude != null) { for (int i = 0; i < arrApplicabilityInclude.Length; i++) { int UserTypeCodeId = i == 0 ? ConstEnum.Code.EmployeeType : i == 1 ? ConstEnum.Code.CorporateUserType : i == 2 ? ConstEnum.Code.NonEmployeeType : i == 3 ? ConstEnum.Code.COUserType : ConstEnum.Code.EmployeeType; DataRow row = null; for (int j = 0; j < arrApplicabilityInclude[i].Length; j++) { row = tblApplicabilityUserIncludeExclude.NewRow(); row["UserId"] = Convert.ToInt32(arrApplicabilityInclude[i][j]); row["InsiderTypeCodeId"] = UserTypeCodeId; row["IncludeExcludeCodeId"] = InsiderTrading.Common.ConstEnum.Code.IncludeTypeCode; tblApplicabilityUserIncludeExclude.Rows.Add(row); } row = null; } } if (arrApplicabilityExclude != null) { DataRow row = null; for (int i = 0; i < arrApplicabilityExclude.Length; i++) { row = tblApplicabilityUserIncludeExclude.NewRow(); row["UserId"] = Convert.ToInt32(arrApplicabilityExclude[i]); row["InsiderTypeCodeId"] = ConstEnum.Code.EmployeeType; row["IncludeExcludeCodeId"] = InsiderTrading.Common.ConstEnum.Code.ExcludeTypeCode; tblApplicabilityUserIncludeExclude.Rows.Add(row); } row = null; } tblApplicabilityFilterType = new DataTable("ApplicabilityFilterType"); tblApplicabilityFilterType.Columns.Add(new DataColumn("ApplicabilityDtlsId", typeof(int))); tblApplicabilityFilterType.Columns.Add(new DataColumn("DepartmentCodeId", typeof(int))); tblApplicabilityFilterType.Columns.Add(new DataColumn("GradeCodeId", typeof(int))); tblApplicabilityFilterType.Columns.Add(new DataColumn("DesignationCodeId", typeof(int))); tblApplicabilityFilterType.Columns.Add(new DataColumn("CategoryCodeId", typeof(int))); tblApplicabilityFilterType.Columns.Add(new DataColumn("SubCategoryCodeId", typeof(int))); tblApplicabilityFilterType.Columns.Add(new DataColumn("RoleId", typeof(int))); tblNonInsEmpApplicabilityFilterType = new DataTable("NonInsEmpApplicabilityFilterType"); tblNonInsEmpApplicabilityFilterType.Columns.Add(new DataColumn("ApplicabilityDtlsId", typeof(int))); tblNonInsEmpApplicabilityFilterType.Columns.Add(new DataColumn("DepartmentCodeId", typeof(int))); tblNonInsEmpApplicabilityFilterType.Columns.Add(new DataColumn("GradeCodeId", typeof(int))); tblNonInsEmpApplicabilityFilterType.Columns.Add(new DataColumn("DesignationCodeId", typeof(int))); tblNonInsEmpApplicabilityFilterType.Columns.Add(new DataColumn("CategoryCodeId", typeof(int))); tblNonInsEmpApplicabilityFilterType.Columns.Add(new DataColumn("SubCategoryCodeId", typeof(int))); tblNonInsEmpApplicabilityFilterType.Columns.Add(new DataColumn("RoleId", typeof(int))); if (arrFilterList != null) { DataRow row = null; foreach (var objFilter in arrFilterList) { row = tblApplicabilityFilterType.NewRow(); row["ApplicabilityDtlsId"] = 0; row["DepartmentCodeId"] = DBNull.Value; row["GradeCodeId"] = DBNull.Value; row["DesignationCodeId"] = DBNull.Value; row["CategoryCodeId"] = DBNull.Value; row["SubCategoryCodeId"] = DBNull.Value; row["RoleId"] = DBNull.Value; if (objFilter.ApplicabilityDtlsId != "" && objFilter.ApplicabilityDtlsId != "0") { row["ApplicabilityDtlsId"] = Convert.ToInt32(objFilter.ApplicabilityDtlsId); } if (objFilter.DepartmentId != "" && objFilter.DepartmentId != "0") { row["DepartmentCodeId"] = Convert.ToInt32(objFilter.DepartmentId); } if (objFilter.GradeId != "" && objFilter.GradeId != "0") { row["GradeCodeId"] = Convert.ToInt32(objFilter.GradeId); } if (objFilter.DesignationId != "" && objFilter.DesignationId != "0") { row["DesignationCodeId"] = Convert.ToInt32(objFilter.DesignationId); } if (objFilter.CategoryId != "" && objFilter.CategoryId != "0") { row["CategoryCodeId"] = Convert.ToInt32(objFilter.CategoryId); } if (objFilter.SubCategoryId != "" && objFilter.SubCategoryId != "0") { row["SubCategoryCodeId"] = Convert.ToInt32(objFilter.SubCategoryId); } if (objFilter.RoleId != "" && objFilter.RoleId != "0") { row["RoleId"] = Convert.ToInt32(objFilter.RoleId); } if (row["DesignationCodeId"] != DBNull.Value || row["GradeCodeId"] != DBNull.Value || row["DepartmentCodeId"] != DBNull.Value || row["CategoryCodeId"] != DBNull.Value || row["SubCategoryCodeId"] != DBNull.Value || row["RoleId"] != DBNull.Value) { tblApplicabilityFilterType.Rows.Add(row); } } row = null; } if (arrFilterNonInsEmpList != null) { DataRow row = null; foreach (var objFilter in arrFilterNonInsEmpList) { row = tblNonInsEmpApplicabilityFilterType.NewRow(); row["ApplicabilityDtlsId"] = 0; row["DepartmentCodeId"] = DBNull.Value; row["GradeCodeId"] = DBNull.Value; row["DesignationCodeId"] = DBNull.Value; row["CategoryCodeId"] = DBNull.Value; row["SubCategoryCodeId"] = DBNull.Value; row["RoleId"] = DBNull.Value; if (objFilter.ApplicabilityDtlsId != "" && objFilter.ApplicabilityDtlsId != "0") { row["ApplicabilityDtlsId"] = Convert.ToInt32(objFilter.ApplicabilityDtlsId); } if (objFilter.DepartmentId != "" && objFilter.DepartmentId != "0") { row["DepartmentCodeId"] = Convert.ToInt32(objFilter.DepartmentId); } if (objFilter.GradeId != "" && objFilter.GradeId != "0") { row["GradeCodeId"] = Convert.ToInt32(objFilter.GradeId); } if (objFilter.DesignationId != "" && objFilter.DesignationId != "0") { row["DesignationCodeId"] = Convert.ToInt32(objFilter.DesignationId); } if (objFilter.CategoryId != "" && objFilter.CategoryId != "0") { row["CategoryCodeId"] = Convert.ToInt32(objFilter.CategoryId); } if (objFilter.SubCategoryId != "" && objFilter.SubCategoryId != "0") { row["SubCategoryCodeId"] = Convert.ToInt32(objFilter.SubCategoryId); } if (objFilter.RoleId != "" && objFilter.RoleId != "0") { row["RoleId"] = Convert.ToInt32(objFilter.RoleId); } if (row["DesignationCodeId"] != DBNull.Value || row["GradeCodeId"] != DBNull.Value || row["DepartmentCodeId"] != DBNull.Value || row["CategoryCodeId"] != DBNull.Value || row["SubCategoryCodeId"] != DBNull.Value || row["RoleId"] != DBNull.Value) { tblNonInsEmpApplicabilityFilterType.Rows.Add(row); } } row = null; } using (ApplicabilitySL_OS objApplicabilitySl = new ApplicabilitySL_OS()) { int nCountOverlapPolicy = 0; objApplicabilitySl.InsertDeleteApplicability(objLoginUserDetails.CompanyDBConnectionString, Convert.ToInt32(sMapToTypeCodeId), Convert.ToInt32(sMapToId), Convert.ToInt32(nAllEmployeeFlag), Convert.ToInt32(nAllInsiderFlag), Convert.ToInt32(nAllEmployeeInsiderFlag), Convert.ToInt32(nAllCoFlag), Convert.ToInt32(nAllCorporateInsiderFlag), Convert.ToInt32(nAllNonEmployeeInsiderFlag), tblApplicabilityFilterType, tblNonInsEmpApplicabilityFilterType, tblApplicabilityUserIncludeExclude, objLoginUserDetails.LoggedInUserID, out nCountOverlapPolicy); statusFlag = true; ErrorDictionary.Add("success", "Applicability saved successfully."); ErrorDictionary.Add("CountOverlapPolicy", Convert.ToString(nCountOverlapPolicy)); } } catch (Exception exp) { ModelState.Remove("KEY"); ModelState.Add("KEY", new ModelState()); ModelState.Clear(); string sErrMessage = Common.Common.getResource(exp.InnerException.Data[0].ToString()); ModelState.AddModelError("error", sErrMessage); ErrorDictionary = GetModelStateErrorsAsString(); } finally { objLoginUserDetails = null; arrApplicabilityInclude = null; arrApplicabilityExclude = null; arrFilterList = null; tblApplicabilityUserIncludeExclude = null; tblApplicabilityFilterType = null; } return(Json(new { status = statusFlag, Message = ErrorDictionary }, JsonRequestBehavior.AllowGet)); }