private BoqItemDefaultFormulas() { string str1 = BoqItemFormulaEvaluator.variableFromField("escalationCost"); string str2 = BoqItemFormulaEvaluator.variableFromField("offeredPrice"); string str3 = BoqItemFormulaEvaluator.variableFromField("totalCost"); string str4 = BoqItemFormulaEvaluator.variableFromField("assemblyTotalCost"); string str5 = BoqItemFormulaEvaluator.variableFromField("materialTotalCost"); string str6 = BoqItemFormulaEvaluator.variableFromField("subcontractorTotalCost"); string str7 = BoqItemFormulaEvaluator.variableFromField("equipmentTotalCost"); string str8 = BoqItemFormulaEvaluator.variableFromField("laborTotalCost"); string str9 = BoqItemFormulaEvaluator.variableFromField("consumableTotalCost"); string str10 = BoqItemFormulaEvaluator.variableFromField("markup"); string str11 = BoqItemFormulaEvaluator.variableFromField("productivity"); string str12 = BoqItemFormulaEvaluator.variableFromField("prodFactor"); string str13 = BoqItemFormulaEvaluator.variableFromField("mhoursFactor"); string str14 = BoqItemFormulaEvaluator.variableFromField("adjustedProd"); string str15 = BoqItemFormulaEvaluator.variableFromField("duration"); string str16 = BoqItemFormulaEvaluator.variableFromField("unitManhours"); string str17 = BoqItemFormulaEvaluator.variableFromField("laborManhours"); string str18 = BoqItemFormulaEvaluator.variableFromField("rate"); string str19 = BoqItemFormulaEvaluator.variableFromField("unit"); string str20 = BoqItemFormulaEvaluator.variableFromField("secondRate"); string str21 = BoqItemFormulaEvaluator.variableFromField("unitsDiv"); string str22 = BoqItemFormulaEvaluator.variableFromField("quantity"); string str23 = BoqItemFormulaEvaluator.variableFromField("secondQuantity"); string str24 = BoqItemFormulaEvaluator.variableFromField("measuredQuantity"); string str25 = BoqItemFormulaEvaluator.variableFromField("estimatedQuantity"); string str26 = BoqItemFormulaEvaluator.variableFromField("assemblyRate"); string str27 = BoqItemFormulaEvaluator.variableFromField("materialRate"); string str28 = BoqItemFormulaEvaluator.variableFromField("subcontractorRate"); string str29 = BoqItemFormulaEvaluator.variableFromField("equipmentRate"); string str30 = BoqItemFormulaEvaluator.variableFromField("laborRate"); string str31 = BoqItemFormulaEvaluator.variableFromField("consumableRate"); string str32 = BoqItemFormulaEvaluator.variableFromField("fixedCost"); this.fieldToFormulaMap["totalCost"] = "(" + str18 + "*" + str22 + ")+" + str32; this.fieldToFormulaMap["offeredPrice"] = str3 + "+" + str1 + "+" + str10; this.fieldToFormulaMap["quantityLoss"] = "IF(AND(" + str24 + "<>0," + str25 + "<>0),(ABS(" + str24 + "-" + str25 + ")),0)"; this.fieldToFormulaMap["quantity"] = "IF(" + str24 + "<>0," + str24 + "," + str25 + ")"; this.fieldToFormulaMap["rate"] = str29 + "+" + str28 + "+" + str27 + "+" + str30 + "+" + str31; this.fieldToFormulaMap["secondRate"] = str18 + "*" + str21; this.fieldToFormulaMap["secondQuantity"] = "IF(UNITS_DIV<>0," + str22 + "/" + str21 + ",0)"; this.fieldToFormulaMap["secondUnit"] = "UNIT1_TO_UNIT2(" + str19 + ")"; this.fieldToFormulaMap["unitsDiv"] = "UNIT1_TO_UNIT2_DIV(" + str19 + ")"; this.fieldToFormulaMap["offeredRate"] = "IF(" + str22 + "<>0," + str2 + "/" + str22 + ",0)"; this.fieldToFormulaMap["offeredSecondRate"] = "IF(" + str23 + "<>0," + str2 + "/" + str23 + ",0)"; this.fieldToFormulaMap["productivity"] = "IF(" + str15 + "<>0,IF(" + str12 + "<>0,(" + str22 + "/" + str15 + ")/" + str12 + "," + str22 + "/" + str15 + "),0)"; this.fieldToFormulaMap["duration"] = "IF(" + str14 + "<>0," + str22 + "/" + str14 + ",0)"; this.fieldToFormulaMap["mhoursFactor"] = "IF(" + str12 + "<>0," + '\x0001' + "/" + str12 + ",0)"; this.fieldToFormulaMap["prodFactor"] = "IF(" + str13 + "<>0," + '\x0001' + "/" + str13 + ",0)"; this.fieldToFormulaMap["adjustedProd"] = "IF(" + str12 + "<>0," + str11 + "*" + str12 + "," + str11 + ")"; this.fieldToFormulaMap["assemblyTotalCost"] = str26 + "*" + str22; this.fieldToFormulaMap["materialTotalCost"] = str27 + "*" + str22; this.fieldToFormulaMap["subcontractorTotalCost"] = str28 + "*" + str22; this.fieldToFormulaMap["equipmentTotalCost"] = str29 + "*" + str22; this.fieldToFormulaMap["laborTotalCost"] = str30 + "*" + str22; this.fieldToFormulaMap["consumableTotalCost"] = str31 + "*" + str22; this.fieldToFormulaMap["unitManhours"] = "IF(" + str22 + "<>0,IF(" + str12 + "<>0,(" + str17 + "/" + str22 + ")*" + str12 + "," + str17 + "/" + str22 + "),0)"; this.fieldToFormulaMap["adjustedUnitManhours"] = "IF(" + str22 + "<>0," + str17 + "/" + str22 + ",0)"; }
//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 virtual void valueChanged(Range param1Range, Expr param1Expr) { string str = BoqItemFormulaEvaluator.fieldFromVariable(param1Range.Dimension1Name); if (!string.ReferenceEquals(str, null) && formulaFields.Contains(str + "Formula")) { try { object @object = valueFromExpression(param1Expr); if (@object is decimal) { @object = ((decimal)@object).setScale(10, 4); } BlankResourceInitializer.setFieldValue(outerInstance.boqTable, str, @object); } catch (Exception exception) { Console.WriteLine("CAN NOT EVALUATE: " + str + " = " + param1Expr + " = " + valueFromExpression(param1Expr)); Console.WriteLine(exception.ToString()); Console.Write(exception.StackTrace); } } else { ResourceToAssignmentTable resourceToAssignmentTable = (ResourceToAssignmentTable)outerInstance.assignmentsWithFormulasMap[param1Range.Dimension1Name]; if (resourceToAssignmentTable != null) { decimal bigDecimal = resourceToAssignmentTable.QuantityPerUnit.setScale(10, 4); object @object = valueFromExpression(param1Expr); if (@object is decimal) { decimal bigDecimal1 = (decimal)@object; if (resourceToAssignmentTable.AssignmentResourceTable is nomitech.common.db.local.LaborTable || resourceToAssignmentTable.AssignmentResourceTable is nomitech.common.db.local.EquipmentTable) { bigDecimal1 = bigDecimal1 * (ProjectDBUtil.currentProjectDBUtil().Properties.getHoursFromUnit(resourceToAssignmentTable.AssignmentResourceTable.Unit)); } bigDecimal1.setScale(10, 4); if (BigDecimalMath.cmpCheckNulls(bigDecimal, bigDecimal1) != 0) { resourceToAssignmentTable.QuantityPerUnit = bigDecimal1; outerInstance.updatedResourceToAssignmentQtyPerUnitSet.Add(resourceToAssignmentTable); outerInstance.someAssignemntFormulaValueChanged = true; } } } } }
private string variableFromField(string paramString) { return(BoqItemFormulaEvaluator.variableFromField(paramString)); }