Exemplo n.º 1
0
        void RemoveMenuItem()
        {
            RibbonBase rb = (RibbonBase)localMenu.DataContext;

            if (!this.thMaster._Attachment)
            {
                UtilDisplay.RemoveMenuCommand(rb, new string[] { "AddDoc", "AddNote" });
            }
            if (dgTabledataGrid.IsEditable)
            {
                UtilDisplay.RemoveMenuCommand(rb, new string[] { "AddItem", "EditItem" });
            }
            else
            {
                UtilDisplay.RemoveMenuCommand(rb, new string[] { "AddRow", "CopyRow", "DeleteRow", "SaveGrid" });
            }
            dtlTables = Utilities.Utility.GetDefaultCompany().UserTables.Where(x => x._MasterTable == thMaster._Name).ToList();
            if (dtlTables.Count > 0)
            {
                var    childList   = new List <TreeRibbon>();
                var    childRibbon = new TreeRibbon();
                string nodeText    = string.Empty;
                string tblName     = string.Empty;
                if (dtlTables.Count > 1)
                {
                    nodeText = Uniconta.ClientTools.Localization.lookup("UserTableData");
                }
                else
                {
                    var tbl = dtlTables[0];
                    tblName  = tbl._Name;
                    nodeText = tbl._Prompt != null?UserFieldControl.LocalizePrompt(tbl._Prompt) : tbl._Name;
                }
                childRibbon.Name       = nodeText;
                childRibbon.ActionName = dtlTables.Count > 1 ? "" : string.Concat("UserTableData;", tblName);
                childRibbon.Child      = childList;
                childRibbon.Glyph      = "UserFieldData_32x32.png";
                childRibbon.LargeGlyph = "UserFieldData_32x32.png";
                var userRbnList = new List <TreeRibbon>();
                userRbnList.Add(childRibbon);
                var treeRibbon = new TreeRibbon();
                treeRibbon.Child = userRbnList;
                rb.rbnlist.Add(treeRibbon);
                if (dtlTables.Count > 1)
                {
                    foreach (var ur in dtlTables)
                    {
                        var ribbonNode = new TreeRibbon();
                        ribbonNode.Name       = !string.IsNullOrEmpty(ur._Prompt) ? UserFieldControl.LocalizePrompt(ur._Prompt) : ur._Name;
                        ribbonNode.ActionName = string.Concat("UserTableData;", ur._Name);
                        ribbonNode.LargeGlyph = "CopyUserTable_16x16.png";
                        ribbonNode.Glyph      = "CopyUserTable_16x16.png";
                        ribbonNode.Child      = new List <TreeRibbon>();
                        childList.Add(ribbonNode);
                    }
                }
                rb.RefreshMenuItem(userRbnList);
            }
        }
Exemplo n.º 2
0
        public override void SetParameter(IEnumerable <ValuePair> Parameters)
        {
            string tablename = null;

            foreach (var param in Parameters)
            {
                var paramName  = param.Name;
                var paramValue = param.Value;
                if (string.IsNullOrEmpty(paramName) || string.Compare(param.Name, "table", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    tablename = paramValue;
                    break;
                }
            }
            if (tablename != null)
            {
                foreach (var master in api.CompanyEntity.UserTables)
                {
                    if (master._Name == tablename)
                    {
                        string header = master._Prompt != null?UserFieldControl.LocalizePrompt(master._Prompt) : master._Name;

                        this.SetHeader(header);
                        this.thMaster   = master;
                        Layout._SubId   = api.CompanyId;
                        this.layoutname = header;
                        if (!isInitialized)
                        {
                            Initialize(thMaster, null);
                        }
                        break;
                    }
                }
            }
            base.SetParameter(Parameters);
        }
        private void localMenu_OnItemClicked(string ActionType)
        {
            var selectedItem = dgUserTable.SelectedItem as TableHeaderClient;

            switch (ActionType)
            {
            case "AddRow":
                object[] param = new object[2];
                param[0] = api;
                param[1] = null;
                AddDockItem(TabControls.UserTablePage2, param, Uniconta.ClientTools.Localization.lookup("UserTables"), "Add_16x16.png");
                break;

            case "EditRow":
                if (selectedItem != null && selectedItem._SharedFromCompanyId == 0)
                {
                    AddDockItem(TabControls.UserTablePage2, selectedItem, string.Format("{0}:{1}", Localization.lookup("UserTables"), selectedItem.Name));
                }
                break;

            case "Fields":
                if (selectedItem != null && selectedItem._SharedFromCompanyId == 0)
                {
                    AddDockItem(TabControls.TablesUserFields, selectedItem, string.Format("{0}:{1}", Localization.lookup("UserFields"), selectedItem.Name));
                }
                break;

            case "Data":
                if (selectedItem == null)
                {
                    return;
                }
                var tablePrompt = !string.IsNullOrEmpty(selectedItem._Prompt) ? UserFieldControl.LocalizePrompt(selectedItem._Prompt) : selectedItem._Name;
                AddDockItem(TabControls.UserTableData, selectedItem, string.Format("{0}:{1}", Localization.lookup("Data"), tablePrompt));
                break;

            case "CalculatedFields":
                if (selectedItem == null)
                {
                    return;
                }
                var tablePromp = !string.IsNullOrEmpty(selectedItem._Prompt) ? UserFieldControl.LocalizePrompt(selectedItem._Prompt) : selectedItem._Name;
                if (selectedItem.UserType != null)
                {
                    var rec = (TableData)Activator.CreateInstance(selectedItem.UserType);
                    rec.SetMaster(api.CompanyEntity);
                    AddDockItem(TabControls.TablePropertyPage, rec, string.Format("{0}:{1}", Localization.lookup("CalculatedFields"), tablePromp));
                }
                break;

            case "CopyUserTable":
                CWCopyUserFields winUserFields = new CWCopyUserFields(api);
                winUserFields.Closed += async delegate
                {
                    if (winUserFields.DialogResult == true)
                    {
                        await session.OpenCompany(api.CompanyEntity.CompanyId, false);

                        InitQuery();
                    }
                };
                winUserFields.Show();
                break;

            case "BaseClass":
                if (selectedItem != null)
                {
                    GenerateClass(selectedItem, true);
                }
                break;

            case "ClientClass":
                if (selectedItem != null)
                {
                    GenerateClass(selectedItem, false);
                }
                break;

            case "SharedToCompany":
                if (selectedItem != null && selectedItem._SharedFromCompanyId == 0)
                {
                    AddDockItem(TabControls.TableHeaderSharePage, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("SharedToCompany"), selectedItem._Name));
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }