예제 #1
0
        private void ChooseAddress_Load(object sender, EventArgs e)
        {
            uxCBAisle.SelectedIndex    = 0;
            uxCBShelf.SelectedIndex    = 0;
            uxCBSubshelf.SelectedIndex = 0;

            try
            {
                dsPhysicalInventory = new DataSetPhysicalInventory();
                cache.AddObject(CacheAddress.PhysicalInventoryData, dsPhysicalInventory);

                taWarehouseInventory      = new WarehouseInventoryTableAdapter();
                taWarehouseLocations      = new WarehouseLocationsTableAdapter();
                taPhysicalProgress        = new PhysicalProgressTableAdapter();
                taPhysicalProgressSummary = new PhysicalProgressSummaryTableAdapter();
                taEmployee = new EmployeeTableAdapter();

                cache.AddObject(CacheAddress.WarehouseInventoryTableAdapter, taWarehouseInventory);
                cache.AddObject(CacheAddress.WarehouseLocationsTableAdapter, taWarehouseLocations);
                cache.AddObject(CacheAddress.PhysicalProgressTableAdapter, taPhysicalProgress);
                cache.AddObject(CacheAddress.PhysicalProgressSummaryTableAdapter, taPhysicalProgressSummary);
                cache.AddObject(CacheAddress.EmployeeTableAdapter, taEmployee);
                cache.AddObject(CacheAddress.BeginPhysicalAisle, BeginPhysicalAisle);
                cache.AddObject(CacheAddress.BeginPhysicalShelf, BeginPhysicalShelf);
                cache.AddObject(CacheAddress.BeginPhysicalSubshelf, BeginPhysicalSubshelf);
                taWarehouseLocations.Fill(dsPhysicalInventory.WarehouseLocations);
            }
            catch (SqlException ex)
            {
                foreach (SqlError SQLErr in ex.Errors)
                {
                    MessageBox.Show(SQLErr.Message);
                }
            }
        }
예제 #2
0
        private void uxButtonContinuePhysical_Click(object sender, EventArgs e)
        {
            try
            {
                DataSetPhysicalInventory dsPhysicalInventory = (DataSetPhysicalInventory)cache.RetrieveObject(CacheAddress.PhysicalInventoryData);

                EmployeeTableAdapter taEmployee = (EmployeeTableAdapter)cache.RetrieveObject(CacheAddress.EmployeeTableAdapter);
                taEmployee.Fill(dsPhysicalInventory.Employee, uxTextBoxPassword.Text);
                string    OperatorCode;
                Exception ex = null;
                switch (dsPhysicalInventory.Employee.Rows.Count)
                {
                case 1:
                    OperatorCode = dsPhysicalInventory.Employee[0].OperatorCode;
                    break;

                case 0:
                    ex = new Exception("Invalid password.");
                    uxTextBoxPassword.Focus();
                    throw ex;

                default:
                    ex = new Exception("Unknown error validating password.");
                    uxTextBoxPassword.Focus();
                    throw ex;
                }

                PhysicalProgressTableAdapter taPhysicalProgressTableAdapter = (PhysicalProgressTableAdapter)cache.RetrieveObject(CacheAddress.PhysicalProgressTableAdapter);
                BeginPhysicalAisle    = uxCBAisle.Text;
                BeginPhysicalShelf    = Int32.Parse(uxCBShelf.Text);
                BeginPhysicalSubshelf = Int32.Parse(uxCBSubshelf.Text);

                cache.RemoveObject(CacheAddress.BeginPhysicalAisle);
                cache.RemoveObject(CacheAddress.BeginPhysicalShelf);
                cache.RemoveObject(CacheAddress.BeginPhysicalSubshelf);
                cache.AddObject(CacheAddress.BeginPhysicalAisle, BeginPhysicalAisle);
                cache.AddObject(CacheAddress.BeginPhysicalShelf, BeginPhysicalShelf);
                cache.AddObject(CacheAddress.BeginPhysicalSubshelf, BeginPhysicalSubshelf);

                //  Continue cycle count for specified address.
                taPhysicalProgressTableAdapter.Fill(dsPhysicalInventory.PhysicalProgress, BeginPhysicalAisle, BeginPhysicalShelf, BeginPhysicalSubshelf);
                cache.AddObject(CacheAddress.PhysicalInventoryData, dsPhysicalInventory);

                Application.Run(new frmScanToLocation());
            }
            catch (SqlException ex)
            {
                foreach (SqlError SQLErr in ex.Errors)
                {
                    MessageBox.Show(SQLErr.Message);
                }
            }
            catch (Exception ex)
            {
                //  Getting exception when loading frmScanToLocation.
                //MessageBox.Show (ex.Message);
            }
        }
예제 #3
0
        private void RefreshProgress()
        {
            try
            {
                _putAwayRack  = RackSelection.Text;
                _putAwayShelf = ShelfSelection.Text;
                if (string.IsNullOrEmpty(_putAwayShelf))
                {
                    ShelfSelection.Focus();
                    return;
                }
                _putAwayPosition = PositionSelection.Text;
                if (string.IsNullOrEmpty(_putAwayPosition))
                {
                    PositionSelection.Focus();
                    return;
                }

                using (var ppTA = new PhysicalProgressTableAdapter())
                {
                    uxGridProgress.DataSource = ppTA.GetCycleCountProgressByAddress(Plant, _putAwayRack, _putAwayShelf,
                                                                                    _putAwayPosition);
                }

                using (var ppsTA = new PhysicalProgressSummaryTableAdapter())
                {
                    var ppsDT = ppsTA.GetCycleCountProgressSummary(Plant, _putAwayRack, _putAwayShelf, _putAwayPosition);

                    switch (ppsDT.Rows.Count)
                    {
                    case 1:
                        uxLabelProgress.Text = ppsDT[0].FoundCount +
                                               " Found, " +
                                               ppsDT[0].MissingCount +
                                               " Missing, " +
                                               ppsDT[0].TotalCount +
                                               " Total";
                        break;

                    default:
                        throw new Exception("Unable to retrieve summary.");
                    }
                }
            }
            catch (SqlException ex)
            {
                foreach (SqlError sqlErr in ex.Errors)
                {
                    MessageBox.Show(sqlErr.Message);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #4
0
        private void UxButtonBeginPhysicalClick(object sender, EventArgs e)
        {
            try
            {
                using (var taEmployee = new EmployeeTableAdapter())
                {
                    var employeeDT = taEmployee.GetOperatorCodeByPassword(uxTextBoxPassword.Text);
                    switch (employeeDT.Rows.Count)
                    {
                    case 1:
                        _operatorCode = employeeDT[0].OperatorCode;
                        break;

                    case 0:
                        uxTextBoxPassword.Focus();
                        throw new Exception("Invalid password.");

                    default:
                        uxTextBoxPassword.Focus();
                        throw new Exception("Unknown error validating password.");
                    }
                }

                using (var taPhysicalProgressTableAdapter = new PhysicalProgressTableAdapter())
                {
                    _rack     = RackSelection.Text;
                    _shelf    = ShelfSelection.Text;
                    _position = PositionSelection.Text;

                    //  Validate before continuing.
                    string validationMessage = _operatorCode + " will initiate a cycle count on aisle " + _rack;
                    if (string.IsNullOrEmpty(_shelf))
                    {
                        validationMessage += " all shelves and";
                    }
                    else
                    {
                        validationMessage += string.Format(" shelf {0} and", _shelf);
                    }
                    if (string.IsNullOrEmpty(_position))
                    {
                        validationMessage += " all positions.";
                    }
                    else
                    {
                        validationMessage += string.Format(" position {0}.", _position);
                    }
                    if (MessageBox.Show(validationMessage, "Confirmation",
                                        MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) ==
                        DialogResult.Cancel)
                    {
                        RackSelection.Focus();
                        throw new Exception("Operation cancelled.");
                    }

                    //  Begin cycle count for specified address.
                    DateTime?tranDT = null;
                    Int32?   result = null;
                    taPhysicalProgressTableAdapter.BeginPhysical(_operatorCode, _plant, _rack, _shelf, _position, ref tranDT, ref result);
                }

                var scanningView = new ScanToLocationView
                {
                    Plant                 = _plant,
                    OperatorCode          = _operatorCode,
                    BeginPhysicalRack     = _rack,
                    BeginPhysicalShelf    = _shelf,
                    BeginPhysicalPosition = _position
                };
                scanningView.Show();
            }
            catch (SqlException ex)
            {
                foreach (SqlError sqlErr in ex.Errors)
                {
                    MessageBox.Show(sqlErr.Message);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #5
0
        private int TryProcessSerial(Int32 boxSerial)
        {
            try
            {
                //  Verify that shelf and subshelf are selected.
                _putAwayRack  = RackSelection.Text;
                _putAwayShelf = ShelfSelection.Text;
                if (string.IsNullOrEmpty(_putAwayShelf))
                {
                    ShelfSelection.Focus();
                    throw new Exception("Shelf not selected.");
                }
                _putAwayPosition = PositionSelection.Text;
                if (string.IsNullOrEmpty(_putAwayPosition))
                {
                    PositionSelection.Focus();
                    throw new Exception("Subshelf not selected.");
                }

                //  Scan object to location.
                using (var ppTA = new PhysicalProgressTableAdapter())
                {
                    DateTime?tranDT = null;
                    Int32?   result = null;
                    ppTA.ScanSerial(OperatorCode, boxSerial, Plant, _putAwayRack, _putAwayShelf, _putAwayPosition,
                                    ref tranDT,
                                    ref result);
                }

                //  Refresh screen and find row.
                using (var wiTA = new WarehouseInventoryTableAdapter())
                {
                    var wiDT = wiTA.GetInventoryBySerial(boxSerial);
                    switch (wiDT.Rows.Count)
                    {
                    case 1:
                        uxLabelMessage.Text = "Serial " + boxSerial + " Part " + wiDT[0].Part;
                        break;

                    default:
                        throw new Exception("Part not found!");
                    }
                }
                RefreshProgress();
                return(1);
            }
            catch (SqlException ex)
            {
                foreach (SqlError sqlErr in ex.Errors)
                {
                    MessageBox.Show(sqlErr.Message);
                }
                return(-1);
            }
            catch (Exception ex)
            {
                uxLabelMessage.Text = ex.Message;
                const int DURATION  = 1500; //millisec
                const int FREQUENCY = 2670; //hz

                try
                {
                    _myAudioController.PlayAudio(DURATION, FREQUENCY); //play Default beep
                }
                catch
                {
                    MessageBox.Show("PlayAudio failed. Speaker may not be present", "PlayAudio");
                }
                return(-1);
            }
        }
예제 #6
0
        private void frmScanToLocation_Load(object sender, EventArgs e)
        {
            try
            {
                MyRFGun         = new SymbolRFGun.SymbolRFGun();
                MyRFGun.RFScan += new RFScanEventHandler(MyRFGun_RFScan);
            }
            catch (SymbolRFGunException ex)
            {
                MessageBox.Show(ex.Message);
                this.Close();
            }

            try
            {
                //Select Device from device list
                Symbol.Audio.Device MyDevice = (Symbol.Audio.Device)Symbol.StandardForms.SelectDevice.Select(
                    Symbol.Audio.Controller.Title,
                    Symbol.Audio.Device.AvailableDevices);

                if (MyDevice == null)
                {
                    MessageBox.Show("No Device Selected", "SelectDevice");

                    //close the form
                    this.Close();

                    return;
                }

                //check the device type
                switch (MyDevice.AudioType)
                {
                //if standard device
                case Symbol.Audio.AudioType.StandardAudio:
                    MyAudioController = new Symbol.Audio.StandardAudio(MyDevice);
                    break;

                //if simulated device
                case Symbol.Audio.AudioType.SimulatedAudio:
                    MyAudioController = new Symbol.Audio.SimulatedAudio(MyDevice);
                    break;

                default:
                    throw new Symbol.Exceptions.InvalidDataTypeException("Unknown Device Type");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            try
            {
                Exception ex = null;
                dsPhysicalInventory       = (DataSetPhysicalInventory)cache.RetrieveObject(CacheAddress.PhysicalInventoryData);
                taEmployee                = (EmployeeTableAdapter)cache.RetrieveObject(CacheAddress.EmployeeTableAdapter);
                taPhysicalProgress        = (PhysicalProgressTableAdapter)cache.RetrieveObject(CacheAddress.PhysicalProgressTableAdapter);
                taPhysicalProgressSummary = (PhysicalProgressSummaryTableAdapter)cache.RetrieveObject(CacheAddress.PhysicalProgressSummaryTableAdapter);
                taWarehouseInventory      = (WarehouseInventoryTableAdapter)cache.RetrieveObject(CacheAddress.WarehouseInventoryTableAdapter);

                switch (dsPhysicalInventory.Employee.Rows.Count)
                {
                case 1:
                    OperatorCode             = dsPhysicalInventory.Employee[0].OperatorCode;
                    uxLabelOperatorCode.Text = OperatorCode;
                    break;

                case 0:
                    ex = new Exception("Invalid password.");
                    throw ex;

                default:
                    ex = new Exception("Unknown error validating password.");
                    throw ex;
                }
                PutAwayAisle          = (string)cache.RetrieveObject(CacheAddress.BeginPhysicalAisle);
                BeginPhysicalShelf    = (Int32)cache.RetrieveObject(CacheAddress.BeginPhysicalShelf);
                BeginPhysicalSubshelf = (Int32)cache.RetrieveObject(CacheAddress.BeginPhysicalSubshelf);
                uxCBAisle.Items.Add(PutAwayAisle);
                uxCBAisle.SelectedIndex = 0;
                if (BeginPhysicalShelf == 0)
                {
                    uxCBShelf.Items.Add("1");
                    uxCBShelf.Items.Add("2");
                    uxCBShelf.Items.Add("3");
                    uxCBShelf.Items.Add("4");
                    PutAwayShelf = 1;
                }
                else
                {
                    uxCBShelf.Items.Add(BeginPhysicalShelf.ToString());
                    PutAwayShelf = BeginPhysicalShelf;
                }
                uxCBShelf.SelectedIndex = 0;

                if (BeginPhysicalSubshelf == 0)
                {
                    uxCBSubshelf.Items.Add("1");
                    uxCBSubshelf.Items.Add("2");
                    uxCBSubshelf.Items.Add("3");
                    uxCBSubshelf.Items.Add("4");
                    uxCBSubshelf.Items.Add("5");
                    uxCBSubshelf.Items.Add("6");
                    uxCBSubshelf.Items.Add("7");
                    uxCBSubshelf.Items.Add("8");
                    uxCBSubshelf.Items.Add("9");
                    uxCBSubshelf.Items.Add("10");
                    uxCBSubshelf.Items.Add("11");
                    uxCBSubshelf.Items.Add("12");
                    PutAwaySubshelf = 1;
                }
                else
                {
                    uxCBSubshelf.Items.Add(BeginPhysicalSubshelf.ToString());
                    PutAwaySubshelf = BeginPhysicalSubshelf;
                }
                uxCBSubshelf.SelectedIndex = 0;
                RefreshProgress();
            }
            catch (SqlException ex)
            {
                foreach (SqlError SQLErr in ex.Errors)
                {
                    MessageBox.Show(SQLErr.Message);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #7
0
        private void uxButtonBeginPhysical_Click(object sender, EventArgs e)
        {
            try
            {
                DataSetPhysicalInventory dsPhysicalInventory = (DataSetPhysicalInventory)cache.RetrieveObject(CacheAddress.PhysicalInventoryData);

                EmployeeTableAdapter taEmployee = (EmployeeTableAdapter)cache.RetrieveObject(CacheAddress.EmployeeTableAdapter);
                taEmployee.Fill(dsPhysicalInventory.Employee, uxTextBoxPassword.Text);
                string    OperatorCode;
                Exception ex = null;
                switch (dsPhysicalInventory.Employee.Rows.Count)
                {
                case 1:
                    OperatorCode = dsPhysicalInventory.Employee [0].OperatorCode;
                    break;

                case 0:
                    ex = new Exception("Invalid password.");
                    uxTextBoxPassword.Focus();
                    throw ex;

                default:
                    ex = new Exception("Unknown error validating password.");
                    uxTextBoxPassword.Focus();
                    throw ex;
                }

                PhysicalProgressTableAdapter taPhysicalProgressTableAdapter = (PhysicalProgressTableAdapter)cache.RetrieveObject(CacheAddress.PhysicalProgressTableAdapter);
                BeginPhysicalAisle    = uxCBAisle.Text;
                BeginPhysicalShelf    = Int32.Parse(uxCBShelf.Text);
                BeginPhysicalSubshelf = Int32.Parse(uxCBSubshelf.Text);

                //  Validate before continuing.
                string ValidationMessage = OperatorCode + " will initiate a cycle count on aisle " + BeginPhysicalAisle;
                if (BeginPhysicalShelf == 0)
                {
                    ValidationMessage += " all shelves and";
                }
                else
                {
                    ValidationMessage += " shelf " + BeginPhysicalShelf.ToString() + " and";
                }
                if (BeginPhysicalSubshelf == 0)
                {
                    ValidationMessage += " all positions.";
                }
                else
                {
                    ValidationMessage += " position " + BeginPhysicalSubshelf.ToString() + ".";
                }
                if (MessageBox.Show(ValidationMessage, "Confirmation",
                                    MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel)
                {
                    ex = new Exception("Operation cancelled.");
                    uxCBAisle.Focus();
                    throw ex;
                }
                cache.RemoveObject(CacheAddress.BeginPhysicalAisle);
                cache.RemoveObject(CacheAddress.BeginPhysicalShelf);
                cache.RemoveObject(CacheAddress.BeginPhysicalSubshelf);
                cache.AddObject(CacheAddress.BeginPhysicalAisle, BeginPhysicalAisle);
                cache.AddObject(CacheAddress.BeginPhysicalShelf, BeginPhysicalShelf);
                cache.AddObject(CacheAddress.BeginPhysicalSubshelf, BeginPhysicalSubshelf);

                //  Begin cycle count for specified address.
                Int32 Result;
                taPhysicalProgressTableAdapter.BeginPhysical_ByAddress(OperatorCode, BeginPhysicalAisle, BeginPhysicalShelf, BeginPhysicalSubshelf, out Result);
                taPhysicalProgressTableAdapter.Fill(dsPhysicalInventory.PhysicalProgress, BeginPhysicalAisle, BeginPhysicalShelf, BeginPhysicalSubshelf);
                cache.AddObject(CacheAddress.PhysicalInventoryData, dsPhysicalInventory);

                Application.Run(new frmScanToLocation());
            }
            catch (SqlException ex)
            {
                foreach (SqlError SQLErr in ex.Errors)
                {
                    MessageBox.Show(SQLErr.Message);
                }
            }
            catch (Exception ex)
            {
                //  Getting exception when loading frmScanToLocation.
                //MessageBox.Show (ex.Message);
            }
        }