public virtual object clone() { //if ( o_map == null ) o_map = new HashMap(); BoqItemConditionTable obj = new BoqItemConditionTable(); obj.ParamItemId = ParamItemId; obj.BoqItemConditionId = BoqItemConditionId; obj.SelectedUnit = SelectedUnit; obj.FinalQuantity = FinalQuantity; obj.Factor1 = Factor1; obj.Factor2 = Factor2; obj.Sumup = Sumup; obj.LastUpdate = LastUpdate; obj.OverridenQuantity = OverridenQuantity; obj.OverridenUnit = OverridenUnit; obj.ProjectId = ProjectId; if (BoqItemTable != null) { obj.BoqItemTable = (BoqItemTable)BoqItemTable.clone(); } if (ConditionTable != null) { obj.ConditionTable = (ConditionTable)ConditionTable.clone(); } return(obj); }
public static IDictionary <long, DatabaseTable> deepLoadBoqItemsMap(UIProgress prgDialog, Session session, long?projectId, string qs, Type bindClass, bool fetchResources, bool fetchConditions, bool fetchQuoteItems, bool cyclic, bool fetchPredicted, System.Collections.IList ids, bool nullifyId) { if (ids.Count == 0) { return(Collections.EMPTY_MAP); } IList <LevelDetails> levelDetailsList = fetchBoqItemAssignments(session, projectId, fetchResources, fetchConditions, fetchQuoteItems, cyclic, fetchPredicted, ids); //System.out.println("LEVEL IS "+levelDetailsList.size()+" deep."); ICollection <BaseTable> boqs = listBaseTableQuery(prgDialog, session, projectId, qs, bindClass, ids, false); //List<BoqItemTable> boqs = session.createQuery(qs).setCacheable(false).setParameterList("ids", ids).list(); IDictionary <long, DatabaseTable> resultMap = new Dictionary <long, DatabaseTable>(boqs.Count); foreach (BaseTable dbBt in boqs) { BoqItemTable dbBoq = (BoqItemTable)dbBt; BoqItemTable boq = (BoqItemTable)dbBoq.clone(); if (dbBoq.ParamItemTable != null) { boq.ParamItemTable = (ParamItemTable)dbBoq.ParamItemTable.clone(); } deepFillResourceItem(levelDetailsList, boq, cyclic, 0, nullifyId); resultMap[boq.Id] = boq; } //System.out.println("QUERY IS: "+qs); return(resultMap); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public BoqItemDependencyEngine(nomitech.common.db.project.BoqItemTable paramBoqItemTable, String paramString) throws org.boris.expr.ExprException public BoqItemDependencyEngine(BoqItemTable paramBoqItemTable, string paramString) { this.currentField = paramString; this.boqTable = paramBoqItemTable; this.provider = new BoqItemEngineProvider(this); AutoCalculate = false; reloadVariables(); }
public virtual decimal calculateFinalRate() { decimal fRate = finalRate; BoqItemTable boqItemTable = BoqItemTable; if (BoqItemTable != null) { decimal tUnits = BigDecimalMath.ONE; tUnits = boqItemTable.Quantity; tUnits = tUnits * Factor1; tUnits = tUnits * Factor2; tUnits = tUnits * Factor3; tUnits = tUnits * QuantityPerUnit; totalUnits = tUnits; } if (BoqItemTable != null && ConsumableTable != null) { decimal consumableRate = ConsumableTable.RateForCalculation * ExchangeRate; consumableRate = consumableRate * LocalFactor; // if ( getBoqItemTable().getHasProductivity() || getBoqItemTable().getQuantity().compareTo(BigDecimalMath.ZERO) <= 0 ) { fRate = consumableRate * Factor1; fRate = fRate * Factor2; fRate = fRate * Factor3; fRate = fRate * QuantityPerUnit; fRate = fRate * LocalFactor; // } // else { // Total Units Method: // fRate = consumableRate.multiply(getTotalUnits()); // try { // fRate = BigDecimalMath.div(fRate,getBoqItemTable().getQuantity()); // } catch(ArithmeticException ex) { // fRate = BigDecimalMath.ZERO; // } // } // Calculate Variable, Total Cost: variableCost = fRate * (BoqItemTable.Quantity); totalCost = decimal.Zero; totalCost = totalCost + variableCost; totalCost = totalCost + FinalFixedCost; // Avoid precision/scale updates if data is the same: variableCost = variableCost.setScale(10, decimal.ROUND_HALF_DOWN); totalCost = totalCost.setScale(10, decimal.ROUND_HALF_UP); fRate = fRate.setScale(10, decimal.ROUND_HALF_UP); totalUnits = totalUnits.setScale(10, decimal.ROUND_HALF_UP); } finalRate = fRate; return(fRate); }
public virtual object clone(bool relations) { BoqItemMaterialTable obj = new BoqItemMaterialTable(); obj.ParamItemId = ParamItemId; obj.BoqItemMaterialId = BoqItemMaterialId; obj.FinalRate = FinalRate; obj.FinalMaterialRate = FinalMaterialRate; obj.FinalFabricationRate = FinalFabricationRate; obj.FinalShipmentRate = FinalShipmentRate; obj.FinalEscalationRate = FinalEscalationRate; obj.Escalation = Escalation; obj.TotalMaterialCost = TotalMaterialCost; obj.TotalFabricationCost = TotalFabricationCost; obj.TotalShipmentCost = TotalShipmentCost; obj.TotalEscalationCost = TotalEscalationCost; obj.TotalCost = TotalCost; obj.Factor1 = Factor1; obj.Factor2 = Factor2; obj.Factor3 = Factor3; obj.QuantityPerUnit = QuantityPerUnit; obj.QuantityPerUnitFormula = QuantityPerUnitFormula; obj.QuantityPerUnitFormulaState = QuantityPerUnitFormulaState; obj.TotalUnits = TotalUnits; obj.HasUserTotalUnits = HasUserTotalUnits; obj.ExchangeRate = ExchangeRate; obj.LocalFactor = LocalFactor; obj.LocalCountry = LocalCountry; obj.LocalStateProvince = LocalStateProvince; obj.LastUpdate = LastUpdate; obj.FixedCost = FixedCost; obj.FinalFixedCost = FinalFixedCost; obj.VariableCost = VariableCost; obj.Comment = Comment; obj.PvVars = PvVars; obj.ProjectId = ProjectId; if (relations) { if (BoqItemTable != null) { obj.BoqItemTable = (BoqItemTable)BoqItemTable.clone(); } if (MaterialTable != null) { obj.MaterialTable = (MaterialTable)MaterialTable.clone(); } } return(obj); }
public virtual BoqItemTable[] getBoqItemsDeepCopy(bool ciclic) { BoqItemTable[] copy = new BoqItemTable[_o_items.Length]; for (int i = 0; i < _o_items.Length; i++) { copy[i] = (BoqItemTable)_o_items[i].deepCopy(ciclic); } return(copy); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public void calculate(boolean paramBoolean) throws org.boris.expr.ExprException public override void calculate(bool paramBoolean) { if (this.autoCalculate && !paramBoolean) { return; } this.graph.sort(); IDictionary <string, ResourceToAssignmentTable> .KeyCollection hashSet = new HashSet <object>(this.assignmentsWithFormulasMap.Keys); foreach (Range range in this.graph) { string str = range.Dimension1Name; bool @bool = hashSet.contains(str); if (@bool) { hashSet.remove(str); } Expr expr = (Expr)this.inputs[range]; if (expr is ExprEvaluatable) { if (@bool) { CurrentField = "QTYPUNITFORM"; ResourceToAssignmentTable resourceToAssignmentTable = (ResourceToAssignmentTable)this.assignmentsWithFormulasMap[str]; 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); } } Expr expr1 = ((ExprEvaluatable)expr).evaluate(this); this.provider.valueChanged(range, expr1); if (@bool) { ((ResourceToAssignmentTable)this.assignmentsWithFormulasMap[str]).PvVars = (string.ReferenceEquals(PvVars, null)) ? "" : PvVars; } this.values[range] = expr1; } } foreach (string str in hashSet) { CurrentField = "QTYPUNITFORM"; ResourceToAssignmentTable resourceToAssignmentTable = (ResourceToAssignmentTable)this.assignmentsWithFormulasMap[str]; Expr expr = parseStatement(resourceToAssignmentTable.QuantityPerUnitFormula); Range range = new Range(str); this.provider.valueChanged(range, expr); this.values[range] = expr; resourceToAssignmentTable.PvVars = (string.ReferenceEquals(PvVars, null)) ? "" : PvVars; } }
public virtual object clone() { // if ( o_map == null ) o_map = new HashMap(); BoqItemEquipmentTable obj = new BoqItemEquipmentTable(); obj.ParamItemId = ParamItemId; obj.BoqItemEquipmentId = BoqItemEquipmentId; obj.FinalRate = FinalRate; obj.TotalCost = TotalCost; obj.FinalDepreciationRate = FinalDepreciationRate; obj.Factor1 = Factor1; obj.Factor2 = Factor2; obj.Factor3 = Factor3; obj.QuantityPerUnit = QuantityPerUnit; obj.QuantityPerUnitFormula = QuantityPerUnitFormula; obj.QuantityPerUnitFormulaState = QuantityPerUnitFormulaState; obj.ExchangeRate = ExchangeRate; obj.LocalFactor = LocalFactor; obj.LocalCountry = LocalCountry; obj.LocalStateProvince = LocalStateProvince; obj.EnergyPrice = EnergyPrice; obj.FinalFuelRate = FinalFuelRate; obj.TotalUnits = TotalUnits; obj.HasUserTotalUnits = HasUserTotalUnits; obj.LastUpdate = LastUpdate; obj.FixedCost = FixedCost; obj.FinalFixedCost = FinalFixedCost; obj.VariableCost = VariableCost; obj.Comment = Comment; obj.PvVars = PvVars; obj.UnitHours = UnitHours; obj.ProjectId = ProjectId; if (BoqItemTable != null) { obj.BoqItemTable = (BoqItemTable)BoqItemTable.clone(); } if (EquipmentTable != null) { obj.EquipmentTable = (EquipmentTable)EquipmentTable.clone(); } return(obj); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public org.boris.expr.Expr evaluateVariable(org.boris.expr.IEvaluationContext param1IEvaluationContext, org.boris.expr.ExprVariable param1ExprVariable) throws org.boris.expr.ExprException public virtual Expr evaluateVariable(IEvaluationContext param1IEvaluationContext, ExprVariable param1ExprVariable) { string str1 = param1ExprVariable.Name.ToUpper(); if (outerInstance.hasAdditionalVariable(str1)) { return(outerInstance.getAdditionalVariableValue(str1)); } if (outerInstance.localVariablesMap.ContainsKey(str1)) { return(new ExprDouble(((decimal)outerInstance.localVariablesMap[str1]).doubleValue())); } string str2 = BoqItemFormulaEvaluator.fieldFromVariable(str1); if (string.ReferenceEquals(str2, null)) { throw new ExprException("Variable " + str1 + " not found"); } object @object = outerInstance.getFieldValue(outerInstance.boqTable, str2); if (@object == null) { if (BoqItemTable.isFieldDate(str2)) { @object = Convert.ToDouble(0.0D); } else { @object = ""; } } ExprBoolean exprBoolean = null; if (@object is Number) { exprBoolean = new ExprDouble(((Number)@object).doubleValue()); } else if (@object is string) { ExprString exprString = new ExprString(@object.ToString()); } else if (@object is DateTime) { exprBoolean = new ExprDouble(ExcelDate.toExcelDate(((DateTime)@object).Ticks)); } else if (@object is bool?) { exprBoolean = new ExprBoolean(((bool?)@object).Value); } return(exprBoolean); }
public override object clone(bool cloneParent, bool cloneResource) { QuoteItemTable obj = (QuoteItemTable)clone(); if (cloneResource && BoqItemTable != null) { obj.BoqItemTable = (BoqItemTable)BoqItemTable.clone(); } if (cloneParent && QuotationTable != null) { obj.QuotationTable = (QuotationTable)QuotationTable.clone(); } return(obj); }
public virtual object clone() { BoqItemLaborTable obj = new BoqItemLaborTable(); obj.ParamItemId = ParamItemId; obj.BoqItemLaborId = BoqItemLaborId; obj.FinalRate = FinalRate; obj.TotalCost = TotalCost; obj.Factor1 = Factor1; obj.Factor2 = Factor2; obj.Factor3 = Factor3; obj.QuantityPerUnit = QuantityPerUnit; obj.QuantityPerUnitFormula = QuantityPerUnitFormula; obj.QuantityPerUnitFormulaState = QuantityPerUnitFormulaState; obj.ExchangeRate = ExchangeRate; obj.LocalFactor = LocalFactor; obj.LocalCountry = LocalCountry; obj.LocalStateProvince = LocalStateProvince; obj.TotalUnits = TotalUnits; obj.HasUserTotalUnits = HasUserTotalUnits; obj.LastUpdate = LastUpdate; obj.FixedCost = FixedCost; obj.FinalFixedCost = FinalFixedCost; obj.VariableCost = VariableCost; obj.Comment = Comment; obj.PvVars = PvVars; obj.UnitHours = UnitHours; obj.ProjectId = ProjectId; if (BoqItemTable != null) { obj.BoqItemTable = (BoqItemTable)BoqItemTable.clone(); } if (LaborTable != null) { obj.LaborTable = (LaborTable)LaborTable.clone(); } return(obj); }
public virtual decimal calculateTotalUnits() { decimal tUnits = BigDecimalMath.ONE; BoqItemTable boqItemTable = BoqItemTable; if (boqItemTable != null) { //AssemblyTable assTable = getAssemblyTable(); //if ( assTable.getUnit().equals(boqItemTable.getUnit()) ) { tUnits = boqItemTable.Quantity; //} tUnits = tUnits * Factor1; tUnits = tUnits * Factor2; tUnits = tUnits * Factor3; tUnits = tUnits * QuantityPerUnit; //tUnits = tUnits.multiply(getBoqItemTable().getDuration()); TotalUnits = tUnits; } return(tUnits); }
public LineItemEvaluationContext(AssemblyTable paramAssemblyTable) { this.assemblyTable = paramAssemblyTable; this.boqItemTable = BlankResourceInitializer.createBlankBoqItem(null, null, null, false); reloadVariables(); }
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); } }
public BoqItemEvaluationContext(BoqItemTable paramBoqItemTable, string paramString) { this.currentField = paramString; this.boqTable = paramBoqItemTable; reloadVariables(); }
public virtual SubcontractorTable convertToSubcontractorTable(ProjectDBProperties prop) { SubcontractorTable obj = BlankResourceInitializer.createBlankSubcontractor(null); BoqItemTable boqItemTable = BoqItemTable; QuotationTable quotationTable = QuotationTable; if (Title.IndexOf(boqItemTable.Title, StringComparison.Ordinal) != -1 && Title.IndexOf(boqItemTable.Description, StringComparison.Ordinal) != -1) { obj.Title = StringUtils.makeShortTitle(boqItemTable.Title); } else { obj.Title = StringUtils.makeShortTitle(Title); } obj.DatabaseId = DatabaseId; if (DatabaseCreationDate == null) { obj.DatabaseCreationDate = 100L; //ResourceUtil.MISSING_DB_CREATE_DATE); } else { obj.DatabaseCreationDate = DatabaseCreationDate; } obj.Address = quotationTable.Address; obj.ContactPerson = quotationTable.ContactPerson; obj.GroupCode = boqItemTable.GroupCode; obj.GekCode = boqItemTable.GekCode; obj.Performance = "" + quotationTable.Performance; obj.Project = prop.getProperty("project.code") + " - " + prop.getProperty("project.name"); obj.Description = boqItemTable.Description; obj.Notes = boqItemTable.Notes; obj.EditorId = DatabaseDBUtil.Properties.UserId; obj.PhoneNumber = quotationTable.PhoneNumber; obj.MobileNumber = quotationTable.MobileNumber; obj.Email = quotationTable.Email; obj.Country = quotationTable.Country; obj.City = quotationTable.City; obj.StateProvince = quotationTable.StateProvince; obj.SubMaterialRate = MaterialRate; obj.Rate = RateWithIndirect; obj.SubMaterialRate = MaterialRate; obj.IKA = Insurance; obj.Quantity = Quantity; obj.TotalRate = calculateFinalRate(); obj.Unit = Unit; obj.Url = quotationTable.Url; obj.Company = quotationTable.CompanyName; obj.FaxNumber = quotationTable.FaxNumber; obj.Currency = quotationTable.Currency; obj.Accuracy = SubcontractorTable.QUOTED_ACCURACY; if (quotationTable.HasMaterialRate.Value) { obj.Inclusion = SubcontractorTable.MATERIAL_AND_SHIPMENT_INCLUSION; } else { obj.Inclusion = SubcontractorTable.NONE_INCLUSION; } obj.CreateUserId = quotationTable.EditorId; if (quotationTable.ReceivedDate != null) { obj.LastUpdate = quotationTable.ReceivedDate; obj.CreateDate = quotationTable.ReceivedDate; } else { obj.LastUpdate = DateTime.Now; obj.CreateDate = obj.LastUpdate; } obj.ExtraCode1 = boqItemTable.ExtraCode1; obj.ExtraCode2 = boqItemTable.ExtraCode2; obj.ExtraCode3 = boqItemTable.ExtraCode3; obj.ExtraCode4 = boqItemTable.ExtraCode4; obj.ExtraCode5 = boqItemTable.ExtraCode5; obj.ExtraCode6 = boqItemTable.ExtraCode6; obj.ExtraCode7 = boqItemTable.ExtraCode7; obj.ExtraCode8 = boqItemTable.ExtraCode8; obj.ExtraCode9 = boqItemTable.ExtraCode9; obj.ExtraCode10 = boqItemTable.ExtraCode10; obj.recalculate(); return(obj); }
public virtual MaterialTable convertToMaterialTable(ProjectDBProperties prop) { MaterialTable obj = BlankResourceInitializer.createBlankMaterial(null); BoqItemTable boqItemTable = BoqItemTable; QuotationTable quotationTable = QuotationTable; double[] projectGeoPosition = StringUtils.extractDoubles(prop.getProperty("project.geolocation")); double[] supplierGeoPosition = StringUtils.extractDoubles(quotationTable.GeoLocation); double distanceKm = HaversineDistanceUtil.distance(HaversineDistanceUtil.KM_DISTANCE, projectGeoPosition, supplierGeoPosition); if (Title.IndexOf(boqItemTable.Title, StringComparison.Ordinal) != -1 && Title.IndexOf(boqItemTable.Description, StringComparison.Ordinal) != -1) { obj.Title = StringUtils.makeShortTitle(boqItemTable.Title); } else { obj.Title = StringUtils.makeShortTitle(Title); } obj.DatabaseId = DatabaseId; if (DatabaseCreationDate == null) { obj.DatabaseCreationDate = 100L; //ResourceUtil.MISSING_DB_CREATE_DATE); } else { obj.DatabaseCreationDate = DatabaseCreationDate; } obj.Weight = BigDecimalMath.ZERO; obj.WeightUnit = "KG"; obj.GroupCode = boqItemTable.GroupCode; obj.GekCode = boqItemTable.GekCode; obj.Project = prop.getProperty("project.code") + " - " + prop.getProperty("project.name"); obj.Description = boqItemTable.Description; obj.Notes = boqItemTable.Notes; obj.EditorId = DatabaseDBUtil.Properties.UserId; obj.Country = quotationTable.Country; obj.StateProvince = quotationTable.StateProvince; obj.Rate = Rate; obj.DistanceToSite = new BigDecimalFixed("" + distanceKm); obj.DistanceUnit = "KM"; obj.RawMaterial = MaterialTable.UNSPECIFIED_RAWMAT; obj.RawMaterialReliance = BigDecimalMath.ZERO; obj.CreateUserId = quotationTable.EditorId; if (quotationTable.ReceivedDate != null) { obj.LastUpdate = quotationTable.ReceivedDate; obj.CreateDate = quotationTable.ReceivedDate; } else { obj.LastUpdate = DateTime.Now; obj.CreateDate = obj.LastUpdate; } if (quotationTable.OnSiteDelivery.Value) { if (ShipmentCost != null) { decimal indirectRate = BigDecimalMath.ZERO; if (IndirectCost != null) { decimal qty = Quantity; if (BigDecimalMath.cmpCheckNulls(qty, BigDecimalMath.ZERO) == 0) { qty = BigDecimalMath.ONE; } obj.ShipmentRate = BigDecimalMath.div(shipmentCost, qty); } // double qty = getQuantity().doubleValue(); // if ( qty == 0 ) // qty = 1; // double srate = shipmentCost.doubleValue()/getQuantity().doubleValue(); // obj.setShipmentRate(new BigDecimalFixed(""+srate)); } else { obj.ShipmentRate = BigDecimalMath.ZERO; } obj.Inclusion = MaterialTable.SHIPMENT_INCLUSION; } else { obj.Inclusion = MaterialTable.NONE_INCLUSION; obj.ShipmentRate = BigDecimalMath.ZERO; } obj.FabricationRate = BigDecimalMath.ZERO; obj.TotalRate = obj.Rate + obj.ShipmentRate; obj.Quantity = Quantity; obj.Unit = Unit; obj.Currency = quotationTable.Currency; obj.Accuracy = MaterialTable.QUOTED_ACCURACY; obj.ExtraCode1 = boqItemTable.ExtraCode1; obj.ExtraCode2 = boqItemTable.ExtraCode2; obj.ExtraCode3 = boqItemTable.ExtraCode3; obj.ExtraCode4 = boqItemTable.ExtraCode4; obj.ExtraCode5 = boqItemTable.ExtraCode5; obj.ExtraCode6 = boqItemTable.ExtraCode6; obj.ExtraCode7 = boqItemTable.ExtraCode7; obj.ExtraCode8 = boqItemTable.ExtraCode8; obj.ExtraCode9 = boqItemTable.ExtraCode9; obj.ExtraCode10 = boqItemTable.ExtraCode10; boqItemTable.loadBimMaterialsAndTypes(); obj.BimMaterial = boqItemTable.BimMaterial; obj.BimType = boqItemTable.BimType; obj.recalculate(); return(obj); }
public virtual BoqItemTable convertToBoqItem(DateTime projectStartDate, long?code, ProjectDBUtil currentDBUtil, bool online, bool useProductivity, bool replaceQuantity) { BoqItemTable boqTable = BlankResourceInitializer.createBlankBoqItem(this, code, projectStartDate, useProductivity); Timestamp updateTime = new Timestamp(DateTimeHelper.CurrentUnixTimeMillis()); //if ( useProductivity ) { // boqTable.setCalculationType(BoqItemTable.s_PRODUCTIVITY_METHOD); //} //else { // boqTable.setCalculationType(BoqItemTable.s_TOTAL_UNITS_METHOD); //} //boqTable.setProductivity(BigDecimalMath.ONE); //boqTable.setQuantity(BigDecimalMath.ONE); //boqTable.setDuration(BigDecimalMath.ONE); boqTable.LastUpdate = updateTime; boqTable.CreateDate = updateTime; boqTable.BoqItemAssemblySet = new HashSet <object>(); boqTable.BoqItemEquipmentSet = new HashSet <object>(); boqTable.BoqItemSubcontractorSet = new HashSet <object>(); boqTable.BoqItemLaborSet = new HashSet <object>(); boqTable.BoqItemMaterialSet = new HashSet <object>(); boqTable.BoqItemConsumableSet = new HashSet <object>(); boqTable.BoqItemConditionSet = new HashSet <object>(); ConditionTable conditionTable = (ConditionTable)convertToConditionTable(); BoqItemConditionTable boqConditionTable = new BoqItemConditionTable(); boqConditionTable.Factor1 = BigDecimalMath.ONE; boqConditionTable.Factor2 = BigDecimalMath.ONE; boqConditionTable.QuantityPerUnit = BigDecimalMath.ONE; boqConditionTable.Sumup = BigDecimalMath.ZERO; if (replaceQuantity) { if (conditionTable.DefaultQuantity == null || conditionTable.DefaultQuantity == 0 || conditionTable.DefaultQuantity == 1) { boqTable.Quantity = conditionTable.Quantity1; } else if (conditionTable.DefaultQuantity == 2) { boqTable.Quantity = conditionTable.Quantity2; } else if (conditionTable.DefaultQuantity == 3) { boqTable.Quantity = conditionTable.Quantity3; } else if (conditionTable.DefaultQuantity == 4) { boqTable.Quantity = conditionTable.QuantityF; } } if (conditionTable.DefaultQuantity == null || conditionTable.DefaultQuantity == 0 || conditionTable.DefaultQuantity == 1) { boqConditionTable.SelectedUnit = BoqItemConditionTable.SELECTED_UNIT1; boqTable.Quantity = conditionTable.Quantity1; boqTable.MeasuredQuantity = conditionTable.Quantity1; //boqTable.setEstimatedQuantity(conditionTable.getQuantity1()); boqTable.Unit = conditionTable.Unit1; boqTable.SecondUnit = Unit1ToUnit2Util.Instance.getUnit2(conditionTable.Unit1); boqTable.UnitsDiv = Unit1ToUnit2Util.Instance.getUnitDiv(conditionTable.Unit1); } else if (conditionTable.DefaultQuantity == 2) { boqConditionTable.SelectedUnit = BoqItemConditionTable.SELECTED_UNIT2; boqTable.Quantity = conditionTable.Quantity2; boqTable.MeasuredQuantity = conditionTable.Quantity2; //boqTable.setEstimatedQuantity(conditionTable.getQuantity2()); boqTable.Unit = conditionTable.Unit2; boqTable.SecondUnit = Unit1ToUnit2Util.Instance.getUnit2(conditionTable.Unit2); boqTable.UnitsDiv = Unit1ToUnit2Util.Instance.getUnitDiv(conditionTable.Unit2); } else if (conditionTable.DefaultQuantity == 3) { boqConditionTable.SelectedUnit = BoqItemConditionTable.SELECTED_UNIT3; boqTable.Quantity = conditionTable.Quantity3; //boqTable.setEstimatedQuantity(conditionTable.getQuantity3()); boqTable.MeasuredQuantity = conditionTable.Quantity3; boqTable.Unit = conditionTable.Unit3; boqTable.SecondUnit = Unit1ToUnit2Util.Instance.getUnit2(conditionTable.Unit3); boqTable.UnitsDiv = Unit1ToUnit2Util.Instance.getUnitDiv(conditionTable.Unit3); } else if (conditionTable.DefaultQuantity == 4) { boqConditionTable.SelectedUnit = BoqItemConditionTable.SELECTED_UNITF; boqTable.Quantity = conditionTable.QuantityF; //boqTable.setEstimatedQuantity(conditionTable.getQuantity3()); boqTable.MeasuredQuantity = conditionTable.QuantityF; boqTable.Unit = conditionTable.UnitF; boqTable.SecondUnit = Unit1ToUnit2Util.Instance.getUnit2(conditionTable.UnitF); boqTable.UnitsDiv = Unit1ToUnit2Util.Instance.getUnitDiv(conditionTable.UnitF); } boqConditionTable.LastUpdate = updateTime; boqConditionTable.ConditionTable = conditionTable; boqConditionTable.BoqItemTable = boqTable; boqTable.BoqItemConditionSet.Add(boqConditionTable); boqTable.recalculate(); return(boqTable); }
public virtual BoqItemConditionTable[] createBoqConditions(BoqItemTable paramBoqItemTable, ConditionTable[] paramArrayOfConditionTable) { BoqItemConditionTable[] arrayOfBoqItemConditionTable = new BoqItemConditionTable[paramArrayOfConditionTable.Length]; sbyte b = 0; foreach (ConditionTable conditionTable in paramArrayOfConditionTable) { decimal bigDecimal = null; if (Quantities != null && Quantities.Count > b) { bigDecimal = (decimal)Quantities[b]; } BoqItemConditionTable boqItemConditionTable = new BoqItemConditionTable(); string str = ""; if (conditionTable.DefaultQuantity == null || conditionTable.DefaultQuantity.Value == 0) { boqItemConditionTable.SelectedUnit = "selectedQty.1"; str = conditionTable.Unit1; if (conditionTable.Quantity2 != null && !conditionTable.Quantity2.Equals(new BigDecimalFixed("0"))) { boqItemConditionTable.SelectedUnit = "selectedQty.2"; str = conditionTable.Unit2; } if (conditionTable.Quantity3 != null && !conditionTable.Quantity3.Equals(new BigDecimalFixed("0"))) { boqItemConditionTable.SelectedUnit = "selectedQty.3"; str = conditionTable.Unit3; } if (conditionTable.QuantityF != null && !conditionTable.QuantityF.Equals(new BigDecimalFixed("0"))) { boqItemConditionTable.SelectedUnit = "selectedQty.F"; str = conditionTable.UnitF; } } else if (conditionTable.DefaultQuantity.Value == 1) { boqItemConditionTable.SelectedUnit = "selectedQty.1"; str = conditionTable.Unit1; } else if (conditionTable.DefaultQuantity.Value == 2) { boqItemConditionTable.SelectedUnit = "selectedQty.2"; str = conditionTable.Unit2; } else if (conditionTable.DefaultQuantity.Value == 3) { boqItemConditionTable.SelectedUnit = "selectedQty.3"; str = conditionTable.Unit3; } else if (conditionTable.DefaultQuantity.Value == 4) { boqItemConditionTable.SelectedUnit = "selectedQty.F"; str = conditionTable.UnitF; } if (!str.Equals(paramBoqItemTable.Unit)) { if (str.Equals(conditionTable.Unit1)) { boqItemConditionTable.SelectedUnit = "selectedQty.1"; } if (str.Equals(conditionTable.Unit2)) { boqItemConditionTable.SelectedUnit = "selectedQty.2"; } if (str.Equals(conditionTable.Unit3)) { boqItemConditionTable.SelectedUnit = "selectedQty.3"; } if (str.Equals(conditionTable.UnitF)) { boqItemConditionTable.SelectedUnit = "selectedQty.F"; } } boqItemConditionTable.Factor1 = BigDecimalMath.ONE; boqItemConditionTable.Factor2 = BigDecimalMath.ONE; boqItemConditionTable.Sumup = BigDecimalMath.ZERO; if (BigDecimalMath.cmp(bigDecimal, BigDecimalMath.ZERO) > 0) { boqItemConditionTable.OverridenQuantity = bigDecimal; } boqItemConditionTable.BoqItemTable = paramBoqItemTable; boqItemConditionTable.ConditionTable = conditionTable; boqItemConditionTable.LastUpdate = new Timestamp(DateTimeHelper.CurrentUnixTimeMillis()); arrayOfBoqItemConditionTable[b++] = boqItemConditionTable; } return(arrayOfBoqItemConditionTable); }
public virtual object clone() { BoqItemAssemblyTable obj = new BoqItemAssemblyTable(); obj.ParamItemId = ParamItemId; obj.BoqItemAssemblyId = BoqItemAssemblyId; obj.FinalRate = FinalRate; obj.FinalLaborRate = FinalLaborRate; obj.FinalMaterialRate = FinalMaterialRate; obj.FinalShipmentRate = FinalShipmentRate; obj.FinalFabricationRate = FinalFabricationRate; obj.FinalConsumableRate = FinalConsumableRate; obj.FinalSubcontractorRate = FinalSubcontractorRate; obj.FinalEquipmentRate = FinalEquipmentRate; obj.FixedCost = FixedCost; obj.FinalFixedCost = FinalFixedCost; obj.VariableCost = VariableCost; obj.Comment = Comment; obj.TotalCost = TotalCost; obj.LaborCost = LaborCost; obj.MaterialCost = MaterialCost; obj.ConsumableCost = ConsumableCost; obj.SubcontractorCost = SubcontractorCost; obj.EquipmentCost = EquipmentCost; obj.Factor1 = Factor1; obj.Factor2 = Factor2; obj.Factor3 = Factor3; obj.QuantityPerUnit = QuantityPerUnit; obj.QuantityPerUnitFormula = QuantityPerUnitFormula; obj.QuantityPerUnitFormulaState = QuantityPerUnitFormulaState; obj.ExchangeRate = ExchangeRate; obj.LocalFactor = LocalFactor; obj.LocalCountry = LocalCountry; obj.LocalStateProvince = LocalStateProvince; obj.TotalUnits = TotalUnits; obj.HasUserTotalUnits = HasUserTotalUnits; obj.LastUpdate = LastUpdate; obj.PvVars = PvVars; obj.ProjectId = ProjectId; if (BoqItemTable != null) { obj.BoqItemTable = (BoqItemTable)BoqItemTable.clone(); } if (AssemblyTable != null) { obj.AssemblyTable = (AssemblyTable)AssemblyTable.clone(); } return(obj); }
public static BoqItemEvaluationContext createEvaluationContext(BoqItemTable paramBoqItemTable) { return(new BoqItemEvaluationContext(paramBoqItemTable, "")); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public static org.boris.expr.Expr evaluate(nomitech.common.db.project.BoqItemTable paramBoqItemTable, String paramString1, String paramString2) throws org.boris.expr.ExprException public static Expr evaluate(BoqItemTable paramBoqItemTable, string paramString1, string paramString2) { BoqItemEvaluationContext boqItemEvaluationContext = new BoqItemEvaluationContext(paramBoqItemTable, paramString1); return(boqItemEvaluationContext.parseStatement(paramString2)); }
private object getFieldFormulaValue(BoqItemTable paramBoqItemTable, string paramString) { return(formulaFields.Contains(paramString) ? getFieldValue(paramBoqItemTable, paramString) : null); }
//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; } } }