Example #1
0
        void Create(int n)
        {
            bool flag = false;

            switch (n)
            {
            case 0:
                BillWindow bw = new BillWindow(db);
                flag = bw.ShowDialog();
                break;

            case 1:
                EntryWindow ew = new EntryWindow(db);
                flag = ew.ShowDialog();
                break;

            case 2:
                ProductWindow pw = new ProductWindow(db);
                flag = pw.ShowDialog();
                break;

            case 3:
                ServiceWindow sw = new ServiceWindow(db);
                flag = sw.ShowDialog();
                break;

            case 4:
                ClientWindow cw = new ClientWindow(db);
                flag = cw.ShowDialog();
                break;

            case 5:
                CarWashWindow cww = new CarWashWindow(db);
                flag = cww.ShowDialog();
                break;
            }
            if (flag)
            {
                Refresh(n);
            }
        }
        private void Test_UpdateEntryWindow(object sender, EventArgs e)
        {
            dispatcherTimer.Start();

            Dispatcher.Invoke(() =>
            {
                ew           = new EntryWindow((sender as AnswerFromHardverModel).ActualMember.Id);
                ew.Focusable = true;
                if ((sender as AnswerFromHardverModel).Enable)
                {
                    ew.UserNameLabel.Content = (sender as AnswerFromHardverModel).ActualMember.FirstName;
                    ew.CompanyLabel.Content  = (sender as AnswerFromHardverModel).ActualMember.CompanyName;
                }
                else
                {
                    ew.MessageLabel.Visibility = Visibility.Visible;
                }

                ew.ShowDialog();
                BL.InitEntriesList(VM.Entries);
                EntriesListView.SelectedItem = EntriesListView.Items[0];
            });
        }
Example #3
0
        private void view_entry(object sender, RoutedEventArgs e)
        {
            int row_idx = this.entries_list.SelectedIndex, idx = this.state.domain.entries.Count - row_idx - 1;

            if ((idx < 0) || (idx >= this.state.domain.entries.Count))
            {
                return;
            }
            EntryWindow entry_window = new EntryWindow(this.state, idx)
            {
                Owner = this
            };

            entry_window.ShowDialog();
            if (!entry_window.valid)
            {
                return;
            }

            if (entry_window.topics is not null)
            {
                this.state.domain.topics = entry_window.topics;
            }
            if (entry_window.topic_refs is not null)
            {
                this.state.topic_refs = entry_window.topic_refs;
            }
            if (entry_window.notes is not null)
            {
                this.state.domain.notes = entry_window.notes;
            }

            decimal  timestamp       = entry_window.timestamp_box.calendar_value;
            DateTime created         = entry_window.get_created();
            string   description     = entry_window.description_box.Text;
            int      session         = (int)(entry_window.session_box.Value);
            Entry    ent             = this.state.domain.entries[idx];
            bool     changed         = (timestamp != ent.timestamp) || (created != ent.created) || (description != ent.description) || (session != ent.session);

            if ((!changed) && (entry_window.actions.Count != ent.actions.Count))
            {
                changed = true;
            }
            if (!changed)
            {
                for (int i = 0; i < entry_window.actions.Count; i++)
                {
                    if (entry_window.actions[i] != ent.actions[i])
                    {
                        changed = true;
                        break;
                    }
                }
            }
            if (!changed)
            {
                return;
            }
            this.state_dirty = true;
            this.state.domain.remove_entry(idx, true);
            this.entry_rows.RemoveAt(row_idx);
            this.state.remove_references(ent.actions);
            this.state.add_references(entry_window.actions);
            ent.timestamp   = timestamp;
            ent.created     = created;
            ent.description = description;
            ent.session     = session;
            ent.actions     = entry_window.actions;
            idx             = this.state.domain.add_entry(ent);
            int valid_idx = this.state.domain.valid_entries - 1;

            if (valid_idx < 0)
            {
                valid_idx = this.state.domain.entries.Count - 1;
            }
            this.session_num_box.Content       = (this.state.domain.entries[valid_idx].session ?? 0).ToString();
            this.current_timestamp             = this.state.domain.entries[valid_idx].timestamp;
            this.current_timestamp_box.Content = this.state.calendar.format_timestamp(this.current_timestamp, verbose: true);
            EntryRow row = new EntryRow(
                this.state.calendar.format_timestamp(ent.timestamp, verbose: true),
                idx >= this.state.domain.valid_entries,
                (ent.session ?? 0).ToString(),
                ent.created.ToString("G"),
                ent.description
                );

            this.entry_rows.Insert(this.entry_rows.Count - idx, row);
            for (int i = 0; i < this.entry_rows.Count; i++)
            {
                this.entry_rows[i].set_invalid(this.entry_rows.Count - i > this.state.domain.valid_entries);
            }
            this.refresh_lists();
        }
Example #4
0
        private void entry_action_callback(
            List <EntryAction> actions,
            Guid?entry_guid = null,
            Dictionary <Guid, Topic> topics       = null,
            Dictionary <Guid, int> topic_refs     = null,
            Dictionary <Guid, ExternalNote> notes = null
            )
        {
            if (topics is not null)
            {
                this.state.domain.topics = topics;
            }
            if (topic_refs is not null)
            {
                this.state.topic_refs = topic_refs;
            }
            if (notes is not null)
            {
                this.state.domain.notes = notes;
            }

            if (actions is not null)
            {
                EntryWindow entry_window = new EntryWindow(this.state, actions: actions)
                {
                    Owner = this
                };
                entry_window.ShowDialog();
                if (!entry_window.valid)
                {
                    return;
                }

                if (entry_window.topics is not null)
                {
                    this.state.domain.topics = entry_window.topics;
                }
                if (entry_window.topic_refs is not null)
                {
                    this.state.topic_refs = entry_window.topic_refs;
                }
                if (entry_window.notes is not null)
                {
                    this.state.domain.notes = entry_window.notes;
                }

                decimal  timestamp   = entry_window.timestamp_box.calendar_value;
                DateTime created     = entry_window.get_created();
                string   description = entry_window.description_box.Text;
                int      session     = (int)(entry_window.session_box.Value);
                Entry    ent         = new Entry(timestamp, created, description, session, new List <EntryAction>(entry_window.actions), entry_guid);
                this.state_dirty = true;
                int idx = this.state.domain.add_entry(ent);
                this.state.add_references(ent.actions);
                int valid_idx = this.state.domain.valid_entries - 1;
                if (valid_idx < 0)
                {
                    valid_idx = this.state.domain.entries.Count - 1;
                }
                this.session_num_box.Content       = (this.state.domain.entries[valid_idx].session ?? 0).ToString();
                this.current_timestamp             = this.state.domain.entries[valid_idx].timestamp;
                this.current_timestamp_box.Content = this.state.calendar.format_timestamp(this.current_timestamp, verbose: true);
                EntryRow row = new EntryRow(
                    this.state.calendar.format_timestamp(ent.timestamp, verbose: true),
                    idx >= this.state.domain.valid_entries,
                    (ent.session ?? 0).ToString(),
                    ent.created.ToString("G"),
                    ent.description
                    );
                this.entry_rows.Insert(this.entry_rows.Count - idx, row);
                for (int i = 0; i < this.entry_rows.Count; i++)
                {
                    this.entry_rows[i].set_invalid(this.entry_rows.Count - i > this.state.domain.valid_entries);
                }
            }

            this.refresh_lists();
        }