public static void Sync(int newApplicationId, int oldApplicationId, RequestProfile requestProfile) { //get all FCMode records for new Application Id var dataFC = new FieldConfigurationModeDataModel(); dataFC.ApplicationId = newApplicationId; var dtFC = FieldConfigurationModeDataManager.Search(dataFC, requestProfile); //get all ApplicationMode records for new Application Id var dataAM = new ApplicationModeDataModel(); dataAM.ApplicationId = newApplicationId; var dtAM = ApplicationModeDataManager.Search(dataAM, requestProfile); var newRequestProfile = new RequestProfile(); newRequestProfile.ApplicationId = newApplicationId; newRequestProfile.AuditId = requestProfile.AuditId; foreach (DataRow dr in dtAM.Rows) { foreach (DataRow drFC in dtFC.Rows) { var data = new ApplicationModeXFieldConfigurationModeDataModel(); data.ApplicationId = newApplicationId; data.ApplicationModeId = Convert.ToInt32(dr[ApplicationModeXFieldConfigurationModeDataModel.DataColumns.ApplicationModeId]); data.FieldConfigurationModeId = Convert.ToInt32(drFC[ApplicationModeXFieldConfigurationModeDataModel.DataColumns.FieldConfigurationModeId]); if (!DoesExist(data, newRequestProfile)) { //create in new application id Create(data, newRequestProfile); } } } }
public static void Sync(int newApplicationId, int oldApplicationId, RequestProfile requestProfile, int languageId) { // get all records for old Application Id var sql = "EXEC dbo.FieldConfigurationSearch " + " " + ToSQLParameter(BaseDataModel.BaseDataColumns.AuditId, requestProfile.AuditId) + //", @" + FieldConfigurationDataModel.DataColumns.SystemEntityTypeId + "=10400" + ", " + ToSQLParameter(BaseDataModel.BaseDataColumns.ApplicationId, oldApplicationId); var oDT = new DBDataTable("FieldConfiguration.Search", sql, DataStoreKey); // formaulate a new request Profile which will have new Applicationid var newRequestProfile = new RequestProfile(); newRequestProfile.ApplicationId = newApplicationId; newRequestProfile.AuditId = requestProfile.AuditId; var fcModeData = new FieldConfigurationModeDataModel(); var fcModeList = FieldConfigurationModeDataManager.GetEntityDetails(fcModeData, newRequestProfile, 0); foreach (DataRow dr in oDT.DBTable.Rows) { var fcModeName = dr[FieldConfigurationDataModel.DataColumns.FieldConfigurationMode].ToString(); var fcRecord = fcModeList.Find(x => x.Name == fcModeName && x.ApplicationId == newApplicationId); if (fcRecord != null) { //get new fc mode id based on fc mode name var newFCModeId = fcRecord.FieldConfigurationModeId; var data = new FieldConfigurationDataModel(); data.ApplicationId = newApplicationId; data.Name = dr[FieldConfigurationDataModel.DataColumns.Name].ToString(); data.SystemEntityTypeId = Convert.ToInt32(dr[FieldConfigurationDataModel.DataColumns.SystemEntityTypeId]); data.FieldConfigurationModeId = newFCModeId; // check for existing record in new Application Id if (!DoesExist(data, newRequestProfile)) { data.Value = dr[FieldConfigurationDataModel.DataColumns.Value].ToString(); data.Width = Convert.ToDecimal(dr[FieldConfigurationDataModel.DataColumns.Width]); data.Formatting = dr[FieldConfigurationDataModel.DataColumns.Formatting].ToString(); data.ControlType = dr[FieldConfigurationDataModel.DataColumns.ControlType].ToString(); data.HorizontalAlignment = dr[FieldConfigurationDataModel.DataColumns.HorizontalAlignment].ToString(); data.GridViewPriority = Convert.ToInt32(dr[FieldConfigurationDataModel.DataColumns.GridViewPriority]); data.DetailsViewPriority = Convert.ToInt32(dr[FieldConfigurationDataModel.DataColumns.DetailsViewPriority]); data.DisplayColumn = Convert.ToInt32(dr[FieldConfigurationDataModel.DataColumns.DisplayColumn]); data.CellCount = Convert.ToInt32(dr[FieldConfigurationDataModel.DataColumns.CellCount]); if (data.Formatting == "'") { data.Formatting = " "; } //create in new application id var newfcId = Create(data, newRequestProfile); var dataDisplayName = new FieldConfigurationDisplayNameDataModel(); dataDisplayName.FieldConfigurationId = newfcId; dataDisplayName.Value = dr[FieldConfigurationDataModel.DataColumns.FieldConfigurationDisplayName].ToString(); dataDisplayName.LanguageId = languageId; dataDisplayName.IsDefault = 1; // create display name entry according to the default display name FieldConfigurationDisplayNameDataManager.Create(dataDisplayName, newRequestProfile); } } } }