Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
        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() + "?')");
                }
            }
        }
Beispiel #4
0
        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();
        }
Beispiel #5
0
        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();
        }
Beispiel #8
0
        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);
            }
        }
Beispiel #9
0
        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);
        }
Beispiel #10
0
        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();
        }