Ejemplo n.º 1
0
        private void _setContainerLocations()
        {
            IEnumerable <CswPrimaryKey> ContainerNodePks = this.getContainersInGroup();

            if (ContainerNodePks.Count() > 0)
            {
                int BatchThreshold = CswNbtBatchManager.getBatchThreshold(_CswNbtResources);
                if (ContainerNodePks.Count() > BatchThreshold)
                {
                    // Shelve this to a batch operation
                    CswNbtBatchOpSyncLocation op        = new CswNbtBatchOpSyncLocation(_CswNbtResources);
                    CswNbtObjClassBatchOp     BatchNode = op.makeBatchOp(ContainerNodePks, this.Location.SelectedNodeId);
                }
                else
                {
                    foreach (CswPrimaryKey CurrentContainerNodePk in ContainerNodePks)
                    {
                        CswNbtObjClassContainer CurrentContainer = _CswNbtResources.Nodes[CurrentContainerNodePk];
                        if (null != CurrentContainer)
                        {
                            CurrentContainer.Location.SelectedNodeId = this.Location.SelectedNodeId;
                            CurrentContainer.postChanges(false);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create an ObjClass instance for given ObjectClass and Node
        /// </summary>
        public static CswNbtObjClass makeObjClass(CswNbtResources CswNbtResources, CswNbtMetaDataObjectClass ObjectClass, CswNbtNode Node = null)
        {
            CswNbtObjClass ReturnVal = null;

            switch (ObjectClass.ObjectClass)
            {
            case CswEnumNbtObjectClass.BalanceClass:
                ReturnVal = new CswNbtObjClassBalance(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.BalanceConfigurationClass:
                ReturnVal = new CswNbtObjClassBalanceConfiguration(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.BatchOpClass:
                ReturnVal = new CswNbtObjClassBatchOp(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.BiologicalClass:
                ReturnVal = new CswNbtObjClassBiological(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertDefCharacteristicLimitClass:
                ReturnVal = new CswNbtObjClassCertDefCharacteristicLimit(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertDefSpecClass:
                ReturnVal = new CswNbtObjClassCertDefSpec(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertificateDefinitionClass:
                ReturnVal = new CswNbtObjClassCertificateDefinition(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertDefConditionClass:
                ReturnVal = new CswNbtObjClassCertDefCondition(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertDefSpecLevelClass:
                ReturnVal = new CswNbtObjClassCertDefSpecLevel(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CofADocumentClass:
                ReturnVal = new CswNbtObjClassCofADocument(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CofAMethodClass:
                ReturnVal = new CswNbtObjClassCofAMethod(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CofAMethodTemplateClass:
                ReturnVal = new CswNbtObjClassCofAMethodTemplate(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ContainerClass:
                ReturnVal = new CswNbtObjClassContainer(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ContainerDispenseTransactionClass:
                ReturnVal = new CswNbtObjClassContainerDispenseTransaction(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ContainerGroupClass:
                ReturnVal = new CswNbtObjClassContainerGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ContainerLocationClass:
                ReturnVal = new CswNbtObjClassContainerLocation(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ControlZoneClass:
                ReturnVal = new CswNbtObjClassControlZone(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CustomerClass:
                ReturnVal = new CswNbtObjClassCustomer(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DepartmentClass:
                ReturnVal = new CswNbtObjClassDepartment(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DesignNodeTypeClass:
                ReturnVal = new CswNbtObjClassDesignNodeType(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DesignNodeTypePropClass:
                ReturnVal = new CswNbtObjClassDesignNodeTypeProp(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DesignNodeTypeTabClass:
                ReturnVal = new CswNbtObjClassDesignNodeTypeTab(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DesignSequenceClass:
                ReturnVal = new CswNbtObjClassDesignSequence(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DocumentClass:
                ReturnVal = new CswNbtObjClassDocument(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DSDPhraseClass:
                ReturnVal = new CswNbtObjClassDSDPhrase(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.EnterprisePartClass:
                ReturnVal = new CswNbtObjClassEnterprisePart(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.EquipmentAssemblyClass:
                ReturnVal = new CswNbtObjClassEquipmentAssembly(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.EquipmentClass:
                ReturnVal = new CswNbtObjClassEquipment(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.EquipmentTypeClass:
                ReturnVal = new CswNbtObjClassEquipmentType(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.FeedbackClass:
                ReturnVal = new CswNbtObjClassFeedback(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.FireClassExemptAmountClass:
                ReturnVal = new CswNbtObjClassFireClassExemptAmount(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.FireClassExemptAmountSetClass:
                ReturnVal = new CswNbtObjClassFireClassExemptAmountSet(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GenericClass:
                ReturnVal = new CswNbtObjClassGeneric(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GHSClass:
                ReturnVal = new CswNbtObjClassGHS(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GHSClassificationClass:
                ReturnVal = new CswNbtObjClassGHSClassification(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GHSPhraseClass:
                ReturnVal = new CswNbtObjClassGHSPhrase(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GHSSignalWordClass:
                ReturnVal = new CswNbtObjClassGHSSignalWord(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InspectionDesignClass:
                ReturnVal = new CswNbtObjClassInspectionDesign(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InspectionRouteClass:
                ReturnVal = new CswNbtObjClassInspectionRoute(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InspectionTargetClass:
                ReturnVal = new CswNbtObjClassInspectionTarget(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InspectionTargetGroupClass:
                ReturnVal = new CswNbtObjClassInspectionTargetGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InventoryGroupClass:
                ReturnVal = new CswNbtObjClassInventoryGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InventoryGroupPermissionClass:
                ReturnVal = new CswNbtObjClassInventoryGroupPermission(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InventoryLevelClass:
                ReturnVal = new CswNbtObjClassInventoryLevel(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.JurisdictionClass:
                ReturnVal = new CswNbtObjClassJurisdiction(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.Level:
                ReturnVal = new CswNbtObjClassLevel(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.LocationClass:
                ReturnVal = new CswNbtObjClassLocation(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.LQNoClass:
                ReturnVal = new CswNbtObjClassLQNo(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ManufacturerClass:
                ReturnVal = new CswNbtObjClassManufacturer(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ManufacturerEquivalentPartClass:
                ReturnVal = new CswNbtObjClassManufacturerEquivalentPart(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ChemicalClass:
                ReturnVal = new CswNbtObjClassChemical(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MaterialComponentClass:
                ReturnVal = new CswNbtObjClassMaterialComponent(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MaterialSynonymClass:
                ReturnVal = new CswNbtObjClassMaterialSynonym(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MailReportClass:
                ReturnVal = new CswNbtObjClassMailReport(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MailReportGroupClass:
                ReturnVal = new CswNbtObjClassMailReportGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MailReportGroupPermissionClass:
                ReturnVal = new CswNbtObjClassMailReportGroupPermission(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MethodClass:
                ReturnVal = new CswNbtObjClassMethod(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MethodCharacteristicClass:
                ReturnVal = new CswNbtObjClassMethodCharacteristic(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MethodConditionClass:
                ReturnVal = new CswNbtObjClassMethodCondition(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.NonChemicalClass:
                ReturnVal = new CswNbtObjClassNonChemical(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.PrinterClass:
                ReturnVal = new CswNbtObjClassPrinter(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.PrintJobClass:
                ReturnVal = new CswNbtObjClassPrintJob(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.PrintLabelClass:
                ReturnVal = new CswNbtObjClassPrintLabel(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ProblemClass:
                ReturnVal = new CswNbtObjClassProblem(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ReceiptLotClass:
                ReturnVal = new CswNbtObjClassReceiptLot(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RegulatoryListClass:
                ReturnVal = new CswNbtObjClassRegulatoryList(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RegulatoryListCasNoClass:
                ReturnVal = new CswNbtObjClassRegulatoryListCasNo(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RegulatoryListMemberClass:
                ReturnVal = new CswNbtObjClassRegulatoryListMember(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RegulatoryListListCodeClass:
                ReturnVal = new CswNbtObjClassRegulatoryListListCode(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ReportClass:
                ReturnVal = new CswNbtObjClassReport(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ReportGroupClass:
                ReturnVal = new CswNbtObjClassReportGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ReportGroupPermissionClass:
                ReturnVal = new CswNbtObjClassReportGroupPermission(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RequestClass:
                ReturnVal = new CswNbtObjClassRequest(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RequestItemClass:
                ReturnVal = new CswNbtObjClassRequestItem(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RoleClass:
                ReturnVal = new CswNbtObjClassRole(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.SDSDocumentClass:
                ReturnVal = new CswNbtObjClassSDSDocument(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.TestingLabClass:
                ReturnVal = new CswNbtObjClassTestingLab(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GeneratorClass:
                ReturnVal = new CswNbtObjClassGenerator(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.SizeClass:
                ReturnVal = new CswNbtObjClassSize(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.TaskClass:
                ReturnVal = new CswNbtObjClassTask(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.TestingLabUserAssignmentClass:
                ReturnVal = new CswNbtObjClassTestingLabUserAssignment(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.TestingLabMethodAssignmentClass:
                ReturnVal = new CswNbtObjClassTestingLabMethodAssignment(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.UnitOfMeasureClass:
                ReturnVal = new CswNbtObjClassUnitOfMeasure(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.UserClass:
                ReturnVal = new CswNbtObjClassUser(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.VendorClass:
                ReturnVal = new CswNbtObjClassVendor(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.WorkUnitClass:
                ReturnVal = new CswNbtObjClassWorkUnit(CswNbtResources, Node);
                break;

            default:
                //ReturnVal = new CswNbtObjClassDefault( CswNbtResources, _CswNbtNode );
                throw (new CswDniException("There is no NbtObjClass derivative for object class " + ObjectClass.ObjectClass.ToString()));
            }//switch


            return(ReturnVal);
        } //makeObjClass()
Ejemplo n.º 3
0
        public bool triggerOnButtonClick(NbtButtonData ButtonData)
        {
            bool Ret = false;

            //1: We have Button Data
            if (null != ButtonData)
            {
                //2: Before the Button Click, Save the Node if any tabs and properties have been provided
                Collection <Int32> TabIds = new Collection <int>();
                if (null != ButtonData.TabIds)
                {
                    TabIds = ButtonData.TabIds.ToIntCollection(ExcludeMinVal: true, ExcludeDuplicates: true);
                }

                if (TabIds.Count > 0)
                {
                    foreach (Int32 TabId in TabIds)
                    {
                        _onBeforeButtonClickSaveProps(CswConvert.ToString(TabId), ButtonData);
                    }
                }
                else
                {
                    if (_CswNbtResources.EditMode == CswEnumNbtNodeEditMode.Add)
                    {
                        //Client-side, we are defining a tabid as EditMode + '_tab'. This isn't great, but it's what we've got right now.
                        _onBeforeButtonClickSaveProps(CswEnumNbtNodeEditMode.Add + "_tab", ButtonData);
                    }
                }

                //3: If we're adding, we're always refreshing on add as the default option
                if (_CswNbtResources.EditMode == CswEnumNbtNodeEditMode.Add)
                {
                    ButtonData.Action = CswEnumNbtButtonAction.refreshonadd;
                }

                //4: If this is the Save property, we're done; else execute the click event
                if (null != ButtonData.NodeTypeProp && ButtonData.NodeTypeProp.IsSaveProp)
                {
                    Ret = true;
                }
                else
                {
                    Ret = onButtonClick(ButtonData);
                }

                //5: If we had tabs or props coming in, we should get the current values to send back (they probably changed after the button click)
                if (TabIds.Count > 0)
                {
                    foreach (Int32 TabId in TabIds)
                    {
                        _onAfterButtonClickSaveProps(CswConvert.ToString(TabId), ButtonData);
                    }
                    if (ButtonData.NodeIds.Count > 1)
                    {
                        Collection <CswPrimaryKey> MultiNodePks = new Collection <CswPrimaryKey>();
                        foreach (string CopyToNodeId in ButtonData.NodeIds)
                        {
                            CswPrimaryKey MultiNodePk = CswConvert.ToPrimaryKey(CopyToNodeId);
                            if (null != MultiNodePk && MultiNodePk != NodeId)
                            {
                                MultiNodePks.Add(MultiNodePk);
                            }
                        }
                        if (ButtonData.NodeIds.Count >= CswNbtBatchManager.getBatchThreshold(_CswNbtResources))
                        {
                            if (ButtonData.PropIds.Count > 0)
                            {
                                Collection <Int32> NodeTypePropIds = new Collection <Int32>();
                                foreach (string PropIdAttrStr in ButtonData.PropIds)
                                {
                                    CswPropIdAttr PropIdAttr = new CswPropIdAttr(PropIdAttrStr);
                                    NodeTypePropIds.Add(PropIdAttr.NodeTypePropId);
                                }
                                CswNbtBatchOpMultiEdit op    = new CswNbtBatchOpMultiEdit(_CswNbtResources);
                                CswNbtObjClassBatchOp  Batch = op.makeBatchOp(Node, MultiNodePks, NodeTypePropIds);
                                ButtonData.Action        = CswEnumNbtButtonAction.batchop;
                                ButtonData.Data["batch"] = Batch.Node.NodeLink;
                            }
                            if (ButtonData.MultiClick && null != ButtonData.NodeTypeProp)
                            {
                                CswNbtBatchOpMultiButtonClick op    = new CswNbtBatchOpMultiButtonClick(_CswNbtResources);
                                CswNbtObjClassBatchOp         Batch = op.makeBatchOp(MultiNodePks, ButtonData.NodeTypeProp.PropId);
                                ButtonData.Action        = CswEnumNbtButtonAction.batchop;
                                ButtonData.Data["batch"] = Batch.Node.NodeLink;
                            }
                        }
                        else
                        {
                            if (ButtonData.PropIds.Count > 0)
                            {
                                CswNbtSdTabsAndProps Sd = new CswNbtSdTabsAndProps(_CswNbtResources);
                                Sd.copyPropValues(Node, ButtonData.NodeIds, ButtonData.PropIds);
                            }
                            if (ButtonData.MultiClick)
                            {
                                foreach (CswPrimaryKey MultiNodeId in MultiNodePks)
                                {
                                    CswNbtNode MultiNode = _CswNbtResources.Nodes[MultiNodeId];
                                    if (null != MultiNode)
                                    {
                                        MultiNode.ObjClass.onButtonClick(ButtonData);
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    if (_CswNbtResources.EditMode == CswEnumNbtNodeEditMode.Add)
                    {
                        _onAfterButtonClickSaveProps(CswEnumNbtNodeEditMode.Add + "_tab", ButtonData);
                    }
                }
            }
            return(Ret);
        }