Beispiel #1
0
        private async Task ExecuteReduceDB()
        {
            try
            {
                DBServiceWMS ds = new DBServiceWMS(_warehouse);

                double dbSizeGBMax     = double.Parse(System.Configuration.ConfigurationManager.AppSettings["DataBaseSizeGBMax"]);
                double dbSizeGBReduced = double.Parse(System.Configuration.ConfigurationManager.AppSettings["DataBaseSizeGBReduced"]);

                EnabledReduceDB = false;
                double sizeDB     = _warehouse.DBService.GetDBSizeInGB();
                double reducePerc = 0.0;
                if (true || sizeDB > dbSizeGBMax)
                {
                    reducePerc = 1 - dbSizeGBReduced / Math.Max(dbSizeGBReduced, sizeDB);
                    if (reducePerc < 0.01)
                    {
                        reducePerc = 0.0;
                    }

                    await _warehouse.DBService.DBCleaning(reducePerc);
                }
                EnabledReduceDB = App.AccessLevel == 2;
            }
            catch (Exception e)
            {
                _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                                    string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
            }
        }
Beispiel #2
0
        public void Initialize(BasicWarehouse warehouse)
        {
            _warehouse        = warehouse;
            _dbservicewms     = new DBServiceWMS(_warehouse);
            VisibleOperation  = false;
            VisibleBringTray  = false;
            VisibleRemoveTray = true;
            VisibleBringBox   = false;
            VisiblePickBox    = true;
            try
            {
                DataListOrder    = new ObservableCollection <ReleaseOrderViewModel>();
                DataListSubOrder = new ObservableCollection <ReleaseOrderViewModel>();
                DataListCommand  = new ObservableCollection <CommandWMSViewModel>();
                DataListBoxes    = new ObservableCollection <TUSKUIDViewModel>();

                _accessUser = "";
                Messenger.Default.Register <MessageAccessLevel>(this, (mc) => { AccessLevel = mc.AccessLevel; _accessUser = mc.User; });
                Messenger.Default.Register <MessageViewChanged>(this, async(vm) => await ExecuteViewActivated(vm.ViewModel));
                Messenger.Default.Register <MessageKeyPressed>(this, async(k) => await ExecuteKeyPressed(k));

                _timer          = new DispatcherTimer();
                _timer.Interval = TimeSpan.FromMilliseconds(1000);
                _timer.Tick    += (sender, args) => { ExecuteRefresh(); };
                _timer.Start();
            }
            catch (Exception e)
            {
                _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
                throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
            }
        }
Beispiel #3
0
        public void Initialize(BasicWarehouse warehouse)
        {
            _warehouse    = warehouse;
            _dbservicewms = new DBServiceWMS(_warehouse);
            try
            {
                DataList = new ObservableCollection <LogViewModel>();

/*                foreach (var p in _dbservicewms.GetLogs())
 *                  DataList.Add(new LogViewModel
 *                  {
 *                      ID = p.ID,
 *                      Severity = p.Severity,
 *                      Source = p.Source,
 *                      Message = p.Message,
 *                      Time = p.Time
 *                  });
 *              foreach (var l in DataList)
 *                  l.Initialize(_warehouse);
 */
                Messenger.Default.Register <MessageAccessLevel>(this, (mc) => { AccessLevel = mc.AccessLevel; });
                Messenger.Default.Register <MessageViewChanged>(this, async vm => await ExecuteViewActivated(vm.ViewModel));
            }
            catch (Exception e)
            {
                _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
                throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
            }
        }
 public void Initialize(BasicWarehouse warehouse)
 {
     _warehouse    = warehouse;
     _dbservicewms = new DBServiceWMS(_warehouse);
     try
     {
         DataList = new ObservableCollection <CommandERPViewModel>();
         DateFrom = new HistoryDateTimePickerViewModel {
             TimeStamp = DateTime.Now.AddDays(-1)
         };
         DateFrom.Initialize(_warehouse);
         DateTo = new HistoryDateTimePickerViewModel {
             TimeStamp = DateTime.Now.AddHours(+1)
         };
         DateTo.Initialize(_warehouse);
         Records     = 0;
         _accessUser = "";
         Messenger.Default.Register <MessageAccessLevel>(this, (mc) => { AccessLevel = mc.AccessLevel; _accessUser = mc.User; });
         Messenger.Default.Register <MessageViewChanged>(this, vm => ExecuteViewActivated(vm.ViewModel));
     }
     catch (Exception e)
     {
         _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
         throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
     }
 }
Beispiel #5
0
 public TUSKUIDViewModel()
 {
     _data             = new TUSKUID();
     _dbservicewms     = new DBServiceWMS(null);
     Validator         = new PropertyValidator();
     ValidationEnabled = true;
     AllowChangeIndex  = false;
     ProdDate          = DateTime.Now;
     ExpDate           = DateTime.Now;
     Messenger.Default.Register <MessageValidationTUID>(this, msg => { _tuid = msg.TUID; });
 }
Beispiel #6
0
 public TUViewModel()
 {
     _data             = new TUs();
     _dataPlaceID      = new PlaceIDs();
     _dataBoxID        = new Box_ID();
     _dbservicewms     = new DBServiceWMS(null);
     Validator         = new PropertyValidator();
     ValidationEnabled = false;
     ProdDate          = DateTime.Now;
     ExpDate           = DateTime.Now;
 }
 public void Initialize(BasicWarehouse warehouse)
 {
     try
     {
         _warehouse    = warehouse;
         _dbservicewms = new DBServiceWMS(warehouse);
     }
     catch (Exception e)
     {
         _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
         throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
     }
 }
Beispiel #8
0
 public override void Initialize(BasicWarehouse warehouse)
 {
     try
     {
         base.Initialize(warehouse);
         OperationName = "Store tray";
         TUID          = DBServiceWMS.GetTUIDOnPlaceID(DBServiceWMS.GetParameter("Place.IOStation")).ID;
     }
     catch (Exception e)
     {
         Warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
         throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
     }
 }
Beispiel #9
0
 public void Initialize(BasicWarehouse warehouse)
 {
     _warehouse    = warehouse;
     _dbservicewms = new DBServiceWMS(warehouse);
     try
     {
         SetDestination = new RelayCommand <string>(dest => ExecuteSetDestination(dest));
         SetReleaseTime = new RelayCommand <string>(rt => ExecuteSetReleaseTime(rt));
     }
     catch (Exception e)
     {
         _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
         throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
     }
 }
Beispiel #10
0
 public void Initialize(BasicWarehouse warehouse)
 {
     _warehouse = warehouse;
     try
     {
         _dbservicewms = new DBServiceWMS(warehouse);
         Messenger.Default.Send <MessageValidationRequestTUID>(new MessageValidationRequestTUID {
             Trigger = true
         });
     }
     catch (Exception e)
     {
         _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
         throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
     }
 }
 public override string this[string propertyName]
 {
     get
     {
         try
         {
             string validationResult = String.Empty;
             if (ValidationEnabled)
             {
                 switch (propertyName)
                 {
                 case "TUIDstr":
                     PlaceID = "";
                     if (TUID == 0)
                     {
                         validationResult = ResourceReader.GetString("ERR_TUID");
                     }
                     else
                     {
                         var place = DBServiceWMS.FindPlaceByTUID(TUID);
                         if (place == null || place.PlaceID == "W:out")
                         {
                             validationResult = ResourceReader.GetString("ERR_TUID");
                         }
                         else if (RemoveTray && !DBServiceWMS.IsTUIDEmpty(place.TU_ID))
                         {
                             validationResult = ResourceReader.GetString("ERR_TUIDFULL");
                         }
                         PlaceID = place?.PlaceID;
                     }
                     break;
                 }
             }
             Validator.AddOrUpdate(propertyName, validationResult == String.Empty);
             AllPropertiesValid = Validator.IsValid();
             return(validationResult);
         }
         catch (Exception e)
         {
             Warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                                string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
             Validator.AddOrUpdate(propertyName, false);
             AllPropertiesValid = Validator.IsValid();
             return(ResourceReader.GetString("ERR_EXCEPTION"));
         }
     }
 }
 public void Initialize(BasicWarehouse warehouse)
 {
     _warehouse    = warehouse;
     _dbservicewms = new DBServiceWMS(_warehouse);
     try
     {
         DataList    = new ObservableCollection <PlaceDiffViewModel>();
         _accessUser = "";
         Messenger.Default.Register <MessageAccessLevel>(this, (mc) => { AccessLevel = mc.AccessLevel; _accessUser = mc.User; });
         Messenger.Default.Register <MessageViewChanged>(this, async vm => await ExecuteViewActivated(vm.ViewModel));
     }
     catch (Exception e)
     {
         _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
         throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
     }
 }
        public async Task ExecuteSuggestTU()
        {
            try
            {
                using (WMSToUIClient client = new WMSToUIClient())
                {
                    TUID = await client.SuggestTUIDAsync(_boxList.ToArray());

                    TUIDstr = TUID.ToString();
                    var place = DBServiceWMS.GetPlaceWithTUID(TUID);
                    PlaceID = place != null ? place.PlaceID : "-";
                }
            }
            catch (Exception e)
            {
                Warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                                   string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
            }
        }
 public override void Initialize(BasicWarehouse warehouse)
 {
     try
     {
         base.Initialize(warehouse);
         if (RemoveTray)
         {
             OperationName = "Remove tray";
             TUIDstr       = DBServiceWMS.GetTUIDOnPlaceID(DBServiceWMS.GetParameter("Place.IOStation")).ID.ToString();
             EnableEntry   = false;
         }
         else
         {
             OperationName = "Bring tray";
             EnableEntry   = true;
         }
     }
     catch (Exception e)
     {
         Warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
         throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
     }
 }
        public override string this[string propertyName]
        {
            get
            {
                try
                {
                    string validationResult = String.Empty;
                    if (ValidationEnabled)
                    {
                        switch (propertyName)
                        {
                        case "TUID":
                        case "TUIDstr":
                            if (TUID == 0)
                            {
                                validationResult = ResourceReader.GetString("ERR_TUID");
                            }
                            else
                            {
                                var p = DBServiceWMS.FindPlaceByTUID(TUID);
                                if (p == null)
                                {
                                    validationResult = ResourceReader.GetString("ERR_TUID");
                                }
                                else if (p.PlaceID.StartsWith("W:out"))
                                {
                                    validationResult = ResourceReader.GetString("ERR_TUID");
                                }
                                var place = DBServiceWMS.GetPlaceWithTUID(TUID);
                                PlaceID = place != null ? place.PlaceID : "-";
                            }
                            break;

                        case "Boxes":
                            if (Boxes != null)
                            {
                                string[] boxArray = Regex.Split(Boxes, @"[,|;\s\n]+");
                                _boxList.Clear();
                                foreach (var b in boxArray)
                                {
                                    if (b != "")
                                    {
                                        if (DBServiceWMS.FindBoxByBoxID(b) == null)
                                        {
                                            if (b.Length == 14 && b[4] == '-' && b[9] == '-' &&
                                                !_boxesAnnounced.Exists(p => p == b))      // announce box to WMS and ERP
                                            {
                                                using (WMSToUIClient client = new WMSToUIClient())
                                                {
                                                    client.BoxEntry(b);
                                                    _boxesAnnounced.Add(b);
                                                }
                                            }
                                            validationResult = ResourceReader.GetString("ERR_NOBOXID");
                                        }
                                        else if (DBServiceWMS.FindTUByBoxID(b) != null)
                                        {
                                            validationResult = ResourceReader.GetString("ERR_TUBOXEXISTS");
                                        }
                                        else if (_boxList.Contains(b))
                                        {
                                            validationResult = ResourceReader.GetString("ERR_TUBOXEXISTS");
                                        }
                                        else
                                        {
                                            _boxList.Add(b);
                                        }
                                    }
                                }
                                if (validationResult == String.Empty && _boxList.Count > 1)
                                {
                                    var skuid = DBServiceWMS.FindBoxByBoxID(_boxList[0]).SKU_ID;
                                    foreach (var b in _boxList)
                                    {
                                        if (DBServiceWMS.FindBoxByBoxID(b).SKU_ID != skuid)
                                        {
                                            validationResult = ResourceReader.GetString("ERR_NOTSAMESKUID");
                                        }
                                    }
                                }
                            }
                            if (validationResult != String.Empty)
                            {
                                _boxList.Clear();
                            }
                            break;
                        }
                    }
                    Validator.AddOrUpdate(propertyName, validationResult == String.Empty);
                    AllPropertiesValid = Validator.IsValid();
                    return(validationResult);
                }
                catch (Exception e)
                {
                    Warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                                       string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
                    Validator.AddOrUpdate(propertyName, false);
                    AllPropertiesValid = Validator.IsValid();
                    return(ResourceReader.GetString("ERR_EXCEPTION"));
                }
            }
        }
Beispiel #16
0
        public void Initialize()
        {
            try
            {
                // initialize warehouse
                Warehouse           = (BasicWarehouse)BasicWarehouse.Deserialize(System.Configuration.ConfigurationManager.AppSettings["xmlconfig"]);
                Warehouse.DBService = new Warehouse.DataService.DBService(Warehouse);
                _DBServiceWMS       = new DBServiceWMS(Warehouse);

                // create view models - events first
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <EventsViewModel>(), Visible = Visibility.Hidden
                });                                                                                                                                   // must be the first
                ((EventsViewModel)ViewModel[0].View).Initialize(Warehouse);

                Warehouse.OnNewEvent.Add(((EventsViewModel)(ViewModel[0].View)).AddEvent);
                Warehouse.Initialize();
                Warehouse.BuildRoutes(true);

                //                Warehouse.WCFHost = new Warehouse.WCF.WCFHost();
                //                Warehouse.WCFHost.Start(Warehouse, typeof(TelegramService));

                XAMLViewModelsToLoad = 2;    // visualization, control panel
                Messenger.Default.Register <MessageLoadingCompleted>(this, m => StartCommunication());

                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <UsersViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <LocationsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <MaterialsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <SimpleCommandsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <CommandsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <AlarmsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <VisualizationViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistoryEventsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistoryAlarmsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistoryMovementsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistoryCommandsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistorySimpleCommandsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <SKUIDsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <PlaceIDsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <PlaceTUIDsViewModel>(), Visible = Visibility.Hidden
                });
//                ViewModel.Add(new ViewModelBaseExtended { View = SimpleIoc.Default.GetInstance<OrdersViewModel>(), Visible = Visibility.Hidden });
//                ViewModel.Add(new ViewModelBaseExtended { View = SimpleIoc.Default.GetInstance<ReleaseOrdersViewModel>(), Visible = Visibility.Hidden });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <CommandERPsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <CommandWMSsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <PlaceDiffsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <LogsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistoryLogsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistoryCommandWMSsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistoryCommandERPsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <HistoryReleaseOrdersViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <BoxIDsViewModel>(), Visible = Visibility.Hidden
                });
                ViewModel.Add(new ViewModelBaseExtended {
                    View = SimpleIoc.Default.GetInstance <StationsViewModel>(), Visible = Visibility.Visible
                });

                // intialize view models
                SimpleIoc.Default.GetInstance <UsersViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <LocationsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <MaterialsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <SimpleCommandsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <CommandsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <AlarmsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <VisualizationViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistoryEventsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistoryAlarmsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistoryMovementsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistoryCommandsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistorySimpleCommandsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <SKUIDsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <PlaceIDsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <PlaceTUIDsViewModel>().Initialize(Warehouse);
//                SimpleIoc.Default.GetInstance<OrdersViewModel>().Initialize(Warehouse);
//                SimpleIoc.Default.GetInstance<ReleaseOrdersViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <CommandERPsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <CommandWMSsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <PlaceDiffsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <LogsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistoryLogsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistoryCommandWMSsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistoryCommandERPsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <HistoryReleaseOrdersViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <BoxIDsViewModel>().Initialize(Warehouse);
                SimpleIoc.Default.GetInstance <StationsViewModel>().Initialize(Warehouse);

                ControlPanelViewModel = SimpleIoc.Default.GetInstance <ControlPanelViewModel>();
                ((ControlPanelViewModel)ControlPanelViewModel).Initialize(Warehouse);

                Messenger.Default.Register <MessageAccessLevel>(this, (mc) => { this.AccessLevel = mc.AccessLevel; this.User = mc.User.ToUpper(); });

                SimpleIoc.Default.GetInstance <UsersViewModel>().SetLanguage();
            }
            catch (Exception e)
            {
                Log.AddLog(Log.Severity.EXCEPTION, "MainViewModel", e.Message);
            }
        }
Beispiel #17
0
 public PlaceViewModel()
 {
     _data         = new Places();
     _dbservicewms = new DBServiceWMS(null);
 }
Beispiel #18
0
        public void Initialize()
        {
            try
            {
                // app config
                _ramp = 1;
                try
                {
                    _ramp   = Math.Max(1, Math.Min(5, int.Parse(System.Configuration.ConfigurationManager.AppSettings["TruckRamp"])));
                    RampStr = _ramp.ToString();
                }
                catch { }
                _refreshTime = 3;
                try
                {
                    _refreshTime = Math.Max(1, Math.Min(10, int.Parse(System.Configuration.ConfigurationManager.AppSettings["RefreshTime"])));
                }
                catch { }

                // resources
                BrushConverter  conv = new BrushConverter();
                ResourceManager rm   = Properties.Resources.ResourceManager;
                ResourceSet     rs   = rm.GetResourceSet(Thread.CurrentThread.CurrentUICulture, true, true);
                // Customer colors
                SubOrderColor = new ObservableCollection <SolidColorBrush>();
                for (int i = 0; i < 8; i++)
                {
                    string colorstr = rs.GetString($"Color{i + 1}");
                    SubOrderColor.Add(conv.ConvertFromString(colorstr) as SolidColorBrush);
                }
                // Order statuses
                for (int i = 0; i < 6; i++)
                {
                    OrderStatus[i] = rs.GetString($"OrderStatus{i}");
                }
                // order status
                _active = rs.GetString("ShortActive");
                _done   = rs.GetString("ShortDone");
                _all    = rs.GetString("ShortAll");
                // errors
                _initfailed    = rs.GetString("InitFailed");
                _refreshfailed = rs.GetString("RefreshFailed");
                _details       = rs.GetString("Details");

                // db
                _dbservicewms = new DBServiceWMS();

                // view models
                OrderInfo = new OrderViewModel();
                Lane      = new ObservableCollection <LaneViewModel>();
                for (int i = 0; i < 4; i++)
                {
                    Lane.Add(new LaneViewModel {
                        LaneID = _ramp * 0 + i + 1, NumTU = 0
                    });
                }

                ErrorVisibility = Visibility.Hidden;
                ErrorMessage    = "";

                // timer
                _timer = new DispatcherTimer(DispatcherPriority.Render)
                {
                    Interval = TimeSpan.FromSeconds(1)
                };
                _timer.Tick += new EventHandler(OnTimer);
                _timer.Start();
            }
            catch (Exception ex)
            {
                ErrorVisibility = Visibility.Visible;
                ErrorMessage    = $"Initialization failed.\nDetails:\n{ex.Message}";
            }
        }
 public override string this[string propertyName]
 {
     get
     {
         try
         {
             string validationResult = String.Empty;
             if (ValidationEnabled)
             {
                 switch (propertyName)
                 {
                 case "Boxes":
                     string[] boxArray = Regex.Split(Boxes, @"[,|;\s\n]+");
                     _boxList.Clear();
                     foreach (var b in boxArray)
                     {
                         var c = _cmds.Find(p => p.Box_ID == b);
                         if (c != null)
                         {
                             using (WMSToUIClient client = new WMSToUIClient())
                             {
                                 if (Command == CommandType.DropBox)
                                 {
                                     DBServiceWMS.AddLog(_accessUser, EnumLogWMS.Event, "UI", $"Drop request: {c.Box_ID} to {c.TU_ID}");
                                     var tul = new List <TU>()
                                     {
                                         new TU
                                         {
                                             TU_ID    = c.TU_ID,
                                             Box_ID   = c.Box_ID,
                                             Qty      = 1,
                                             ProdDate = DateTime.Now,
                                             ExpDate  = DateTime.Now
                                         }
                                     };
                                     client.AddTUs(tul.ToArray());
                                     Boxes = "";
                                 }
                                 else if (Command == CommandType.PickBox)
                                 {
                                     DBServiceWMS.AddLog(_accessUser, EnumLogWMS.Event, "UI", $"Pick request: {c.Box_ID} from {c.TU_ID}");
                                     client.DeleteTU(new TU
                                     {
                                         TU_ID  = c.TU_ID,
                                         Box_ID = c.Box_ID,
                                     });
                                     Boxes = "";
                                 }
                                 client.CommandStatusChangedAsync(c.ID, (int)EnumCommandWMSStatus.Finished);
                             }
                         }
                     }
                     if (Boxes != "")
                     {
                         validationResult = ResourceReader.GetString("ERR_TUID");
                     }
                     break;
                 }
             }
             Validator.AddOrUpdate(propertyName, validationResult == String.Empty);
             AllPropertiesValid = Validator.IsValid();
             return(validationResult);
         }
         catch (Exception e)
         {
             Warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                                string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
             Validator.AddOrUpdate(propertyName, false);
             AllPropertiesValid = Validator.IsValid();
             return(ResourceReader.GetString("ERR_EXCEPTION"));
         }
     }
 }
Beispiel #20
0
 public override string this[string propertyName]
 {
     get
     {
         try
         {
             string validationResult = String.Empty;
             if (ValidationEnabled)
             {
                 switch (propertyName)
                 {
                 case "Boxes":
                     string[] boxArray = Regex.Split(Boxes, @"[,|;\s\n]+");
                     _boxList.Clear();
                     foreach (var b in boxArray)
                     {
                         if (b != "")
                         {
                             if (DBServiceWMS.FindBoxByBoxID(b) == null)
                             {
                                 validationResult = ResourceReader.GetString("ERR_NOBOXID");
                             }
                             else if (DBServiceWMS.FindTUByBoxID(b) == null)
                             {
                                 validationResult = ResourceReader.GetString("ERR_TUBOXNOEXISTS");
                             }
                             else if (_boxList.Contains(b))
                             {
                                 validationResult = ResourceReader.GetString("ERR_TUBOXEXISTS");
                             }
                             else
                             {
                                 _boxList.Add(b);
                             }
                         }
                     }
                     if (validationResult != String.Empty)
                     {
                         _boxList.Clear();
                     }
                     else
                     {
                         var x = DBServiceWMS.GetTUIDsForBoxes(_boxList);
                         if (x.Count == 0)
                         {
                             validationResult = ResourceReader.GetString("ERR_NOTUID");
                         }
                         else if (x.Count > 1)
                         {
                             validationResult = ResourceReader.GetString("ERR_MANYTUIDFORBOXES");
                         }
                         else if (PickBox &&
                                  DBServiceWMS.GetPlaceWithTUID(x[0]).PlaceID != DBServiceWMS.GetParameter("Place.IOStation"))
                         {
                             validationResult = ResourceReader.GetString("ERR_BOXNOTONSTATION");
                         }
                     }
                     break;
                 }
             }
             Validator.AddOrUpdate(propertyName, validationResult == String.Empty);
             AllPropertiesValid = Validator.IsValid();
             return(validationResult);
         }
         catch (Exception e)
         {
             Warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                                string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
             Validator.AddOrUpdate(propertyName, false);
             AllPropertiesValid = Validator.IsValid();
             return(ResourceReader.GetString("ERR_EXCEPTION"));
         }
     }
 }