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); }