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);
        }
示例#2
0
        public virtual object clone()
        {
            ConditionTable conditionTable = new ConditionTable();

            conditionTable.ConditionId  = ConditionId;
            conditionTable.Title        = Title;
            conditionTable.Description  = Description;
            conditionTable.DatabaseName = DatabaseName;
            conditionTable.Username     = Username;
            conditionTable.Password     = Password;
            conditionTable.Host         = Host;
            conditionTable.BidNo        = BidNo;
            conditionTable.CndNo        = CndNo;
            conditionTable.CndId        = CndId;
            conditionTable.CndType      = CndType;
            conditionTable.PickType     = PickType;
            conditionTable.PickData     = PickData;

            conditionTable.Building = Building;
            conditionTable.Storey   = Storey;
            conditionTable.Layer    = Layer;
            conditionTable.Location = Location;

            conditionTable.Quantity1 = Quantity1;
            conditionTable.Quantity2 = Quantity2;
            conditionTable.Quantity3 = Quantity3;
            conditionTable.QuantityF = QuantityF;

            conditionTable.Quantity1Name = Quantity1Name;
            conditionTable.Quantity2Name = Quantity2Name;
            conditionTable.Quantity3Name = Quantity3Name;
            conditionTable.QuantityFName = QuantityFName;

            conditionTable.Formula1 = Formula1;
            conditionTable.Formula2 = Formula2;
            conditionTable.Formula3 = Formula3;
            conditionTable.FormulaF = FormulaF;

            conditionTable.Unit1 = Unit1;
            conditionTable.Unit2 = Unit2;
            conditionTable.Unit3 = Unit3;
            conditionTable.UnitF = UnitF;

            conditionTable.DefaultQuantity = DefaultQuantity;
            conditionTable.Operand         = Operand;
            conditionTable.TakeOffType     = TakeOffType;
            conditionTable.GlobalId        = GlobalId;

            conditionTable.BimMaterial   = BimMaterial;
            conditionTable.BimType       = BimType;
            conditionTable.FunctionState = FunctionState;
            conditionTable.Virtual       = Virtual;
            conditionTable.ProjectId     = ProjectId;

            return(conditionTable);
        }
        public virtual ConditionTable[] getConditionsDeepCopy(bool ciclic)
        {
            ConditionTable[] copy = new ConditionTable[_o_items.Length];
            for (int i = 0; i < _o_items.Length; i++)
            {
                copy[i] = (ConditionTable)_o_items[i].clone();
            }

            return(copy);
        }
示例#4
0
        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());

            boqTable.Title = Title;
            boqTable.Code  = code;
            //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)clone();
            BoqItemConditionTable boqConditionTable = new BoqItemConditionTable();

            boqConditionTable.Factor1         = BigDecimalMath.ONE;
            boqConditionTable.Factor2         = BigDecimalMath.ONE;
            boqConditionTable.Sumup           = BigDecimalMath.ZERO;
            boqConditionTable.QuantityPerUnit = BigDecimalMath.ONE;

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

            boqConditionTable.LastUpdate = updateTime;

            boqConditionTable.ConditionTable = conditionTable;
            boqConditionTable.BoqItemTable   = boqTable;

            boqTable.BoqItemConditionSet.Add(boqConditionTable);

            boqTable.recalculate();

            return(boqTable);
        }