protected void SaveButton_Click(object sender, EventArgs e) { if (!String.IsNullOrEmpty(ClassName)) { MetaClass mc = MetaDataWrapper.GetMetaClassByName(ClassName); HistoryMetaClassInfo historyInfo = HistoryManager.GetInfo(mc); historyInfo.SelectedFields.Add(FieldList.SelectedValue); HistoryManager.SetInfo(mc, historyInfo); ListViewProfile[] mas = ListViewProfile.GetSystemProfiles(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList"); if (mas.Length == 0) { CHelper.GetHistorySystemListViewProfile(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList"); mas = ListViewProfile.GetSystemProfiles(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList"); } if (!mas[0].FieldSet.Contains(FieldList.SelectedValue)) { mas[0].FieldSet.Add(FieldList.SelectedValue); mas[0].ColumnsUI.Add(new ColumnProperties(FieldList.SelectedValue, "150px", String.Empty)); ListViewProfile.SaveSystemProfile(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList", Mediachase.IBN.Business.Security.CurrentUser.UserID, mas[0]); } CommandParameters cp = new CommandParameters(CommandName); Mediachase.Ibn.Web.UI.WebControls.CommandHandler.RegisterCloseOpenedFrameScript(this.Page, cp.ToString()); //CHelper.UpdateModalPopupContainer(this, ContainerId); //CHelper.RequireDataBind(); } }
public static string GetFirstAvailableListViewProfile(string className) { ListViewProfile[] mas = ListViewProfile.GetSystemProfiles(className, _placeName); if (mas.Length == 0) { mas = ListViewProfile.GetProfiles(className, _placeName, Mediachase.IBN.Business.Security.CurrentUser.UserID); if (mas.Length == 0) { ListViewProfile profile = new ListViewProfile(); profile.Id = Guid.NewGuid().ToString(); profile.IsPublic = true; profile.IsSystem = false; MetaClass mc = Mediachase.Ibn.Core.MetaDataWrapper.GetMetaClassByName(className); profile.Name = CHelper.GetResFileString(mc.PluralName); profile.FieldSetName = mc.Name; profile.FieldSet = new List <string>(); profile.FieldSet.Add(mc.TitleFieldName); profile.GroupByFieldName = String.Empty; profile.Filters = new FilterElementCollection(); profile.Sorting = new SortingElementCollection(); profile.ColumnsUI = new ColumnPropertiesCollection(); profile.ColumnsUI.Add(new ColumnProperties(mc.TitleFieldName, "300px", String.Empty)); ListViewProfile.SaveCustomProfile(className, _placeName, Mediachase.IBN.Business.Security.CurrentUser.UserID, profile); mas = ListViewProfile.GetProfiles(className, _placeName, Mediachase.IBN.Business.Security.CurrentUser.UserID); if (mas.Length == 0) { throw new Exception("ListViewProfiles are not exist!"); } } } return(mas[0].Id); }
private void BindGrid() { DataTable dt = new DataTable(); dt.Locale = CultureInfo.InvariantCulture; dt.Columns.Add("Id", typeof(string)); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("EditLink", typeof(string)); dt.Columns.Add("CanDelete", typeof(bool)); dt.Columns.Add("CanReset", typeof(bool)); CommandManager cm = CommandManager.GetCurrent(this.Page); CommandParameters cp; ListViewProfile[] list = ListViewProfile.GetSystemProfiles(mc.Name, PlaceName); foreach (ListViewProfile lvp in list) { DataRow dr = dt.NewRow(); dr["Id"] = lvp.Id; dr["Name"] = CHelper.GetResFileString(lvp.Name); cp = new CommandParameters(CommandEditName); cp.CommandArguments = new Dictionary <string, string>(); cp.AddCommandArgument("ClassName", mc.Name); cp.AddCommandArgument("uid", lvp.Id); string cmd = cm.AddCommand(mc.Name, ViewName, PlaceName, cp); dr["EditLink"] = String.Format("javascript:{{{0}}};", cmd); if (ListManager.MetaClassIsList(mc.Name)) { dr["CanDelete"] = list.Length > 1 && !lvp.ReadOnly; } else { dr["CanDelete"] = !lvp.ReadOnly; } dr["CanReset"] = false; dt.Rows.Add(dr); } grdMain.DataSource = dt; grdMain.DataBind(); foreach (DataGridItem row in grdMain.Items) { ImageButton ib; ib = (ImageButton)row.FindControl("ibDelete"); if (ib != null) { ib.Attributes.Add("onclick", "return confirm('" + GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "Delete").ToString() + "?')"); } ib = (ImageButton)row.FindControl("ibReset"); if (ib != null) { ib.Attributes.Add("onclick", "return confirm('" + GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "ResetToDefault").ToString() + "?')"); } } }
public override void DataBind() { CHelper.AddToContext(_httpContextClassNameKey, ClassName); CHelper.AddToContext(_httpContextFilterFieldNameKey, FilterFieldName); CHelper.AddToContext(_httpContextFilterFieldValueKey, Request["ObjectId"]); if (String.IsNullOrEmpty(ProfileName)) { MetaClass mc = Mediachase.Ibn.Core.MetaDataWrapper.GetMetaClassByName(ClassName); ListViewProfile[] list = ListViewProfile.GetSystemProfiles(ClassName, PlaceName); if (list.Length == 0) { list = ListViewProfile.GetSystemProfiles(ClassName, "EntityList"); if (list.Length == 0) { list = ListViewProfile.GetSystemProfiles(ClassName, String.Empty); if (list.Length == 0) { ListViewProfile lvp = new ListViewProfile(); lvp.Id = Guid.NewGuid().ToString(); lvp.IsPublic = true; lvp.IsSystem = true; lvp.Name = CHelper.GetResFileString(mc.FriendlyName); lvp.ColumnsUI.Add(new ColumnProperties(mc.TitleFieldName, "150px", String.Empty)); lvp.FieldSet.Add(mc.TitleFieldName); lvp.Filters = new FilterElementCollection(); ListViewProfile.SaveSystemProfile(ClassName, PlaceName, Mediachase.Ibn.Data.Services.Security.CurrentUserId, lvp); list = ListViewProfile.GetSystemProfiles(ClassName, String.Empty); } } } ProfileName = list[0].Id; } grdMain.ClassName = ClassName; grdMain.ViewName = ViewName; grdMain.PlaceName = PlaceName; grdMain.ProfileName = ProfileName; grdMain.ShowCheckboxes = ShowCheckBoxes; FilterElementCollection fec = new FilterElementCollection(); fec.Add(FilterElement.EqualElement(FilterFieldName, Request["ObjectId"])); grdMain.AddFilters = fec; grdMain.DataBind(); ctrlGridEventUpdater.ClassName = ClassName; ctrlGridEventUpdater.ViewName = ViewName; ctrlGridEventUpdater.PlaceName = PlaceName; ctrlGridEventUpdater.GridId = grdMain.GridClientContainerId; MainMetaToolbar.ClassName = ClassName; MainMetaToolbar.ViewName = ViewName; MainMetaToolbar.PlaceName = PlaceName; MainMetaToolbar.DataBind(); }
private void BindBlockHeader() { // Check, that there are fields left MetaClass mc = MetaDataWrapper.GetMetaClassByName(ClassName); HistoryMetaClassInfo historyInfo = HistoryManager.GetInfo(mc); Collection <string> selectedFields = historyInfo.SelectedFields; bool fieldsExist = false; foreach (MetaField mf in mc.Fields) { if (HistoryManager.IsSupportedField(mf) && !selectedFields.Contains(mf.Name)) { fieldsExist = true; break; } } CommandManager cm = CommandManager.GetCurrent(this.Page); CommandParameters cp; if (fieldsExist) { string id = String.Empty; ListViewProfile[] mas = ListViewProfile.GetSystemProfiles(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList"); if (mas.Length == 0) { id = CHelper.GetHistorySystemListViewProfile(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList"); } else { id = mas[0].Id; } cp = new CommandParameters("MC_ListApp_HistoryProfileEdit"); cp.CommandArguments = new Dictionary <string, string>(); cp.AddCommandArgument("ClassName", HistoryManager.GetHistoryMetaClassName(ClassName)); cp.AddCommandArgument("uid", id); string cmd = cm.AddCommand("", "", "ListInfoView", cp); MainBlockHeader.AddRightLink( GetGlobalResourceObject("IbnFramework.ListInfo", "HistoryView").ToString(), String.Format("javascript:{{{0}}};", cmd)); cp = new CommandParameters("MC_ListApp_AddHistoryFieldFrame", new Dictionary <string, string>()); cp.AddCommandArgument("ClassName", ClassName); string command = cm.AddCommand("", "", "ListInfoView", cp); MainBlockHeader.AddRightLink( GetGlobalResourceObject("IbnFramework.ListInfo", "AddField").ToString(), String.Format("javascript:{{{0}}};", command)); } }
private void LoadCommerceProfileViewsGroups() { ArrayList arrayList = new ArrayList(); if (dropListUserViews.Items.Count == 0) { ListViewProfile[] systemProfiles = ListViewProfile.GetSystemProfiles(MetaClassName, "EntityList"); List <KeyValuePair <string, string> > allCustomerViews = new List <KeyValuePair <string, string> >(); foreach (ListViewProfile listViewProfile in systemProfiles) { arrayList.Add((object)listViewProfile.Id); string name = listViewProfile.Name; if (name.StartsWith("{")) { name = name.Replace("{", ""); name = name.Replace("}", ""); name = name.Replace(":", "_"); name = LocalizationService.Current.GetString("/bvnetwork/sendmail/plugin/commerce/" + name); } allCustomerViews.Add(new KeyValuePair <string, string>(listViewProfile.Id, " " + name)); } ListViewProfile[] userProfiles = ListViewProfile.GetProfiles(MetaClassName, "EntityList", PrincipalInfo.CurrentPrincipal.GetContactId()); foreach (ListViewProfile listViewProfile in userProfiles) { if (!arrayList.Contains((object)listViewProfile.Id)) { allCustomerViews.Add(new KeyValuePair <string, string>(listViewProfile.Id, " " + listViewProfile.Name)); } } dropListUserViews.DataSource = allCustomerViews; dropListUserViews.DataTextField = "Value"; dropListUserViews.DataValueField = "Key"; dropListUserViews.DataBind(); } }
public override void DataBind() { CHelper.AddToContext(_httpContextBridgeClassNameKey, BridgeClassName); CHelper.AddToContext(_httpContextClassNameKey, ClassName); CHelper.AddToContext(_httpContextFilter1FieldNameKey, Filter1FieldName); CHelper.AddToContext(_httpContextFilter1FieldValueKey, Request["ObjectId"]); CHelper.AddToContext(_httpContextFilter2FieldNameKey, Filter2FieldName); MetaClass mc = Mediachase.Ibn.Core.MetaDataWrapper.GetMetaClassByName(ClassName); if (String.IsNullOrEmpty(ProfileName)) { ListViewProfile[] list = ListViewProfile.GetSystemProfiles(ClassName, PlaceName); if (list.Length == 0) { list = ListViewProfile.GetSystemProfiles(ClassName, "EntityList"); if (list.Length == 0) { list = ListViewProfile.GetSystemProfiles(ClassName, String.Empty); if (list.Length == 0) { ListViewProfile lvp = new ListViewProfile(); lvp.Id = Guid.NewGuid().ToString(); lvp.IsPublic = true; lvp.IsSystem = true; lvp.Name = CHelper.GetResFileString(mc.FriendlyName); lvp.ColumnsUI.Add(new ColumnProperties(mc.TitleFieldName, "150px", String.Empty)); lvp.FieldSet.Add(mc.TitleFieldName); lvp.Filters = new FilterElementCollection(); ListViewProfile.SaveSystemProfile(ClassName, PlaceName, Mediachase.Ibn.Data.Services.Security.CurrentUserId, lvp); list = ListViewProfile.GetSystemProfiles(ClassName, String.Empty); } } } ProfileName = list[0].Id; } grdMain.ClassName = ClassName; grdMain.ViewName = ViewName; grdMain.PlaceName = PlaceName; grdMain.ProfileName = ProfileName; grdMain.ShowCheckboxes = ShowCheckBoxes; MetaClass bridgeClass = Mediachase.Ibn.Core.MetaDataWrapper.GetMetaClassByName(BridgeClassName); string pkName = SqlContext.Current.Database.Tables[mc.DataSource.PrimaryTable].PrimaryKey.Name; string bridgeTableName = bridgeClass.DataSource.PrimaryTable; FilterElementCollection fec = new FilterElementCollection(); FilterElement fe = new FilterElement(pkName, FilterElementType.In, String.Format("(SELECT [{0}] FROM [{1}] WHERE [{2}]='{3}')", Filter2FieldName, bridgeTableName, Filter1FieldName, Request["ObjectId"])); //FilterElement fe = new FilterElement(String.Empty, FilterElementType.Custom, // String.Format("[t01].[{0}] IN (SELECT [{1}] FROM [{2}] WHERE [{3}]='{4}')", // pkName, Filter2FieldName, bridgeTableName, Filter1FieldName, Request["ObjectId"])); fec.Add(fe); grdMain.AddFilters = fec; grdMain.DataBind(); ctrlGridEventUpdater.ClassName = ClassName; ctrlGridEventUpdater.ViewName = ViewName; ctrlGridEventUpdater.PlaceName = PlaceName; ctrlGridEventUpdater.GridId = grdMain.GridClientContainerId; MainMetaToolbar.ClassName = ClassName; MainMetaToolbar.ViewName = ViewName; MainMetaToolbar.PlaceName = PlaceName; MainMetaToolbar.DataBind(); }
private void BindProfiles() { ddProfiles.Items.Clear(); ArrayList list = new ArrayList(); ListViewProfile[] mas = ListViewProfile.GetSystemProfiles(ClassName, _placeName); List <KeyValuePair <string, string> > summaryList = new List <KeyValuePair <string, string> >(); foreach (ListViewProfile lvp in mas) { summaryList.Add(new KeyValuePair <string, string>(lvp.Id, " " + CHelper.GetResFileString(lvp.Name))); list.Add(lvp.Id); } summaryList.Sort ( delegate(KeyValuePair <string, string> kvp1, KeyValuePair <string, string> kvp2) { return(Comparer <string> .Default.Compare(kvp1.Value, kvp2.Value)); } ); if (mas.Length > 0) { summaryList.Insert(0, new KeyValuePair <string, string>("-1", String.Format("[ {0} ]", GetGlobalResourceObject("IbnFramework.Incident", "SystemViews").ToString()))); } ListViewProfile[] mas2 = ListViewProfile.GetProfiles(ClassName, _placeName, Mediachase.Ibn.Data.Services.Security.CurrentUserId); List <KeyValuePair <string, string> > summaryList2 = new List <KeyValuePair <string, string> >(); foreach (ListViewProfile lvp in mas2) { if (!list.Contains(lvp.Id)) { summaryList2.Add(new KeyValuePair <string, string>(lvp.Id, " " + CHelper.GetResFileString(lvp.Name))); } } summaryList2.Sort ( delegate(KeyValuePair <string, string> kvp1, KeyValuePair <string, string> kvp2) { return(Comparer <string> .Default.Compare(kvp1.Value, kvp2.Value)); } ); if (summaryList2.Count > 0) { summaryList.Add(new KeyValuePair <string, string>("-2", String.Format("[ {0} ]", GetGlobalResourceObject("IbnFramework.Incident", "UserViews").ToString()))); summaryList.AddRange(summaryList2); } summaryList.Add(new KeyValuePair <string, string>("0", String.Format("[ {0} ]", GetGlobalResourceObject("IbnFramework.Incident", "NewIssueView").ToString()))); ddProfiles.DataSource = summaryList; ddProfiles.DataTextField = "Value"; ddProfiles.DataValueField = "Key"; ddProfiles.DataBind(); foreach (ListItem liItem in ddProfiles.Items) { if (liItem.Value == "-1" || liItem.Value == "-2") { liItem.Enabled = false; liItem.Attributes.Add("style", "color:#646464;"); } if (liItem.Value == "0") { liItem.Attributes.Add("style", "color:#333333;font-weight:bold;"); } } HtmlLink linkRss = (HtmlLink)this.Page.FindControl("rssLink"); if (linkRss != null) { linkRss.Href = ""; linkRss.Attributes.Add("title", string.Empty); } }
private void CopyViewPreferencesFrom45() { // Retrieve meta view for list ListViewProfile profile = null; ListViewProfile[] views = ListViewProfile.GetSystemProfiles(_metaClass47.Name, "EntityList"); if (views.Length > 0) { profile = views[0]; } if (profile == null) { //Create meta view profile = new ListViewProfile(); profile.Id = Guid.NewGuid().ToString("D"); profile.Name = "{IbnFramework.ListInfo:lvpGeneralView}"; profile.IsPublic = true; //defaultView = MD47.DataContext.Current.MetaModel.CreateMetaView(_metaClass47.Name, _metaClass47.Name, _metaClass47.FriendlyName, new string[] { }); } //Try to load default meta view preference //Mediachase.Ibn.Core.McMetaViewPreference defaultPreference = Mediachase.Ibn.Core.UserMetaViewPreference.LoadDefault(defaultView); //if (defaultPreference == null) //{ // // Create preference // Mediachase.Ibn.Core.McMetaViewPreference.CreateDefaultPreference(defaultView); // defaultPreference = Mediachase.Ibn.Core.UserMetaViewPreference.LoadDefault(defaultView); //} Dictionary <string, MD47.Meta.Management.MetaField> fields47 = new Dictionary <string, MD47.Meta.Management.MetaField>(); foreach (MD47.Meta.Management.MetaField field47 in _metaClass47.Fields) { fields47.Add(field47.Name, field47); } List <ColumnInfo> columns = new List <ColumnInfo>(); foreach (MD45.Configurator.MetaField field45 in _metaClass45.MetaFields) { if (field45.Enabled) { string fieldName47 = GetFieldName47ByFieldName45(field45.Name); if (fields47.ContainsKey(fieldName47)) { ColumnInfo column = new ColumnInfo(fieldName47); column.Index = field45.Weight; if (field45.Weight != 0) { column.Width = field45.Width; } else { column.Width = 150; } columns.Add(column); } } } columns.Sort(); foreach (ColumnInfo column in columns) { profile.FieldSet.Add(column.Name); profile.ColumnsUI.Add(new ColumnProperties(column.Name, column.Width.ToString(CultureInfo.InvariantCulture), string.Empty)); } ListViewProfile.SaveSystemProfile(_metaClass47.Name, "EntityList", -1, profile); }
public void BindData(string metaClassName) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Name", typeof(string))); dt.Columns.Add(new DataColumn("DisplayName", typeof(string))); dt.Columns.Add(new DataColumn("ClassName", typeof(string))); dt.Columns.Add(new DataColumn("IsForm", typeof(string))); bool isBaseFormAdded = false; bool isGeneralViewFormAdded = false; bool isShortViewFormAdded = false; // ListApp Fix: we don't use ShortViewForm for lists bool isList = ListManager.MetaClassIsList(metaClassName); if (isList) { isShortViewFormAdded = true; } string[] forms = MetaUIManager.GetMetaFormList(metaClassName); foreach (string name in forms) { if ((name == FormController.CreateFormType || name == FormController.ShortViewFormType) && isList) { continue; } AddRow(dt, metaClassName, name, String.Empty, true, false); if (name == FormController.BaseFormType) { isBaseFormAdded = true; } if (name == FormController.GeneralViewFormType) { isGeneralViewFormAdded = true; } if (name == FormController.ShortViewFormType) { isShortViewFormAdded = true; } } // Edit Form if (!isBaseFormAdded) { AddRow(dt, metaClassName, FormController.BaseFormType, String.Empty, true, false); } // View Form if (!isGeneralViewFormAdded) { AddRow(dt, metaClassName, FormController.GeneralViewFormType, String.Empty, true, false); } // Short View Form if (!isShortViewFormAdded) { AddRow(dt, metaClassName, FormController.ShortViewFormType, String.Empty, true, false); } if (ListManager.IsHistoryActivated(metaClassName)) { string[] formsHistory = MetaUIManager.GetMetaFormList(HistoryManager.GetHistoryMetaClassName(metaClassName)); foreach (string name in formsHistory) { if (name != FormController.GeneralViewHistoryFormType && isList) { continue; } AddRow(dt, HistoryManager.GetHistoryMetaClassName(metaClassName), name, String.Empty, true, true); } } ListViewProfile[] list = ListViewProfile.GetSystemProfiles(metaClassName, "EntityList"); foreach (ListViewProfile lvp in list) { AddRow(dt, metaClassName, lvp.Id, lvp.Name, false, false); } //string[] views = MetaUIManager.GetMetaViewList(metaClassName); //foreach (string name in views) // AddRow(dt, metaClassName, name, false, false); grdMain.DataKeyField = "Name"; grdMain.DataSource = dt.DefaultView; grdMain.DataBind(); }