Ejemplo n.º 1
0
        public DocumentDetailView() : base(new DocumentLayoutList())
        {
            view       = new DBTableView <T>(Table, new QParam(LogicType.And, Table.ParseProperty("DocumentId"), CompareType.Equal, 0), DBViewKeys.Empty);
            DataSource = view;

            List.EditMode                  = EditModes.ByF2;
            toolLog.Visible                = Table.IsLoging;
            toolLoad.Visible               =
                toolRefresh.Visible        =
                    toolSave.Visible       =
                        toolStatus.Visible = false;
            HideOnClose = true;
            Name        = nameof(DocumentDetailView <T>);
        }
Ejemplo n.º 2
0
        public override void UpdateFilter()
        {
            if (filter is User || filter is UserGroup || filter is UserLog)
            {
                var view = list.ListSource as DBTableView <UserLog>;
                if (view == null)
                {
                    if (list.ListSource is IDBTableView)
                    {
                        ((IDisposable)list.ListSource).Dispose();
                    }
                    list.ListSource = view = new DBTableView <UserLog>((string)null, DBViewKeys.Empty);
                }
                var query = view.Query;

                var f = new List <object>();
                foreach (var toolItem in toolType.DropDownItems)
                {
                    if (toolItem.Checked)
                    {
                        f.Add((int)(UserLogType)toolItem.Tag);
                    }
                }
                query.BuildPropertyParam(nameof(UserLog.LogType), CompareType.In, f);

                if (dateField.DataValue != null)
                {
                    var interval = (DateInterval)dateField.DataValue;
                    query.BuildPropertyParam(nameof(UserLog.DateCreate), CompareType.GreaterOrEqual, interval.Min);
                    query.BuildPropertyParam(nameof(UserLog.DateCreate), CompareType.LessOrEqual, interval.Max.AddDays(1));
                }
                if (filter is User && mode == DataLogMode.User)
                {
                    query.BuildPropertyParam(nameof(UserLog.UserId), CompareType.Equal, filter.PrimaryId);
                }
                else if (filter is UserGroup && mode == DataLogMode.Group)
                {
                    query.BuildPropertyParam(nameof(UserLog.UserId), CompareType.In, ((UserGroup)filter).GetUsers().ToList());
                }
                else if (filter is UserLog)
                {
                    query.BuildPropertyParam(nameof(UserLog.ParentId), CompareType.Equal, filter.PrimaryId);
                }
            }
            base.UpdateFilter();
        }
Ejemplo n.º 3
0
        public async void ViewDocumentsAsync(List <Document> documents)
        {
            if (documents.Count == 1)
            {
                ShowDocument(documents[0]);
            }
            else if (documents.Count > 1)
            {
                var list = new DBTableView <Document>((QParam)null, DBViewKeys.Static | DBViewKeys.Empty)
                {
                    ItemType = documents[0].GetType()
                };
                list.AddRange(documents);


                var dlist = new ListEditor {
                    DataSource = list
                };

                using (var form = new ToolWindow
                {
                    Title = "New Documents",
                    Mode = ToolShowMode.Dialog,
                    Size = new Size(800, 600),
                    Target = dlist
                })
                {
                    var command = await form.ShowAsync(this, new Point(1, 1));

                    if (command == Command.Ok)
                    {
                        foreach (Document document in documents)
                        {
                            await document.Save();
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public DocumentListView()
        {
            filterClear = new ToolItem(FilterClearClick)
            {
                Name = "Clear", Glyph = GlyphType.Eraser
            };
            filterWork = new ToolItem((s, e) =>
            {
                Filter.IsWork = filterWork.Checked ? CheckedState.Checked : CheckedState.Indeterminate;
            })
            {
                Name = "Work", DisplayStyle = ToolItemDisplayStyle.Text, CheckOnClick = true
            };
            filterCurrent = new ToolItem((s, e) =>
            {
                Filter.IsCurrent = filterCurrent.Checked;
            })
            {
                Name = "TODO", DisplayStyle = ToolItemDisplayStyle.Text, CheckOnClick = true
            };
            filterToolView = new ToolFieldEditor {
                FillWidth = true, Name = nameof(Filter), DisplayStyle = ToolItemDisplayStyle.Text
            };
            filterCustomer = new ToolFieldEditor {
                FillWidth = true, Name = nameof(DocumentFilter.Customer), DisplayStyle = ToolItemDisplayStyle.Text
            };
            filterNumber = new ToolFieldEditor {
                FillWidth = true, Name = nameof(DocumentFilter.Number), DisplayStyle = ToolItemDisplayStyle.Text
            };
            filterTitle = new ToolFieldEditor {
                FillWidth = true, Name = nameof(DocumentFilter.Title), DisplayStyle = ToolItemDisplayStyle.Text
            };
            filterDate = new ToolFieldEditor {
                FillWidth = true, Name = nameof(DocumentFilter.Date), DisplayStyle = ToolItemDisplayStyle.Text
            };

            var filterGroup = new ToolItem {
                Row = 1, Name = "FilterBar"
            };

            filterGroup.AddRange(new ToolItem[]
            {
                filterToolView,
                filterCustomer,
                filterNumber,
                filterTitle,
                filterDate,
                new ToolSeparator {
                    Width = 20
                },
                filterWork,
                filterCurrent,
                filterClear
            });

            ofDialog = new OpenFileDialog()
            {
                Multiselect = true
            };

            loader = new TableLoader {
                LoadParam = DBLoadParam.Referencing
            };

            toolCreate = new ToolItem(ToolCreateClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Create", GlyphColor = Colors.Green, Glyph = GlyphType.PlusCircle
            };
            toolCopy = new ToolItem(ToolCopyClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Copy", Glyph = GlyphType.CopyAlias
            };
            toolLoad = new ToolItem(ToolLoadClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Load", Glyph = GlyphType.Download
            };
            toolSend = new ToolItem(ToolAcceptClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Send/Accept", Glyph = GlyphType.CheckCircle
            };

            toolCount = new ToolLabel {
                Text = "0"
            };
            toolPreview = new ToolItem(ToolPreviewClick)
            {
                CheckOnClick = true, Checked = true, Name = "Preview", Glyph = GlyphType.List
            };
            toolParam = new ToolDropDown(ToolParamClick)
            {
                Name = "Parameters", Glyph = GlyphType.Spinner
            };
            toolProgress = new ToolTableLoader {
                Loader = loader
            };

            bar = new Toolsbar(
                toolCreate,
                toolCopy,
                toolLoad,
                new ToolSeparator {
                FillWidth = true
            },
                toolCount,
                toolPreview,
                toolProgress,
                filterGroup)
            {
                Name = "DocumentListBar"
            };

            list = new DocumentLayoutList()
            {
                EditMode = EditModes.ByF2,
                Name     = "DocumentList",
                ReadOnly = true
            };
            list.CellDoubleClick  += ListCellMouseDoubleClick;
            list.PositionChanged  += ListOnPositionChanged;
            list.SelectionChanged += ListOnSelectionChanged;

            //hSplit.Panel1.Resize = false;
            //hSplit.Panel2.Resize = true;
            //hSplit.Panel2.Content = vSplit;

            PackStart(bar, false, false);
            PackStart(list, true, true);
            Name      = "DocumentListView";
            Documents = new DBTableView <Document>();
            Filter    = new DocumentFilter();
        }