Beispiel #1
0
        private void GetWorkers()
        {
            WMSEnvironment.Instance.WorkerId = null;

            var sign = GetUserCode(false);

            if (sign == null)
            {
                return;
            }

            InfoWorkers.Clear();
            InfoWorkers.Add(new ItemInfo()
            {
                Caption = StringResources.Add, ItemCommand = AddWorkerCommand
            });

            List <Worker> workers;

            using (var mgr = IoC.Instance.Resolve <IBaseManager <Worker> >())
            {
                var workerFilter = string.Format("USERCODE_R = '{0}'", sign);
                workers = mgr.GetFiltered(workerFilter, GetModeEnum.Partial).ToList();
            }

            switch (workers.Count)
            {
            case 0:
                return;

            case 1:
                WriteWorker(workers[0], false);
                break;

            default:
                if (Settings.Default.WorkerID != null)
                {
                    var selectWorker = workers.FirstOrDefault(w => w.GetKey().Equals(Settings.Default.WorkerID));
                    if (selectWorker != null)
                    {
                        WriteWorker(selectWorker, false);
                    }
                }
                break;
            }

            // Создаем коллекцию Items для меню
            foreach (var w in workers)
            {
                InfoWorkers.Add(new ItemInfo()
                {
                    Caption = w.WorkerFIO, ItemCommand = SetWorkerCommand
                });
            }
        }
Beispiel #2
0
        private void AddWorker()
        {
            WMSEnvironment.Instance.WorkerId = null;
            var sign = GetUserCode();

            if (string.IsNullOrEmpty(sign))
            {
                return;
            }

            var vm = new ObjectListViewModelBase <Worker>
            {
                Mode         = ObjectListMode.LookUpList3Points,
                AllowAddNew  = true,
                PanelCaption = StringResources.SelectWorker,
                IsActive     = true
            };

            vm.InitializeMenus();
            vm.ApplyFilter("USERCODE_R is null");
            var window = new Views.CustomLookUpOptPopupContent {
                DataContext = vm
            };

            if (window.Owner == null && Application.Current.MainWindow.IsActive)
            {
                window.Owner = Application.Current.MainWindow;
            }

            if (window.ShowDialog() != true)
            {
                return;
            }

            var worker = vm.SelectedItem as Worker;

            if (worker == null)
            {
                return;
            }

            if (!string.IsNullOrEmpty(worker.UserCode) && worker.UserCode != sign)
            {
                var vs = IoC.Instance.Resolve <IViewService>();
                vs.ShowDialog(StringResources.Error, StringResources.ErrorSelectWorker, MessageBoxButton.OK, MessageBoxImage.Hand, MessageBoxResult.OK);
                return;
            }

            if (!string.IsNullOrEmpty(worker.UserCode))
            {
                WriteWorker(worker, false);
                return;
            }

            using (var mgr = IoC.Instance.Resolve <IBaseManager <Worker> >())
            {
                worker.UserCode = sign;
                mgr.Update(worker);
            }
            InfoWorkers.Add(new ItemInfo()
            {
                Caption = worker.WorkerFIO, ItemCommand = AddWorkerCommand
            });
            WriteWorker(worker);
        }