コード例 #1
0
        private void SaveForm(bool isAutoSave)
        {
            try
            {
                using (var dp = SimpleIoc.Default.GetInstance <IUnitOfWorkFactory>().CreateUnitOfWork())
                {
                    LoadScanEntity loadScan = null;
                    var            bridgeID = dp.SettingsRepository.GetSettingWithDefault(BridgeSettingKeys.BRIDGE_ID, "");

                    //try to look load up by gin tag number to update matching load
                    // if (!isAutoSave)
                    //     loadScan = dp.LoadScanRepository.FindSingle(l => l.GinTagLoadNumber == GinTicketLoadNumber);

                    if (loadScan == null)
                    {
                        loadScan = dp.LoadScanRepository.GetById(_loadScanId);
                        loadScan.GinTagLoadNumber = GinTicketLoadNumber;
                    }

                    loadScan.BridgeID = bridgeID;

                    if (TruckID == "-- Select One --")
                    {
                        _TruckID = "";
                    }

                    loadScan.TruckID = TruckID;

                    if (!isAutoSave)
                    {
                        loadScan.GinTagLoadNumber = GinTicketLoadNumber;
                    }

                    var grossWeight = 0.00M;
                    var split1      = 0.00M;
                    var split2      = 0.00M;

                    if (decimal.TryParse(GrossWeight, out grossWeight))
                    {
                        loadScan.GrossWeight = grossWeight;
                    }

                    if (decimal.TryParse(SplitWeight1, out split1))
                    {
                        loadScan.SplitWeight1 = split1;
                    }

                    if (decimal.TryParse(SplitWeight2, out split2))
                    {
                        loadScan.SplitWeight2 = split2;
                    }

                    loadScan.NetWeight = loadScan.GrossWeight - _tareWeight;
                    loadScan.Latitude  = dp.SettingsRepository.GetSettingDoubleValue(BridgeSettingKeys.LATITUDE);
                    loadScan.Longitude = dp.SettingsRepository.GetSettingDoubleValue(BridgeSettingKeys.LONGITUDE);

                    loadScan.PickedBy  = PickedBy;
                    loadScan.Processed = false;

                    var status = dp.SettingsRepository.GetSettingWithDefault(BridgeSettingKeys.TARGET_STATUS, "AT GIN");
                    if (status == "AT GIN")
                    {
                        loadScan.TargetStatus = ModuleStatus.AT_GIN;
                    }
                    else
                    {
                        loadScan.TargetStatus = ModuleStatus.ON_FEEDER;
                    }

                    loadScan.TrailerNumber = TrailerNumber;
                    loadScan.Variety       = Variety;
                    loadScan.YardRow       = YardLocation;
                    if (AttendantChecked)
                    {
                        loadScan.SubmittedBy = "attendant";
                    }
                    if (DriverChecked)
                    {
                        loadScan.SubmittedBy = "driver";
                    }
                    loadScan.Client = Client;
                    loadScan.Farm   = Farm;
                    loadScan.Field  = Field;

                    var moduleScanData = new ModuleScanData();
                    moduleScanData.Scans = new List <LoadModuleScan>();
                    moduleScanData.Scans.AddRange(Modules.ToList());
                    loadScan.SetSerializedModuleScanData(moduleScanData);

                    dp.LoadScanRepository.Save(loadScan);
                    dp.SaveChanges();

                    Messenger.Default.Send <LoadSavedMessage>(new LoadSavedMessage {
                        Scan = loadScan
                    });
                }
            }
            catch (Exception exc)
            {
                System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
                {
                    if (!isAutoSave)
                    {
                        System.Windows.MessageBox.Show("An error occured saving load. " + exc.Message);
                    }
                }));
                Logging.Logger.Log(exc);
            }
        }
コード例 #2
0
        private void ExecuteCreateLoad()
        {
            ShowInputError = false;

            //TODO VALIDATE TICKET LOAD NUMBER EXISTS
            if (string.IsNullOrEmpty(GinTicketLoadNumber))
            {
                ShowInputError    = true;
                InputErrorMessage = "Please enter a gin ticket load number.";
            }

            if (!ShowInputError)
            {
                using (var dp = SimpleIoc.Default.GetInstance <IUnitOfWorkFactory>().CreateUnitOfWork())
                {
                    var hasLoad = dp.LoadScanRepository.FindMatching(x => x.GinTagLoadNumber == GinTicketLoadNumber).Any();

                    if (hasLoad)
                    {
                        this.ExecuteLookupLoad();
                        return;
                    }

                    var bridgeID     = dp.SettingsRepository.GetSettingWithDefault(BridgeSettingKeys.BRIDGE_ID, "");
                    var lastLoadScan = new LoadScanEntity();

                    lastLoadScan.SubmittedBy = "attendant";

                    //always use a new load number otherwise a previous load
                    //could get overwritten
                    lastLoadScan.BridgeLoadNumber = dp.LoadScanRepository.LastLoadNumber() + 1;
                    var scanData = new ModuleScanData();
                    scanData.Scans = new List <LoadModuleScan>();
                    lastLoadScan.SetSerializedModuleScanData(scanData);
                    lastLoadScan.BridgeID         = bridgeID;
                    lastLoadScan.TruckID          = "";
                    lastLoadScan.GinTagLoadNumber = GinTicketLoadNumber;
                    lastLoadScan.GrossWeight      = 0.00M;
                    lastLoadScan.NetWeight        = 0.00M;
                    lastLoadScan.SplitWeight1     = 0.00M;
                    lastLoadScan.SplitWeight2     = 0.00M;
                    lastLoadScan.Latitude         = dp.SettingsRepository.GetSettingDoubleValue(BridgeSettingKeys.LATITUDE);
                    lastLoadScan.Longitude        = dp.SettingsRepository.GetSettingDoubleValue(BridgeSettingKeys.LONGITUDE);

                    lastLoadScan.TrailerNumber = "";
                    lastLoadScan.Variety       = "";
                    lastLoadScan.YardRow       = "IN FIELD";
                    lastLoadScan.PickedBy      = "";

                    lastLoadScan.Client = "";
                    lastLoadScan.Farm   = "";
                    lastLoadScan.Field  = "";

                    var status = dp.SettingsRepository.GetSettingWithDefault(BridgeSettingKeys.TARGET_STATUS, "AT GIN");

                    if (status == "AT GIN")
                    {
                        lastLoadScan.TargetStatus = ModuleStatus.AT_GIN;
                    }
                    else
                    {
                        lastLoadScan.TargetStatus = ModuleStatus.ON_FEEDER;
                    }
                    lastLoadScan.SubmittedBy = "attendant";
                    //lastLoadScan.SetSerializedModuleScanData(scanData);
                    dp.LoadScanRepository.Save(lastLoadScan);
                    dp.SaveChanges();

                    var vm = new LoadViewModel(NavService);
                    NavService.ShowPage(PageType.LOAD_PAGE, false, (BasePageViewModel)vm);
                    vm.Initialize(GinTicketLoadNumber, false, true);
                }
            }
        }