示例#1
0
        private void ExecuteConfirm()
        {
            try
            {
                EditEnabled = false;
                EnabledCC   = false;
                try
                {
                    switch (_selectedCommand)
                    {
                    case CommandType.Edit:
                        DatabaseWMS.TU_ID tuid = new DatabaseWMS.TU_ID {
                            ID = Detailed.TUID, DimensionClass = Detailed.DimensionClass, Blocked = (int)Detailed.Blocked
                        };
                        List <TUs> tulist = new List <TUs>();
                        foreach (var l in Detailed.DetailList)
                        {
                            tulist.Add(new TUs {
                                TU_ID    = Detailed.TUID,
                                Box_ID   = l.BoxID,
                                Qty      = 1,
                                ProdDate = l.ProdDate,
                                ExpDate  = l.ExpDate
                            });
                        }
                        _dbservicewms.UpdateTUID(tuid);
                        _dbservicewms.UpdateTUs(tuid, tulist);
                        _dbservicewms.AddLog(_accessUser, EnumLogWMS.Event, "UI", $"Edit TUID: {tuid.ToString()}");
                        Selected.TUID           = Detailed.TUID;
                        Selected.PlaceID        = Detailed.PlaceID;
                        Selected.DimensionClass = Detailed.DimensionClass;
                        Selected.Blocked        = Detailed.Blocked;
                        break;

                    case CommandType.Book:
                        using (WMSToUIClient client = new WMSToUIClient())
                        {
                            var pd = new ProxyWMS_UI.PlaceDiff[] { new ProxyWMS_UI.PlaceDiff {
                                                                       TUID = Detailed.TUID, PlaceWMS = Selected.PlaceID, PlaceMFCS = Detailed.PlaceID
                                                                   } };
                            client.UpdatePlace(pd, _accessUser);
                            _dbservicewms.UpdatePlaceMFCS(new Database.Place {
                                Material = Detailed.TUID, Place1 = Detailed.PlaceID
                            });
                        }
                        _dbservicewms.AddLog(_accessUser, EnumLogWMS.Event, "UI", $"Rebook TUID: {Detailed.TUID} {Detailed.PlaceID}");
                        Selected.TUID           = Detailed.TUID;
                        Selected.PlaceID        = Detailed.PlaceID;
                        Selected.DimensionClass = Detailed.DimensionClass;
                        Selected.Blocked        = Detailed.Blocked;
                        break;

                    case CommandType.Block:
                        using (WMSToUIClient client = new WMSToUIClient())
                        {
                            client.BlockTU(Detailed.TUID, Detailed.BlockedQC, (int)EnumBlockedWMS.Quality);
                            _dbservicewms.AddLog(_accessUser, EnumLogWMS.Event, "UI", $"Request block TUID: |{Detailed.TUID:d5}|{Detailed.BlockedQC}|{(int)EnumBlockedWMS.Quality}|");
                            Selected.TUID           = Detailed.TUID;
                            Selected.PlaceID        = Detailed.PlaceID;
                            Selected.DimensionClass = Detailed.DimensionClass;
                            Selected.Blocked        = Detailed.Blocked;
                        }
                        break;

                    case CommandType.Delete:
                        _dbservicewms.DeleteTUs(Detailed.TUID);
                        using (WMSToUIClient client = new WMSToUIClient())
                        {
                            var pd = new ProxyWMS_UI.PlaceDiff[] { new ProxyWMS_UI.PlaceDiff {
                                                                       TUID = Detailed.TUID, PlaceWMS = Detailed.PlaceID, PlaceMFCS = null
                                                                   } };
                            client.UpdatePlace(pd, _accessUser);
                            _dbservicewms.UpdatePlaceMFCS(new Database.Place {
                                Material = Detailed.TUID, Place1 = Detailed.PlaceID
                            });
                        }
                        _dbservicewms.DeletePlaceMFCS(new Database.Place {
                            Material = Detailed.TUID, Place1 = Detailed.PlaceID
                        });
                        _dbservicewms.AddLog(_accessUser, EnumLogWMS.Event, "UI", $"Delete Place: {Detailed.TUID}, {Detailed.PlaceID}");
                        Selected.TUID           = Detailed.TUID;
                        Selected.PlaceID        = Detailed.PlaceID;
                        Selected.DimensionClass = Detailed.DimensionClass;
                        Selected.Blocked        = Detailed.Blocked;
                        break;

                    case CommandType.Add:
                        List <TUs> tul = new List <TUs>();
                        foreach (var l in Detailed.DetailList)
                        {
                            tul.Add(new TUs {
                                TU_ID    = Detailed.TUID,
                                Box_ID   = l.BoxID,
                                Qty      = 1,
                                ProdDate = l.ProdDate,
                                ExpDate  = l.ExpDate
                            });
                        }
                        using (WMSToUIClient client = new WMSToUIClient())
                        {
                            var pd = new ProxyWMS_UI.PlaceDiff[] {
                                new ProxyWMS_UI.PlaceDiff {
                                    TUID          = Detailed.TUID,
                                    PlaceWMS      = null,
                                    PlaceMFCS     = Detailed.PlaceID,
                                    DimensionMFCS = Detailed.DimensionClass
                                }
                            };
                            client.UpdatePlace(pd, _accessUser);
                            _dbservicewms.UpdatePlaceMFCS(new Database.Place {
                                Material = Detailed.TUID, Place1 = Detailed.PlaceID
                            });
                        }
                        _dbservicewms.AddTUs(tul);
                        _dbservicewms.AddLog(_accessUser, EnumLogWMS.Event, "UI", $"Add Place: {Detailed.TUID}, {Detailed.PlaceID}");
                        break;

                    default:
                        break;
                    }
                    if (Detailed != null)
                    {
                        Detailed.ValidationEnabled = false;
                    }
                }
                catch (Exception e)
                {
                    _warehouse.AddEvent(Event.EnumSeverity.Error, Event.EnumType.Exception, e.Message);
                }
            }
            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));
            }
        }