Beispiel #1
0
        public bool IsDuplicateElementAllowed(string elementName)
        {
            bool isAllowed = false;

            try {
                InboundLabelDataElement element = null;
                foreach (InboundLabelInputSrc input in this.mInputs)
                {
                    if (input != null)
                    {
                        //Find the data element in this input
                        InboundLabelDataElement elem = input.DataElementItem(elementName);
                        if (elem != null)
                        {
                            element = elem;
                            break;
                        }
                    }
                }
                if (element != null)
                {
                    isAllowed = element.IsDuplicateAllowed;
                }
            }
            catch (Exception ex) { throw new ApplicationException("Unexpected exception in IsDuplicateElementAllowed().", ex); }
            return(isAllowed);
        }
        public DataSet ToDataSet()
        {
            //Return a dataset containing values for this object
            InboundLabelDS input = null;

            try {
                input = new InboundLabelDS();
                InboundLabelDS.InboundLabelTableRow row = input.InboundLabelTable.NewInboundLabelTableRow();
                row.LabelID          = this.mLabelID;
                row.SortTypeID       = 0;
                row.Input1Len        = 0;
                row.Input1ValidStart = 0;
                switch (this.mInputNumber)
                {
                case 1:
                    row.Input1Len = this.mLength;
                    if (this.mValidString.Length > 0)
                    {
                        row.Input1ValidString = this.mValidString;
                    }
                    row.Input1ValidStart = this.mValidStart;
                    break;

                case 2:
                    row.Input2Len = this.mLength;
                    if (this.mValidString.Length > 0)
                    {
                        row.Input2ValidString = this.mValidString;
                    }
                    row.Input2ValidStart = this.mValidStart;
                    break;

                case 3:
                    row.Input3Len = this.mLength;
                    if (this.mValidString.Length > 0)
                    {
                        row.Input3ValidString = this.mValidString;
                    }
                    row.Input3ValidStart = this.mValidStart;
                    break;
                }
                input.InboundLabelTable.AddInboundLabelTableRow(row);

                InboundLabelDataElement element = null;
                for (int i = 0; i < this.mDataElements.Count; i++)
                {
                    element = (InboundLabelDataElement)this.mDataElements[i];
                    input.Merge(element.ToDataSet());
                }
            }
            catch (Exception ex) { Debug.Write(ex.ToString() + "\n"); }
            return(input);
        }
Beispiel #3
0
        public InboundLabelDataElement Copy()
        {
            //Return a copy of this object
            InboundLabelDataElement element = null;

            try {
                InboundLabelDS.InboundLabelDataElementTableRow elem = ((InboundLabelDS)this.ToDataSet()).InboundLabelDataElementTable[0];
                element = new InboundLabelDataElement(this.mParent, elem, this.mPriority);
            }
            catch (Exception ex) { throw new ApplicationException("Unexpected error while creating a copy of an Inbound Label Data Element.", ex); }
            return(element);
        }
Beispiel #4
0
        private void adapt()
        {
            //Event handler for change in label data
            InboundLabelInputSrc    inputSrc1 = null, inputSrc2 = null, inputSrc3 = null;
            InboundLabelDataElement element = null;

            base.mInputs[0] = base.mInputs[1] = base.mInputs[2] = null;

            //Create input 1 (mandatory)
            inputSrc1 = new InboundLabelInputSrc(1, this.mFreightInfo.Input1Length, this.mFreightInfo.ValidationString, (short)this.mFreightInfo.ValidationBegin, "");
            element   = createDataElement(inputSrc1, base.mLabelID, InboundLabelDataElement.DATAELEM_STORE, 1, this.mFreightInfo.StoreBeginPos, (short)(this.mFreightInfo.StoreEndPos - this.mFreightInfo.StoreBeginPos + 1), false, false, false);
            inputSrc1.AddDataElement(element);
            if (this.mFreightInfo.CartonInInput1 == "Y")
            {
                element = createDataElement(inputSrc1, base.mLabelID, InboundLabelDataElement.DATAELEM_CARTON, 1, this.mFreightInfo.CartonBeginPos, (short)(this.mFreightInfo.CartonEndPos - this.mFreightInfo.CartonBeginPos + 1), (this.mFreightInfo.CartonsNbrReq == "Y"), (this.mFreightInfo.DupCartonsOK == "Y"), (this.mFreightInfo.CartonValidation == "Y"));
                inputSrc1.AddDataElement(element);
            }
            if (this.mFreightInfo.POInputNumber == 1)
            {
                element = createDataElement(inputSrc1, base.mLabelID, InboundLabelDataElement.DATAELEM_PO, 1, (short)this.mFreightInfo.POStart, (short)this.mFreightInfo.POLength, false, false, false);
                inputSrc1.AddDataElement(element);
            }
            base.AddInputSrc(inputSrc1);

            //Create input 2
            if (this.mFreightInfo.Input2Length > 0)
            {
                inputSrc2 = new InboundLabelInputSrc(2, this.mFreightInfo.Input2Length, "", 0, "");
                if (this.mFreightInfo.CartonInInput1 == "N")
                {
                    element = createDataElement(inputSrc2, base.mLabelID, InboundLabelDataElement.DATAELEM_CARTON, 2, this.mFreightInfo.CartonBeginPos, (short)(this.mFreightInfo.CartonEndPos - this.mFreightInfo.CartonBeginPos + 1), false, false, false);
                    inputSrc2.AddDataElement(element);
                }
                if (this.mFreightInfo.POInputNumber == 2)
                {
                    element = createDataElement(inputSrc2, base.mLabelID, InboundLabelDataElement.DATAELEM_PO, 2, (short)this.mFreightInfo.POStart, (short)this.mFreightInfo.POLength, false, false, false);
                    inputSrc2.AddDataElement(element);
                }
                base.AddInputSrc(inputSrc2);
            }

            //Create input 3
            if (this.mFreightInfo.Input3Length > 0)
            {
                inputSrc3 = new InboundLabelInputSrc(3, this.mFreightInfo.Input3Length, "", 0, "");
                if (this.mFreightInfo.POInputNumber == 3)
                {
                    element = createDataElement(inputSrc3, base.mLabelID, InboundLabelDataElement.DATAELEM_PO, 3, (short)this.mFreightInfo.POStart, (short)this.mFreightInfo.POLength, false, false, false);
                    inputSrc3.AddDataElement(element);
                }
                base.AddInputSrc(inputSrc3);
            }
        }
        public InboundLabelDataElement DataElementItem(string elementType)
        {
            //Get a data element item from the collection by name
            InboundLabelDataElement element = null;

            for (int i = 0; i < this.mDataElements.Count; i++)
            {
                InboundLabelDataElement _element = (InboundLabelDataElement)this.mDataElements[i];
                if (_element.ElementType == elementType)
                {
                    element = _element;
                    break;
                }
            }
            return(element);
        }
        //Members

        //IComparer implementations
        int IComparer.Compare(object element1, object element2)
        {
            //Compare two objects
            int diff = 0;

            try {
                //Cast objects as InboundLabelDataElement types
                InboundLabelDataElement elem1 = (InboundLabelDataElement)element1;
                InboundLabelDataElement elem2 = (InboundLabelDataElement)element2;

                //Compare priority levels
                diff = elem1.Priority - elem2.Priority;
            }
            catch (Exception ex) { throw ex; }
            return(diff);
        }
Beispiel #7
0
        private InboundLabelDataElement createDataElement(InboundLabelInputSrc parent, int labelID, string type, short inputNumber, short start, short len, bool isValueRequired, bool isDuplicateAllowed, bool isCheckDigitValidation)
        {
            //
            InboundLabelDataElement element = null;

            try {
                InboundLabelDS label = new InboundLabelDS();
                InboundLabelDS.InboundLabelDataElementTableRow elem = label.InboundLabelDataElementTable.NewInboundLabelDataElementTableRow();
                elem.LabelID                = labelID;
                elem.ElementType            = type;
                elem.InputNumber            = inputNumber;
                elem.Start                  = start;
                elem.Length                 = len;
                elem.IsValueRequired        = (isValueRequired ? (byte)1 : (byte)0);
                elem.IsDuplicateAllowed     = (isDuplicateAllowed ? (byte)1 : (byte)0);
                elem.IsCheckDigitValidation = (isCheckDigitValidation ? (byte)1 : (byte)0);
                elem.ConstantValue          = "";
                label.InboundLabelDataElementTable.AddInboundLabelDataElementTableRow(elem);
                element = new InboundLabelDataElement(parent, label.InboundLabelDataElementTable[0], 0);
            }
            catch (Exception ex) { throw ex; }
            return(element);
        }
        //Interface
        public InboundLabelInputSrc(int inputNumber, InboundLabelDS label, string name)
        {
            //Constructor: used for Returns freight
            try {
                //Define input number for this src
                this.mInputNumber = inputNumber;
                if (label != null && label.InboundLabelTable.Rows.Count > 0)
                {
                    //Init src properties
                    this.mLabelID = label.InboundLabelTable[0].LabelID;
                    switch (this.mInputNumber)
                    {
                    case 1:
                        this.mLength = label.InboundLabelTable[0].Input1Len;
                        if (!label.InboundLabelTable[0].IsInput1ValidStringNull())
                        {
                            this.mValidString = label.InboundLabelTable[0].Input1ValidString.Trim();
                        }
                        this.mValidStart = label.InboundLabelTable[0].Input1ValidStart;
                        break;

                    case 2:
                        if (!label.InboundLabelTable[0].IsInput2LenNull())
                        {
                            this.mLength = label.InboundLabelTable[0].Input2Len;
                        }
                        if (!label.InboundLabelTable[0].IsInput2ValidStringNull())
                        {
                            this.mValidString = label.InboundLabelTable[0].Input2ValidString.Trim();
                        }
                        if (!label.InboundLabelTable[0].IsInput2ValidStartNull())
                        {
                            this.mValidStart = label.InboundLabelTable[0].Input2ValidStart;
                        }
                        break;

                    case 3:
                        if (!label.InboundLabelTable[0].IsInput3LenNull())
                        {
                            this.mLength = label.InboundLabelTable[0].Input3Len;
                        }
                        if (!label.InboundLabelTable[0].IsInput3ValidStringNull())
                        {
                            this.mValidString = label.InboundLabelTable[0].Input3ValidString.Trim();
                        }
                        if (!label.InboundLabelTable[0].IsInput3ValidStartNull())
                        {
                            this.mValidStart = label.InboundLabelTable[0].Input3ValidStart;
                        }
                        break;
                    }
                    this.mDataElements = new ArrayList();
                    this.mName         = name;

                    //Attach data elements for this input source
                    if (label.InboundLabelDataElementTable.Rows.Count > 0)
                    {
                        InboundLabelDS elementDS = new InboundLabelDS();
                        elementDS.Merge(label.InboundLabelDataElementTable.Select("InputNumber=" + this.mInputNumber));
                        if (elementDS.InboundLabelDataElementTable.Rows.Count > 0)
                        {
                            for (int i = 0; i < elementDS.InboundLabelDataElementTable.Rows.Count; i++)
                            {
                                InboundLabelDataElement element = new InboundLabelDataElement(this, elementDS.InboundLabelDataElementTable[i], 0);
                                this.mDataElements.Add(element);
                            }
                        }
                    }
                }
            }
            catch (ApplicationException ex) { throw ex; }
            catch (Exception ex) { throw new ApplicationException("Unexpected error while creating Inbound Label Input Src instance.", ex); }
        }
 public void RemoveDataElement(InboundLabelDataElement element)
 {
     //Remove an existing data element from the collection
     this.mDataElements.Remove(element);
 }
Beispiel #10
0
 public void AddDataElement(InboundLabelDataElement element)
 {
     //Add a new data element to the collection
     this.mDataElements.Add(element);
 }