예제 #1
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            var selectedItem = dgUserField.SelectedItem as TableFieldsClient;

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

            case "EditRow":
                if (selectedItem == null)
                {
                    return;
                }
                object[] paramEdit = new object[3];
                paramEdit[0] = selectedItem;
                paramEdit[1] = dgUserField.masterRecord;
                var fields   = ((IList)dgUserField.ItemsSource);
                var lastItem = fields[fields.Count - 1];
                paramEdit[2] = selectedItem == lastItem;
                AddDockItem(TabControls.AddUserFieldsPage2, paramEdit, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("UserFields"), selectedItem._Name));
                break;

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

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

            case "BaseClass":
                GenerateClassCode(master, true);
                break;

            case "ClientClass":
                GenerateClassCode(master, false);
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
        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;
            }
        }