public ActionResult Create(UserInfoModel objUserInfoModel, string OldPassword, int acid, bool IsConfirmDetails = false) { int nUserInfoID = 0; LoginUserDetails objLoginUserDetails = null; UserInfoDTO objUserInfoDTO = new UserInfoDTO(); ImplementedCompanyDTO objImplementedCompanyDTO = new ImplementedCompanyDTO(); bool show_create_role_link = true; bool show_not_login_user_details = true; bool show_confirm_personal_details_btn = false; bool showMsgConfirmPersonalDetails = false; List <PopulateComboDTO> lstSelectedRole = null; UserInfoModel objNewUserInfoModel = new UserInfoModel(); bool isError = false; //flag to check for validation error string sMsgDOJ = ""; string sMsgDOBI = ""; string sMsgDateCompare = ""; string sMsgException = ""; UserPolicyDocumentEventLogDTO objUserPolicyDocumentEventLogDTO = null; EmployeeModel objEmployeeModel = new EmployeeModel(); string strConfirmMessage = ""; try { //check if details being shown for login user then set flag to do not show create role link objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); if (objUserInfoModel.UserInfoId != 0 && objUserInfoModel.UserInfoId == objLoginUserDetails.LoggedInUserID) { show_create_role_link = false; show_not_login_user_details = false; //check if login user has already confirm personal details - if user has confirm personal details then do not show confirm button if (objUserInfoModel.IsRequiredConfirmPersonalDetails != null && (bool)objUserInfoModel.IsRequiredConfirmPersonalDetails) { show_confirm_personal_details_btn = true; showMsgConfirmPersonalDetails = true; } } ViewBag.show_create_role_link = show_create_role_link; ViewBag.show_not_login_user_details = show_not_login_user_details; ViewBag.IsShowMsgConfirmDetails = showMsgConfirmPersonalDetails; ViewBag.show_confirm_personal_details_btn = show_confirm_personal_details_btn; ViewBag.user_action = acid; switch (objLoginUserDetails.UserTypeCodeId) { case ConstEnum.Code.Admin: case ConstEnum.Code.COUserType: if (objUserInfoModel.UserInfoId > 0) { ViewBag.user_action = ConstEnum.UserActions.INSIDER_INSIDERUSER_EDIT; } else { ViewBag.user_action = ConstEnum.UserActions.INSIDER_INSIDERUSER_CREATE; } break; case ConstEnum.Code.NonEmployeeType: if (objUserInfoModel.UserInfoId > 0) { ViewBag.user_action = ConstEnum.UserActions.INSIDER_INSIDERUSER_EDIT; } else { ViewBag.user_action = ConstEnum.UserActions.INSIDER_INSIDERUSER_CREATE; } break; } using (CompaniesSL objCompaniesSL = new CompaniesSL()){ objImplementedCompanyDTO = objCompaniesSL.GetDetails(objLoginUserDetails.CompanyDBConnectionString, 0, 1); } if (objUserInfoModel.DateOfJoining != null || objUserInfoModel.DateOfBecomingInsider != null) { DateTime current_date = Common.Common.GetCurrentDate(objLoginUserDetails.CompanyDBConnectionString); if (objUserInfoModel.DateOfJoining > current_date) { sMsgDOJ = Common.Common.getResource("usr_msg_11413"); // "Date of Joining should be less than today's date"; isError = true; } if (objUserInfoModel.DateOfBecomingInsider > current_date) { sMsgDOBI = Common.Common.getResource("usr_msg_11414"); // "Date of Becoming Insider should be less than today's date"; isError = true; } if (objUserInfoModel.DateOfBecomingInsider < objUserInfoModel.DateOfJoining) { sMsgDateCompare = Common.Common.getResource("usr_msg_11415"); // "Date of Becoming Insider should not be less than Date of Joining"; isError = true; } } //check if validation error by checking flag if (!isError) { if (objUserInfoModel.UserInfoId != 0) { using (UserInfoSL objUserInfoSL = new UserInfoSL()) { objUserInfoDTO = objUserInfoSL.GetUserDetails(objLoginUserDetails.CompanyDBConnectionString, objUserInfoModel.UserInfoId); } } InsiderTrading.Common.Common.CopyObjectPropertyByNameAndActivity(objUserInfoModel, objUserInfoDTO); objUserInfoDTO.UserTypeCodeId = ConstEnum.Code.NonEmployeeType; objUserInfoDTO.IsInsider = ConstEnum.UserType.Insider; objUserInfoDTO.StatusCodeId = Common.Common.ConvertToInt32(ConstEnum.UserStatus.Active); objUserInfoDTO.LoggedInUserId = objLoginUserDetails.LoggedInUserID; objUserInfoDTO.AllowUpsiUser = objUserInfoModel.AllowUpsiUser; if (objUserInfoDTO.StateId == 0) { objUserInfoDTO.StateId = null; } if (objUserInfoDTO.CountryId == 0) { objUserInfoDTO.CountryId = null; } objUserInfoDTO.UPSIAccessOfCompanyID = objImplementedCompanyDTO.CompanyId; objUserInfoDTO.Password = ""; using (UserInfoSL objUserInfoSL = new UserInfoSL()){ objUserInfoDTO = objUserInfoSL.InsertUpdateUserDetails(objLoginUserDetails.CompanyDBConnectionString, objUserInfoDTO); } if (objUserInfoDTO.UserInfoId != 0) { nUserInfoID = objUserInfoDTO.UserInfoId; } //check if need to confirm personal details if (IsConfirmDetails && objUserInfoModel.IsRequiredConfirmPersonalDetails == true) { int UserInfoID = 0; int RequiredModuleID = 0; try { objUserPolicyDocumentEventLogDTO = new UserPolicyDocumentEventLogDTO(); //set values to save into event log table objUserPolicyDocumentEventLogDTO.EventCodeId = ConstEnum.Code.Event_ConfirmPersonalDetails; objUserPolicyDocumentEventLogDTO.UserInfoId = objUserInfoDTO.UserInfoId; objUserPolicyDocumentEventLogDTO.MapToId = objUserInfoDTO.UserInfoId; objUserPolicyDocumentEventLogDTO.MapToTypeCodeId = ConstEnum.Code.UserDocument; UserInfoID = objUserInfoDTO.UserInfoId; InsiderInitialDisclosureDTO objInsiderInitialDisclosureDTO = null; using (var objInsiderInitialDisclosureSL = new InsiderInitialDisclosureSL()) { objInsiderInitialDisclosureDTO = objInsiderInitialDisclosureSL.Get_mst_company_details(objLoginUserDetails.CompanyDBConnectionString); if (objInsiderInitialDisclosureDTO.RequiredModule == InsiderTrading.Common.ConstEnum.Code.RequiredModuleOtherSecurity) { RequiredModuleID = InsiderTrading.Common.ConstEnum.Code.RequiredModuleOtherSecurity; } else { RequiredModuleID = InsiderTrading.Common.ConstEnum.Code.RequiredModuleOwnSecurity; } } bool isConfirm = false; using (InsiderInitialDisclosureSL objInsiderInitialDisclosureSL = new InsiderInitialDisclosureSL()){ isConfirm = objInsiderInitialDisclosureSL.SaveEvent(objLoginUserDetails.CompanyDBConnectionString, objUserPolicyDocumentEventLogDTO, objLoginUserDetails.LoggedInUserID); } if (isConfirm) { strConfirmMessage = Common.Common.getResource("usr_msg_11420"); //Personal Details confirm successfully. //return RedirectToAction("Index", "InsiderInitialDisclosure", new { acid = ConstEnum.UserActions.INSIDER_DISCLOSURE_DETAILS_INITIAL_DISCLOSURE }).Success(HttpUtility.UrlEncode(strConfirmMessage)); return(RedirectToAction("Index", "InsiderInitialDisclosure", new { acid = ConstEnum.UserActions.INSIDER_DISCLOSURE_DETAILS_INITIAL_DISCLOSURE, UserInfoId = UserInfoID, ReqModuleId = RequiredModuleID }).Success(HttpUtility.UrlEncode(strConfirmMessage))); } } catch (Exception ex) { strConfirmMessage = Common.Common.getResource(ex.InnerException.Data[0].ToString()); throw ex; } finally{ objUserPolicyDocumentEventLogDTO = null; } } } } catch (Exception exp) { sMsgException = Common.Common.getResource(exp.InnerException.Data[0].ToString()); isError = true; using (CompaniesSL objCompaniesSL = new CompaniesSL()){ objImplementedCompanyDTO = objCompaniesSL.GetDetails(objLoginUserDetails.CompanyDBConnectionString, 0, 1); } } //check if there are validation error and show validation error if (isError) { ModelState.Remove("KEY"); ModelState.Add("KEY", new ModelState()); ModelState.Clear(); //set validation error messages if (sMsgDOJ != "") { ModelState.AddModelError("Error", sMsgDOJ); } if (sMsgDOBI != "") { ModelState.AddModelError("Error", sMsgDOBI); } if (sMsgDateCompare != "") { ModelState.AddModelError("Error", sMsgDateCompare); } if (sMsgException != "") { ModelState.AddModelError("Error", sMsgException); } if (strConfirmMessage != "") { ModelState.AddModelError("Error", strConfirmMessage); } //check if user has selected role and assign those role if (objUserInfoModel.SubmittedRole != null) { lstSelectedRole = new List <PopulateComboDTO>(); for (int cnt = 0; cnt < objUserInfoModel.SubmittedRole.Count; cnt++) { PopulateComboDTO objPopulateComboDTO = new PopulateComboDTO(); objPopulateComboDTO.Key = objUserInfoModel.SubmittedRole[cnt]; lstSelectedRole.Add(objPopulateComboDTO); objPopulateComboDTO = null; } } //check if user already saved and set non editable property with already saved valued in DB if (objUserInfoModel.UserInfoId != 0) { //get saved info from DB UserInfoDTO objExistingDetails_UserInfoDTO = null; using (UserInfoSL objUserInfoSL = new UserInfoSL()){ objExistingDetails_UserInfoDTO = objUserInfoSL.GetUserDetails(objLoginUserDetails.CompanyDBConnectionString, objUserInfoModel.UserInfoId); } //copy editable property into DTO so we get existing property and change property Common.Common.CopyObjectPropertyByNameAndActivity(objUserInfoModel, objExistingDetails_UserInfoDTO); //copy DTO to new model which can be pass to view with already saved details with newly change details Common.Common.CopyObjectPropertyByName(objExistingDetails_UserInfoDTO, objNewUserInfoModel); //set user info model to employee model which content edited info and already save info //objUserInfoModel = objNewUserInfoModel; } else { //set user info model to employee model which content edited info and already save info objNewUserInfoModel = objUserInfoModel; } objNewUserInfoModel.DefaultRole = FillComboValues(ConstEnum.ComboType.RoleList, ConstEnum.Code.NonEmployeeType.ToString(), null, null, null, null, true); //check if user has selected role and assign those role if (lstSelectedRole != null && lstSelectedRole.Count > 0) { objNewUserInfoModel.AssignedRole = lstSelectedRole; } else { objNewUserInfoModel.AssignedRole = FillComboValues(ConstEnum.ComboType.RoleList, ConstEnum.Code.NonEmployeeType.ToString(), nUserInfoID.ToString(), null, null, null, false); } lstSelectedRole = null; PopulateCombo(objImplementedCompanyDTO.CompanyId); objEmployeeModel.userInfoModel = objNewUserInfoModel; //check if dmat details model is set or not if (objEmployeeModel.dmatDetailsModel == null) { objEmployeeModel.dmatDetailsModel = new DMATDetailsModel(); if (objUserInfoModel.UserInfoId != 0) { objEmployeeModel.dmatDetailsModel.UserInfoID = objEmployeeModel.userInfoModel.UserInfoId; } } //check if document details are set or not if (objEmployeeModel.documentDetailsModel == null) { objEmployeeModel.documentDetailsModel = new DocumentDetailsModel(); objEmployeeModel.documentDetailsModel.MapToTypeCodeId = ConstEnum.Code.UserDocument; objEmployeeModel.documentDetailsModel.PurposeCodeId = null; if (objUserInfoModel.UserInfoId != 0) { objEmployeeModel.documentDetailsModel.MapToId = objEmployeeModel.userInfoModel.UserInfoId; } } return(View("Create", objEmployeeModel)); } ArrayList lst = new ArrayList(); //before showing success message check if first name and last name is NOT NULL string fname = objUserInfoModel.FirstName == null ? "" : objUserInfoModel.FirstName.Replace("'", "\'").Replace("\"", "\""); string lname = objUserInfoModel.LastName == null ? "" : objUserInfoModel.LastName.Replace("'", "\'").Replace("\"", "\""); lst.Add(fname + " " + lname); string AlertMessage = Common.Common.getResource("usr_msg_11266", lst); objUserInfoModel = null; return(RedirectToAction("Create", new { acid = ConstEnum.UserActions.INSIDER_INSIDERUSER_EDIT, nUserInfoID = nUserInfoID, isPPD_Details_Saved = true }).Success(HttpUtility.UrlEncode(AlertMessage))); }
public ActionResult Create(int acid, int nUserInfoID = 0, bool isPPD_Details_Saved = false, bool isNonEmployee = true) { bool show_create_role_link = true; bool show_not_login_user_details = true; UserInfoDTO objUserInfoDTO = null; bool show_confirm_personal_details_btn = false; bool showMsgConfirmPersonalDetails = false; int user_action_ViewDetails = 0; ViewBag.UserDetailsSaved = false; LoginUserDetails objLoginUserDetails = null; EmployeeModel objEmployeeModel = new EmployeeModel(); UserInfoModel objUserInfoModel = new UserInfoModel(); DMATDetailsModel objDMATDetailsModel = new DMATDetailsModel(); DocumentDetailsModel objDocumentDetailsModel = new DocumentDetailsModel(); ImplementedCompanyDTO objImplementedCompanyDTO = new ImplementedCompanyDTO(); try { objLoginUserDetails = (LoginUserDetails)Common.Common.GetSessionValue(ConstEnum.SessionValue.UserDetails); using (CompaniesSL objCompaniesSL = new CompaniesSL()) { objImplementedCompanyDTO = objCompaniesSL.GetDetails(objLoginUserDetails.CompanyDBConnectionString, 0, 1); } objUserInfoDTO = new UserInfoDTO(); if (nUserInfoID != 0) { using (UserInfoSL objUserInfoSL = new UserInfoSL()) { objUserInfoDTO = objUserInfoSL.GetUserDetails(objLoginUserDetails.CompanyDBConnectionString, nUserInfoID); } Common.Common.CopyObjectPropertyByName(objUserInfoDTO, objUserInfoModel); objDMATDetailsModel.UserInfoID = nUserInfoID; objDocumentDetailsModel.MapToTypeCodeId = ConstEnum.Code.UserDocument; objDocumentDetailsModel.MapToId = nUserInfoID; objDocumentDetailsModel.PurposeCodeId = null; } else { ViewBag.NewNonEmpRegistration = true; } ViewBag.EmpPANNumber = objUserInfoModel.PAN; PopulateCombo(objImplementedCompanyDTO.CompanyId); objUserInfoModel.UPSIAccessOfCompanyID = objImplementedCompanyDTO.CompanyId; objUserInfoModel.UPSIAccessOfCompanyName = objImplementedCompanyDTO.CompanyName; objEmployeeModel.userInfoModel = objUserInfoModel; objEmployeeModel.dmatDetailsModel = objDMATDetailsModel; objEmployeeModel.documentDetailsModel = objDocumentDetailsModel; objUserInfoModel.DefaultRole = FillComboValues(ConstEnum.ComboType.RoleList, ConstEnum.Code.NonEmployeeType.ToString(), null, null, null, null, true); objUserInfoModel.AssignedRole = FillComboValues(ConstEnum.ComboType.RoleList, ConstEnum.Code.NonEmployeeType.ToString(), nUserInfoID.ToString(), null, null, null, false); //set flag to show applicability define or not msg if (nUserInfoID != 0 && nUserInfoID != objLoginUserDetails.LoggedInUserID) { //check if user has policy document and trading policy appliable by checking count and set flag to show warning msg if applicabiliyt not define using (ApplicabilitySL objApplicabilitySL = new ApplicabilitySL()) { int pcount = objApplicabilitySL.UserApplicabilityCount(objLoginUserDetails.CompanyDBConnectionString, nUserInfoID, ConstEnum.Code.PolicyDocument); int tcount = objApplicabilitySL.UserApplicabilityCount(objLoginUserDetails.CompanyDBConnectionString, nUserInfoID, ConstEnum.Code.TradingPolicy); bool showMsgPolicyDocNotApplicable = (pcount <= 0) ? true : false; bool showMsgTradingPolicyNotApplicable = (tcount <= 0) ? true : false; ViewBag.IsShowMsgPDocNotApp = showMsgPolicyDocNotApplicable; ViewBag.IsShowMsgTPocNotApp = showMsgTradingPolicyNotApplicable; } } else { ViewBag.IsShowMsgPDocNotApp = false; ViewBag.IsShowMsgTPocNotApp = false; } //check if details being shown for login user then set flag to do not show create role link if (nUserInfoID != 0 && nUserInfoID == objLoginUserDetails.LoggedInUserID) { show_create_role_link = false; show_not_login_user_details = false; //check if login user has already confirm personal details - if user has confirm personal details then do not show confirm button if (objUserInfoDTO.IsRequiredConfirmPersonalDetails != null && (bool)objUserInfoDTO.IsRequiredConfirmPersonalDetails) { show_confirm_personal_details_btn = true; showMsgConfirmPersonalDetails = true; } } ViewBag.show_create_role_link = show_create_role_link; ViewBag.show_not_login_user_details = show_not_login_user_details; ViewBag.user_action = acid; ViewBag.IsShowMsgConfirmDetails = showMsgConfirmPersonalDetails; ViewBag.show_confirm_personal_details_btn = show_confirm_personal_details_btn; switch (objLoginUserDetails.UserTypeCodeId) { case ConstEnum.Code.Admin: case ConstEnum.Code.COUserType: user_action_ViewDetails = ConstEnum.UserActions.INSIDER_INSIDERUSER_VIEW; break; case ConstEnum.Code.NonEmployeeType: user_action_ViewDetails = ConstEnum.UserActions.VIEW_DETAILS_PERMISSION_FOR_NON_EMPLOYEE_USER; break; } ViewBag.user_action_ViewDetails = user_action_ViewDetails; Session["UserInfoId"] = objUserInfoModel.UserInfoId; Session["Confirm_PersonalDetails_Required"] = objUserInfoModel.IsRequiredConfirmPersonalDetails; Session["show_confirm_personal_details_btn"] = ViewBag.show_confirm_personal_details_btn; Session["NonEmployeeType"] = isNonEmployee; Session["EmployeeType"] = false; WorkandEducationDetailsConfigurationDTO objWorkandEducationDetailsConfigurationDTO = new WorkandEducationDetailsConfigurationDTO(); using (var objCompaniesSL = new CompaniesSL()) { objWorkandEducationDetailsConfigurationDTO = objCompaniesSL.GetWorkandeducationDetailsConfiguration(objLoginUserDetails.CompanyDBConnectionString, 1); } ViewBag.WorkandEducationDetailsConfiguration = objWorkandEducationDetailsConfigurationDTO.WorkandEducationDetailsConfigurationId; Session["WorkandEducationConfiguration"] = ViewBag.WorkandEducationDetailsConfiguration; if (isPPD_Details_Saved) { ViewBag.UserDetailsSaved = true; return(View("NonEmployeeDmatDetails", objEmployeeModel)); } else { return(View(objEmployeeModel)); } } catch (Exception exp) { } finally { objLoginUserDetails = null; objUserInfoDTO = null; objEmployeeModel = null; objUserInfoModel = null; objDMATDetailsModel = null; objDocumentDetailsModel = null; objImplementedCompanyDTO = null; } return(View("Create")); }
public ActionResult Create(int acid, int TemplateMasterId, string calledFrom = "") { LoginUserDetails objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails); //CompaniesSL objCompaniesSL = new CompaniesSL(); ImplementedCompanyDTO objImplementedCompanyDTO = new ImplementedCompanyDTO(); TemplateMasterModel objTemplateMasterModel = new TemplateMasterModel(); List <PopulateComboDTO> lstList = new List <PopulateComboDTO>(); //TemplateMasterSL objTemplateMasterSL = new TemplateMasterSL(); TemplateMasterDTO objTemplateMasterDTO = new TemplateMasterDTO(); StringWriter objSignatureWriter = new StringWriter(); StringWriter objSubjectWriter = new StringWriter(); StringWriter objTemplateWriter = new StringWriter(); StringWriter objAddress1Writer = new StringWriter(); StringWriter objAddress2Writer = new StringWriter(); //get list of communication mode lstList = FillComboValues(ConstEnum.ComboType.ListOfCode, ConstEnum.CodeGroup.CommunicationModes, null, null, null, null, true); if (TemplateMasterId == 0) { List <PopulateComboDTO> lstListForRules = new List <PopulateComboDTO>(); foreach (PopulateComboDTO objItem in lstList) { if (objItem.Key != ConstEnum.Code.CommunicationModeForFormE.ToString()) { lstListForRules.Add(objItem); } } ViewBag.CommunicationMode = lstListForRules; } else { ViewBag.CommunicationMode = lstList; } //get list of disclousre type lstList = FillComboValues(ConstEnum.ComboType.ListOfCode, ConstEnum.CodeGroup.DisclosureType, null, null, null, null, true); ViewBag.DisclosureType = lstList; //get list of user type for letter type communicaiton mode lstList = FillComboValues(ConstEnum.ComboType.ListOfCode, ConstEnum.CodeGroup.DisclosureLetterForUserType, ConstEnum.Code.CommunicationModeForLetter.ToString(), null, null, null, true); ViewBag.LetterFor = lstList; //get list of user type for FAQ type communicaiton mode lstList = FillComboValues(ConstEnum.ComboType.ListOfCode, ConstEnum.CodeGroup.DisclosureLetterForUserType, ConstEnum.Code.CommunicationModeForFAQ.ToString(), null, null, null, true); ViewBag.FAQFor = lstList; lstList = null; ViewBag.TemplateMasterId = TemplateMasterId; ViewBag.placeholderarr = "[]"; if (TemplateMasterId > 0) { using (var objTemplateMasterSL = new TemplateMasterSL()) { objTemplateMasterDTO = objTemplateMasterSL.GetDetails(objLoginUserDetails.CompanyDBConnectionString, TemplateMasterId); } InsiderTrading.Common.Common.CopyObjectPropertyByName(objTemplateMasterDTO, objTemplateMasterModel); if (objTemplateMasterModel.CommunicationModeCodeId == ConstEnum.Code.CommunicationModeForEmail) { objTemplateMasterModel.CommunicationFromEmail = objTemplateMasterModel.CommunicationFrom; } objTemplateMasterModel.Contents = objTemplateMasterModel.Contents.Replace("\\r\\n", Environment.NewLine); HttpUtility.HtmlDecode(objTemplateMasterModel.Contents, objContentsWriter); objTemplateMasterModel.Contents = objContentsWriter.ToString(); HttpUtility.HtmlDecode(objTemplateMasterModel.Subject, objSubjectWriter); objTemplateMasterModel.Subject = objSubjectWriter.ToString(); HttpUtility.HtmlDecode(objTemplateMasterModel.TemplateName, objTemplateWriter); objTemplateMasterModel.TemplateName = objTemplateWriter.ToString(); if (objTemplateMasterModel.CommunicationModeCodeId == Common.ConstEnum.Code.CommunicationModeForEmail) { List <string> lst = new List <string>(); MatchCollection mcol = Regex.Matches(objTemplateMasterModel.Contents, @"\|~\|(.*?)\|~\|"); foreach (Match m in mcol) { if (m != null && m.ToString() != "") { //objTemplateMasterModel.Contents = objTemplateMasterModel.Contents.Replace(m.ToString(), "[[[[" + m.ToString() + "]]]]"); objTemplateMasterModel.Contents = objTemplateMasterModel.Contents; } } } if (objTemplateMasterModel.CommunicationModeCodeId == Common.ConstEnum.Code.CommunicationModeForFormE) { List <string> lst = new List <string>(); MatchCollection matPlaceholderPattern1 = Regex.Matches(objTemplateMasterModel.Contents, @" \[(.*?)\]"); foreach (Match m in matPlaceholderPattern1) { if (m != null && m.ToString() != "") { objTemplateMasterModel.Contents = objTemplateMasterModel.Contents.Replace(m.ToString(), " [" + m.ToString().Trim() + "]"); } } MatchCollection matPlaceholderPattern2 = Regex.Matches(objTemplateMasterModel.Contents, @">(\[{1})(.*?)\]"); foreach (Match m in matPlaceholderPattern2) { //lst.Add(m.ToString()); if (m != null && m.ToString() != "") { string sPlaceHolderToReplace = m.ToString().Substring(1); objTemplateMasterModel.Contents = objTemplateMasterModel.Contents.Replace(m.ToString(), ">[" + sPlaceHolderToReplace.Trim() + "]"); } } } if (objTemplateMasterModel.Signature != null) { objTemplateMasterModel.Signature = objTemplateMasterModel.Signature.Replace("\\r\\n", Environment.NewLine); HttpUtility.HtmlDecode(objTemplateMasterModel.Signature, objSignatureWriter); objTemplateMasterModel.Signature = objSignatureWriter.ToString(); } if (objTemplateMasterModel.ToAddress1 != null) { objTemplateMasterModel.ToAddress1 = objTemplateMasterModel.ToAddress1.Replace("\\r\\n", Environment.NewLine); HttpUtility.HtmlDecode(objTemplateMasterModel.ToAddress1, objAddress1Writer); objTemplateMasterModel.ToAddress1 = objAddress1Writer.ToString(); } //for communcition type letter -- check if checkbox address 2 optional is checked or not // if checkbox is NOT checked then set null else replace new line character for text entered if (objTemplateMasterModel.CommunicationModeCodeId == ConstEnum.Code.CommunicationModeForLetter && !objTemplateMasterModel.IsCommunicationTemplate) { objTemplateMasterModel.ToAddress2 = null; } else { if (objTemplateMasterModel.ToAddress2 != null) { objTemplateMasterModel.ToAddress2 = objTemplateMasterModel.ToAddress2.Replace("\\r\\n", Environment.NewLine); HttpUtility.HtmlDecode(objTemplateMasterModel.ToAddress2, objAddress2Writer); objTemplateMasterModel.ToAddress2 = objAddress2Writer.ToString(); } } if (objTemplateMasterModel.CommunicationModeCodeId == ConstEnum.Code.CommunicationModeForFormE) { //Fetch the list of placeholders as per the communication mode lstList = FillComboValues(ConstEnum.ComboType.TemplateMasterPlaceholderList, objTemplateMasterModel.CommunicationModeCodeId.ToString(), null, null, null, null, false); List <string[]> arrPlaceholdersList = new List <string[]>(); foreach (var placeholder in lstList) { string[] arrPlaceholder = new string[1]; arrPlaceholder[0] = placeholder.Value; arrPlaceholdersList.Add(arrPlaceholder); } ViewBag.placeholderarr = JsonConvert.SerializeObject(arrPlaceholdersList).ToString(); } } else { using (var objCompaniesSL = new CompaniesSL()) { objImplementedCompanyDTO = objCompaniesSL.GetDetails(objLoginUserDetails.CompanyDBConnectionString, 0, 1); } //objTemplateMasterModel.CommunicationFrom = objImplementedCompanyDTO.EmailId; ViewBag.ImplementedCompanyEmailId = objImplementedCompanyDTO.EmailId; } ViewBag.CommunicationMode_id = objTemplateMasterModel.CommunicationModeCodeId; ViewBag.IsDisplayBackButton = true; ViewBag.calledFrom = calledFrom; ViewBag.acid = acid; if (calledFrom == "Communication") { ViewBag.IsDisplayBackButton = false; return(PartialView("Create", objTemplateMasterModel)); } else if (calledFrom == "CommunicationRule") { ViewBag.IsDisplayBackButton = false; return(PartialView("Create", objTemplateMasterModel)); } else { return(View("Create", objTemplateMasterModel)); } }