Example #1
0
        private void DockBar_DocumentModeChanged(object sender, RoutedEventArgs e)
        {
            try
            {
                e.Handled = true;

                Mode = (DocumentLifeCircle)e.OriginalSource;

                switch (Mode)
                {
                case DocumentLifeCircle.Create:
                    EngineeringViewModelCollection model1 = (EngineeringViewModelCollection)DataContext;
                    SelectedEngineering.Initialized();
                    SelectedEngineering.CreateUserId = LoginedUser.UserId;
                    model1.Add(SelectedEngineering);

                    if (SelectedEngineering.HasError)
                    {
                        MessageBox.Show(string.Join("\n", SelectedEngineering.Errors.ToArray()));
                    }
                    break;

                case DocumentLifeCircle.Save:
                    EngineeringViewModelCollection model = (EngineeringViewModelCollection)DataContext;

                    if (model != null)
                    {
                        if (SelectedEngineering != null)
                        {
                            if (SelectedEngineering.CreateUserId == Guid.Empty)
                            {
                                SelectedEngineering.CreateUserId = LoginedUser.UserId;
                            }
                        }
                    }



                    model.SaveModel();

                    if (SelectedEngineering != null && SelectedEngineering.HasError)
                    {
                        MessageBox.Show(string.Join("\n", SelectedEngineering.Errors.ToArray()));
                        SelectedEngineering.Errors = null;
                        Mode = DocumentLifeCircle.Update;
                        break;
                    }

                    if (SelectedEngineering != null && SelectedEngineering.Status.IsNewInstance)
                    {
                        RaiseEvent(new RoutedEventArgs(ClosableTabItem.OnPageClosingEvent, this.Parent));
                        SelectedEngineering.Status.IsModify = false;
                        SelectedEngineering.Status.IsSaved  = true;
                    }

                    Mode = DocumentLifeCircle.Read;

                    break;

                case DocumentLifeCircle.Update:
                    EngineeringViewModelCollection model3 = (EngineeringViewModelCollection)DataContext;

                    break;
                }
                //Mode = dockBar.DocumentMode;
                UpdateLayout();
            }
            catch (Exception ex)
            {
                WinForm.MessageBox.Show(ex.Message, "錯誤", WinForm.MessageBoxButtons.OK, WinForm.MessageBoxIcon.Error, WinForm.MessageBoxDefaultButton.Button1, WinForm.MessageBoxOptions.DefaultDesktopOnly);
            }
        }
Example #2
0
        private void ProjectViewer_OpenNewTab(object sender, RoutedEventArgs e)
        {
            try
            {
                e.Handled = true;

                ClosableTabItem addWorkarea = null;
                string          Header      = string.Empty;

                object SharedModel = null;

                if (e.OriginalSource is ProjectContractViewModel)
                {
                    ProjectContractViewModel model = (ProjectContractViewModel)e.OriginalSource;
                    SharedModel = model;
                    Header      = string.Format("合約-{0}[{1}]", model.Projects.ShortName, model.ContractNumber);
                    addWorkarea = new ClosableTabItem()
                    {
                        Header = Header
                    };
                }

                if (e.OriginalSource is ConstructionAtlasViewModelCollection)
                {
                    ConstructionAtlasViewModelCollection model = (ConstructionAtlasViewModelCollection)e.OriginalSource;
                    SharedModel = model;
                    Header      = "施工圖集";
                    addWorkarea = new ClosableTabItem()
                    {
                        Header = Header
                    };
                }

                if (e.OriginalSource is ProcessingAtlasViewModelCollection)
                {
                    ProcessingAtlasViewModelCollection model = (ProcessingAtlasViewModelCollection)e.OriginalSource;
                    SharedModel = model;
                    Header      = "加工圖集";
                    addWorkarea = new ClosableTabItem()
                    {
                        Header = Header
                    };
                }

                if (e.OriginalSource is EngineeringViewModelCollection)
                {
                    EngineeringViewModelCollection model = (EngineeringViewModelCollection)e.OriginalSource;
                    SharedModel = model;
                    Header      = "工程項目";
                    addWorkarea = new ClosableTabItem()
                    {
                        Header = Header
                    };
                }

                if (e.OriginalSource is AssemblyTableView)
                {
                    Header      = "組裝總表";
                    addWorkarea = new ClosableTabItem()
                    {
                        Header = Header
                    };
                }

                if (e.OriginalSource is ControlTableView)
                {
                    Header      = "鋁擠型加工管控表";
                    addWorkarea = new ClosableTabItem()
                    {
                        Header = Header
                    };
                }

                if (e.OriginalSource is string)
                {
                    string btn = (string)e.OriginalSource;

                    if (btn == "鋁擠型材料")
                    {
                        Header      = "鋁擠型材料";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "鋁擠型需求")
                    {
                        Header      = "鋁擠型需求";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "鋁擠型加工")
                    {
                        Header      = "鋁擠型加工";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "異動紀錄")
                    {
                        Header      = "異動紀錄";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "加工圖集總表")
                    {
                        Header      = "加工圖集總表";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "產生鋁擠型訂製單" || btn == "開啟訂製單")
                    {
                        Header      = "鋁擠型訂製單";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "鋁擠型訂製單列表")
                    {
                        Header      = "鋁擠型訂製單列表";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "產生退貨單")
                    {
                        Header      = "退貨單";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "開啟退貨單")
                    {
                        Header      = "退貨單";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "退貨單列表")
                    {
                        Header      = "退貨單列表";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "產生請款單")
                    {
                        Header      = "請款單";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "開啟請款單")
                    {
                        Header      = "請款單";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }
                    if (btn == "請款單列表")
                    {
                        Header      = "請款單列表";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "產生出貨單" || btn == "開啟出貨單")
                    {
                        Header      = "出貨單";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "出貨單列表")
                    {
                        Header      = "出貨單列表";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "產生收料單" || btn == "開啟收料單")
                    {
                        Header      = "收料單";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }


                    if (btn == "收料單列表")
                    {
                        Header      = "收料單列表";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }


                    if (btn == "產生加工訂製單")
                    {
                        Header      = "加工訂製單";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }

                    if (btn == "玻璃管控表")
                    {
                        Header      = "玻璃";
                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                    }
                }
                bool isExisted = false;

                foreach (ClosableTabItem item in InnerWorkspaces.Items.OfType <ClosableTabItem>())
                {
                    if (item.Header.Equals(addWorkarea.Header))
                    {
                        isExisted   = true;
                        addWorkarea = item;
                        break;
                    }
                }

                if (!isExisted)
                {
                    if (e.OriginalSource != null && e.OriginalSource is ManufacturersViewModel)
                    {
                        var vm = new ManufacturersManageView()
                        {
                            Margin = new Thickness(0)
                        };

                        vm.DataContext = SharedModel;
                        vm.LoginedUser = LoginedUser;

                        vm.Mode = DocumentLifeCircle.Read;

                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                        addWorkarea.Content = vm;
                        addWorkarea.Margin  = new Thickness(0);

                        InnerWorkspaces.Items.Add(addWorkarea);
                        InnerWorkspaces.SelectedItem = addWorkarea;
                        return;
                    }

                    if (e.OriginalSource != null && e.OriginalSource is ProjectContractViewModel)
                    {
                        var vm = new ContractManager()
                        {
                            Margin = new Thickness(0)
                        };
                        ((ProjectContractViewModel)SharedModel).Query();
                        vm.DataContext = SharedModel;
                        vm.LoginedUser = LoginedUser;

                        vm.Mode = DocumentLifeCircle.Read;

                        addWorkarea = new ClosableTabItem()
                        {
                            Header = Header
                        };
                        addWorkarea.Content = vm;
                        addWorkarea.Margin  = new Thickness(0);

                        InnerWorkspaces.Items.Add(addWorkarea);
                        InnerWorkspaces.SelectedItem = addWorkarea;
                        return;
                    }

                    if (e.OriginalSource != null && e.OriginalSource is ConstructionAtlasViewModelCollection)
                    {
                        var vm = new ConstructionAtlasView()
                        {
                            Margin = new Thickness(0)
                        };
                        if (SharedModel != null)
                        {
                            ((ConstructionAtlasViewModelCollection)e.OriginalSource).Query();
                        }

                        vm.DataContext = SharedModel;
                        vm.LoginedUser = LoginedUser;

                        vm.Mode = DocumentLifeCircle.Read;

                        //addWorkarea = new ClosableTabItem() { Header = Header };
                        addWorkarea.Content = vm;
                        addWorkarea.Margin  = new Thickness(0);

                        InnerWorkspaces.Items.Add(addWorkarea);
                        InnerWorkspaces.SelectedItem = addWorkarea;
                        return;
                    }

                    if (e.OriginalSource != null && e.OriginalSource is ProcessingAtlasViewModelCollection)
                    {
                        var vm = new ProcessingAtlasView()
                        {
                            Margin = new Thickness(0)
                        };
                        if (SharedModel != null)
                        {
                            ((ProcessingAtlasViewModelCollection)SharedModel).Query();
                        }
                        vm.DataContext = SharedModel;
                        vm.LoginedUser = LoginedUser;

                        vm.Mode = DocumentLifeCircle.Read;

                        //addWorkarea = new ClosableTabItem() { Header = Header };
                        addWorkarea.Content = vm;
                        addWorkarea.Margin  = new Thickness(0);

                        InnerWorkspaces.Items.Add(addWorkarea);
                        InnerWorkspaces.SelectedItem = addWorkarea;
                        return;
                    }

                    if (e.OriginalSource != null && e.OriginalSource is EngineeringViewModelCollection)
                    {
                        var vm = new ContractManager()
                        {
                            Margin = new Thickness(0)
                        };
                        if (SharedModel != null)
                        {
                            ((EngineeringViewModelCollection)SharedModel).Query();
                        }

                        vm.DataContext = SharedModel;
                        vm.LoginedUser = LoginedUser;

                        vm.Mode = DocumentLifeCircle.Read;

                        //addWorkarea = new ClosableTabItem() { Header = Header };
                        addWorkarea.Content = vm;
                        addWorkarea.Margin  = new Thickness(0);

                        InnerWorkspaces.Items.Add(addWorkarea);
                        InnerWorkspaces.SelectedItem = addWorkarea;
                        return;
                    }

                    if (e.OriginalSource != null && e.OriginalSource is AssemblyTableView)
                    {
                        var vm = new AssemblyTableView()
                        {
                            Margin = new Thickness(0)
                        };


                        //addWorkarea = new ClosableTabItem() { Header = Header };
                        addWorkarea.Content = vm;
                        addWorkarea.Margin  = new Thickness(0);

                        InnerWorkspaces.Items.Add(addWorkarea);
                        InnerWorkspaces.SelectedItem = addWorkarea;
                        return;
                    }

                    if (e.OriginalSource != null && e.OriginalSource is ControlTableView)
                    {
                        var vm = new ControlTableView()
                        {
                            Margin = new Thickness(0)
                        };


                        //addWorkarea = new ClosableTabItem() { Header = Header };
                        addWorkarea.Content = vm;
                        addWorkarea.Margin  = new Thickness(0);

                        InnerWorkspaces.Items.Add(addWorkarea);
                        InnerWorkspaces.SelectedItem = addWorkarea;
                        return;
                    }

                    if (e.OriginalSource is string)
                    {
                        string btnContext = (string)e.OriginalSource;

                        if (btnContext == "鋁擠型材料")
                        {
                            var vm = new BOMDataImportsView()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "鋁擠型需求")
                        {
                            var vm = new ControlTableView()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "鋁擠型加工")
                        {
                            var vm = new ControlTableView()
                            {
                                Margin = new Thickness(0)
                            };
                            addWorkarea.Content = vm;
                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }


                        if (btnContext == "異動紀錄")
                        {
                            var vm = new ProcessingChangeLogView()
                            {
                                Margin = new Thickness(0)
                            };

                            //addWorkarea = new ClosableTabItem() { Header = Header };
                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "加工圖集總表")
                        {
                            var vm = new ProcessingAtlasView()
                            {
                                Margin = new Thickness(0)
                            };
                            if (SharedModel != null)
                            {
                                ((ProcessingAtlasViewModelCollection)SharedModel).Query();
                            }
                            vm.DataContext = SharedModel;
                            vm.LoginedUser = LoginedUser;

                            vm.Mode = DocumentLifeCircle.Read;

                            //addWorkarea = new ClosableTabItem() { Header = Header };
                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "產生鋁擠型訂製單")
                        {
                            var vm = new AluminumExtrusionOrderSheetView()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "鋁擠型訂製單列表")
                        {
                            var vm = new AluminumExtrusionOrderListView()
                            {
                                Margin = new Thickness(0)
                            };
                            vm.DataContext      = new ProjectListViewModelCollection();
                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "產生退貨單")
                        {
                            var vm = new ReturnMaterialViewUC()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "開啟退貨單")
                        {
                            var vm = new ReturnMaterialViewUC()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "退貨單列表")
                        {
                            var vm = new ReturnMaterialListViewUC()
                            {
                                Margin = new Thickness(0)
                            };
                            vm.DataContext      = new ProjectListViewModelCollection();
                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "請款單列表")
                        {
                            var vm = new InvoiceViewListView()
                            {
                                Margin = new Thickness(0)
                            };
                            vm.DataContext      = new ProjectListViewModelCollection();
                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "開啟請款單")
                        {
                            var vm = new InvoiceView()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "產生請款單")
                        {
                            var vm = new InvoiceView()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "產生出貨單")
                        {
                            var vm = new ShippingMaterialViewUC()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "開啟出貨單")
                        {
                            var vm = new ShippingMaterialViewUC()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }
                        if (btnContext == "出貨單列表")
                        {
                            var vm = new AluminumExtrusionOrderListView()
                            {
                                Margin = new Thickness(0)
                            };
                            vm.DataContext      = new ProjectListViewModelCollection();
                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "產生收料單")
                        {
                            var vm = new RecvMaterialView()
                            {
                                Margin = new Thickness(0)
                            };
                            vm.DataContext      = new ProjectListViewModelCollection();
                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "收料單列表")
                        {
                            var vm = new RecvMaterialListView()
                            {
                                Margin = new Thickness(0)
                            };
                            vm.DataContext      = new ProjectListViewModelCollection();
                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "產生加工訂製單")
                        {
                            var vm = new AluminumExtrusionOrderSheetView()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }

                        if (btnContext == "玻璃管控表")
                        {
                            var vm = new GlassViewUC()
                            {
                                Margin = new Thickness(0)
                            };

                            addWorkarea.Content = vm;
                            addWorkarea.Margin  = new Thickness(0);

                            InnerWorkspaces.Items.Add(addWorkarea);
                            InnerWorkspaces.SelectedItem = addWorkarea;
                            return;
                        }
                    }
                }
                else
                {
                    InnerWorkspaces.SelectedItem = addWorkarea;
                }
            }
            catch (Exception ex)
            {
                WinForm.MessageBox.Show(ex.Message, "錯誤", WinForm.MessageBoxButtons.OK, WinForm.MessageBoxIcon.Error, WinForm.MessageBoxDefaultButton.Button1, WinForm.MessageBoxOptions.DefaultDesktopOnly);
            }
        }