Exemplo n.º 1
0
 private static void fillAssignmentSetWithData(ResourceWithAssignmentsTable parentTable, ISet <object> assignmentSet, IList <AssignmentWithResource> assignments, bool cyclic)
 {
     foreach (AssignmentWithResource assignment in assignments)
     {
         if (cyclic)
         {
             assignment.assignmentTable.ResourceTable = parentTable;
         }
         assignmentSet.Add(assignment.assignmentTable);
     }
 }
Exemplo n.º 2
0
 private static void fillAssignmentSetWithData(ResourceWithAssignmentsTable parentTable, IList <LevelDetails> levelDetailsList, int level, ISet <object> assignmentSet, IList <AssignmentWithResource> assignments, bool cyclic, bool nullifyId)
 {
     foreach (AssignmentWithResource assignment in assignments)
     {
         if (cyclic)
         {
             assignment.assignmentTable.ResourceTable = parentTable;
         }
         assignmentSet.Add(assignment.assignmentTable);
         deepFillResourceItem(levelDetailsList, (ResourceWithAssignmentsTable)assignment.assignmentTable.AssignmentResourceTable, cyclic, level + 1, nullifyId);
     }
 }
Exemplo n.º 3
0
        private static void deepFillResourceItem(IList <LevelDetails> levelDetailsList, ResourceWithAssignmentsTable parentTable, bool cyclic, int level, bool nullifyId)
        {
            if (levelDetailsList.Count <= level)
            {
                if (parentTable is BoqItemTable)
                {
                    BoqItemTable boqTable = (BoqItemTable)parentTable;
                    boqTable.BoqItemMaterialSet      = Collections.EMPTY_SET;
                    boqTable.BoqItemLaborSet         = Collections.EMPTY_SET;
                    boqTable.BoqItemEquipmentSet     = Collections.EMPTY_SET;
                    boqTable.BoqItemConsumableSet    = Collections.EMPTY_SET;
                    boqTable.BoqItemSubcontractorSet = Collections.EMPTY_SET;
                    boqTable.BoqItemAssemblySet      = Collections.EMPTY_SET;
                    boqTable.BoqItemConditionSet     = Collections.EMPTY_SET;
                    boqTable.QuoteItemSet            = Collections.EMPTY_SET;
                }
                else if (parentTable is AssemblyTable)
                {
                    AssemblyTable assTable = (AssemblyTable)parentTable;
                    assTable.AssemblyMaterialSet      = Collections.EMPTY_SET;
                    assTable.AssemblyLaborSet         = Collections.EMPTY_SET;
                    assTable.AssemblyEquipmentSet     = Collections.EMPTY_SET;
                    assTable.AssemblyConsumableSet    = Collections.EMPTY_SET;
                    assTable.AssemblySubcontractorSet = Collections.EMPTY_SET;
                    assTable.AssemblyChildSet         = Collections.EMPTY_SET;
                }
                return;
            }
            LevelDetails levelDetails = levelDetailsList[level];
            long?        parentId     = parentTable.Id;

            IList <AssignmentWithResource> materials      = notNullList(levelDetails.objsOfMaterial[parentId]);
            IList <AssignmentWithResource> labors         = notNullList(levelDetails.objsOfLabor[parentId]);
            IList <AssignmentWithResource> equipments     = notNullList(levelDetails.objsOfEquipment[parentId]);
            IList <AssignmentWithResource> consumables    = notNullList(levelDetails.objsOfConsumable[parentId]);
            IList <AssignmentWithResource> subcontractors = notNullList(levelDetails.objsOfSubcontractor[parentId]);
            IList <AssignmentWithResource> conditions     = notNullList(levelDetails.objsOfConditions[parentId]);
            IList <AssignmentWithResource> quoteItems     = notNullList(levelDetails.objsOfQuoteItems[parentId]);
            IList <AssignmentWithResource> lineItems      = notNullList(levelDetails.objsOfLineItems[parentId]);

            if (parentTable is BoqItemTable)
            {
                BoqItemTable boqTable = (BoqItemTable)parentTable;

                boqTable.BoqItemMaterialSet = new HashSet <BoqItemMaterialTable>(materials.Count);
                fillAssignmentSetWithData(boqTable, boqTable.BoqItemMaterialSet, materials, cyclic);

                boqTable.BoqItemLaborSet = new HashSet <BoqItemLaborTable>(labors.Count);
                fillAssignmentSetWithData(boqTable, boqTable.BoqItemLaborSet, labors, cyclic);

                boqTable.BoqItemEquipmentSet = new HashSet <BoqItemEquipmentTable>(equipments.Count);
                fillAssignmentSetWithData(boqTable, boqTable.BoqItemEquipmentSet, equipments, cyclic);

                boqTable.BoqItemSubcontractorSet = new HashSet <BoqItemSubcontractorTable>(subcontractors.Count);
                fillAssignmentSetWithData(boqTable, boqTable.BoqItemSubcontractorSet, subcontractors, cyclic);

                boqTable.BoqItemConsumableSet = new HashSet <BoqItemConsumableTable>(consumables.Count);
                fillAssignmentSetWithData(boqTable, boqTable.BoqItemConsumableSet, consumables, cyclic);

                boqTable.BoqItemConditionSet = new HashSet <BoqItemConditionTable>(conditions.Count);
                fillAssignmentSetWithData(boqTable, boqTable.BoqItemConditionSet, conditions, cyclic);

                boqTable.QuoteItemSet = new HashSet <QuoteItemTable>(quoteItems.Count);
                fillAssignmentSetWithData(boqTable, boqTable.QuoteItemSet, quoteItems, cyclic);

                boqTable.BoqItemAssemblySet = new HashSet <BoqItemAssemblyTable>(lineItems.Count);
                fillAssignmentSetWithData(boqTable, levelDetailsList, level, boqTable.BoqItemAssemblySet, lineItems, cyclic, nullifyId);
            }
            else if (parentTable is AssemblyTable)
            {
                AssemblyTable assemblyTable = (AssemblyTable)parentTable;
                if (nullifyId)
                {
                    //System.out.println("SETTING NULL TO: "+parentTable.getTitle());
                    assemblyTable.Id = null;
                }
                assemblyTable.AssemblyMaterialSet = new HashSet <AssemblyMaterialTable>(materials.Count);
                fillAssignmentSetWithData(assemblyTable, assemblyTable.AssemblyMaterialSet, materials, cyclic);

                assemblyTable.AssemblyLaborSet = new HashSet <AssemblyLaborTable>(labors.Count);
                fillAssignmentSetWithData(assemblyTable, assemblyTable.AssemblyLaborSet, labors, cyclic);

                assemblyTable.AssemblyEquipmentSet = new HashSet <AssemblyEquipmentTable>(equipments.Count);
                fillAssignmentSetWithData(assemblyTable, assemblyTable.AssemblyEquipmentSet, equipments, cyclic);

                assemblyTable.AssemblySubcontractorSet = new HashSet <AssemblySubcontractorTable>(subcontractors.Count);
                fillAssignmentSetWithData(assemblyTable, assemblyTable.AssemblySubcontractorSet, subcontractors, cyclic);

                assemblyTable.AssemblyConsumableSet = new HashSet <AssemblyConsumableTable>(consumables.Count);
                fillAssignmentSetWithData(assemblyTable, assemblyTable.AssemblyConsumableSet, consumables, cyclic);

                assemblyTable.AssemblyChildSet = new HashSet <AssemblyAssemblyTable>(lineItems.Count);
                fillAssignmentSetWithData(assemblyTable, levelDetailsList, level, assemblyTable.AssemblyChildSet, lineItems, cyclic, nullifyId);
            }
        }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void reloadVariables() throws org.boris.expr.ExprException
        private void reloadVariables()
        {
            this.assignmentsWithFormulasMap.Clear();
            this.updatedResourceToAssignmentQtyPerUnitSet.Clear();
            this.pvVarsCalled = new StringBuilder();
            foreach (string str in BoqItemTable.VIEWABLE_FIELDS)
            {
                if (!this.currentField.Equals(str))
                {
                    object @object = getFieldFormulaValue(this.boqTable, str + "Formula");
                    string str1    = variableFromField(str);
                    if (@object != null)
                    {
                        set(str1, "=" + @object.ToString());
                    }
                    else if (BoqItemTable.isFieldEditable(str))
                    {
                        object object1 = getFieldValue(this.boqTable, str);
                        if (BoqItemTable.isFieldDate(str))
                        {
                            object1 = Convert.ToDouble(0.0D);
                        }
                        else
                        {
                            object1 = "";
                        }
                        setExprValue(str1, object1);
                    }
                }
            }
            this.boqTable.PvVars       = (this.pvVarsCalled == null) ? "" : this.pvVarsCalled.ToString();
            this.boqTable.HasPVFormula = Convert.ToBoolean((this.pvVarsCalled != null && this.pvVarsCalled.ToString().Length > 0));
            foreach (object @object in this.boqTable.ResourceAssignmentsList)
            {
                ResourceToAssignmentTable resourceToAssignmentTable = (ResourceToAssignmentTable)@object;
                resourceToAssignmentTable.PvVars = "";
                ResourceWithAssignmentsTable resourceWithAssignmentsTable = resourceToAssignmentTable.getResourceTable();
                if (resourceToAssignmentTable.getResourceTable() is AssemblyTable)
                {
                    AssemblyTable assemblyTable = (AssemblyTable)resourceToAssignmentTable.getResourceTable();
                    loadLocalVariables(assemblyTable.Vars);
                }
                else if (resourceToAssignmentTable.getResourceTable() is BoqItemTable)
                {
                    BoqItemTable boqItemTable = (BoqItemTable)resourceToAssignmentTable.getResourceTable();
                    loadLocalVariables(boqItemTable.Vars);
                }
                if (resourceToAssignmentTable.QuantityPerUnitFormulaState == ResourceToAssignmentTable.QTYPUFORM_NOFORMULA)
                {
                    continue;
                }
                string str = resourceToAssignmentTable.QuantityPerUnitFormula;
                if (!StringUtils.isNullOrBlank(str))
                {
                    string str1 = System.Guid.randomUUID().ToString();
                    set(str1, "=" + str.ToString());
                    this.assignmentsWithFormulasMap[str1] = resourceToAssignmentTable;
                }
            }
            if (this.boqTable.BoqItemAssemblySet != null)
            {
                foreach (BoqItemAssemblyTable boqItemAssemblyTable in this.boqTable.BoqItemAssemblySet)
                {
                    AssemblyTable assemblyTable = boqItemAssemblyTable.AssemblyTable;
                    loadLocalVariables(assemblyTable.Vars);
                    QuantityPerUnitFieldFormula = assemblyTable;
                }
            }
        }