public virtual decimal calculateFinalEquipmentHours()
        {         // NOT TOTAL YOU NEED TO MULT * QTY
            decimal fRate = finalEquipmentHours;

            if ((BoqItemTable != null) && AssemblyTable != null)
            {
                if (AssemblyTable.ActivityBased.Equals(false))
                {
                    decimal assemblyRate = AssemblyTable.UnitEquipmentHours;                     // getAssemblyTable().calculateFinalEquipmentHours();
                    fRate = assemblyRate * Factor1;
                    fRate = fRate * Factor2;
                    fRate = fRate * Factor3;
                    fRate = fRate * QuantityPerUnit;
                }
                else
                {
                    fRate = AssemblyTable.calculateFinalEquipmentHoursActivityBased();
                    fRate = fRate * Factor1;
                    fRate = fRate * Factor2;
                    fRate = fRate * Factor3;
                    fRate = fRate * QuantityPerUnit;
                }

                fRate = fRate.setScale(10, decimal.ROUND_HALF_UP);
            }

            finalEquipmentHours = fRate;
            return(fRate);
        }
Ejemplo n.º 2
0
        public static IList <DatabaseTable> deepLoadAssemblies(UIProgress prgDialog, Session session, long?projectId, bool cyclic, System.Collections.IList ids, bool nullifyId)
        {
            IList <LevelDetails> levelDetailsList = fetchLineItemAssignments(session, projectId, ids);

            string qs = "from AssemblyTable as o where o.assemblyId in (:ids)";

            if (projectId != null)
            {
                qs = "from AssemblyTable as o where o.projectId = :prjId and o.assemblyId in (:ids)";
            }

            ICollection <BaseTable> boqs       = listBaseTableQuery(prgDialog, session, projectId, qs, ids, false);
            IList <DatabaseTable>   resultBoqs = new List <DatabaseTable>(boqs.Count);

            foreach (BaseTable dbBoq in boqs)
            {
                AssemblyTable boq = (AssemblyTable)dbBoq.clone();

                deepFillResourceItem(levelDetailsList, boq, cyclic, 0, nullifyId);

                resultBoqs.Add(boq);
            }
            //System.out.println("QUERY IS: "+qs);
            return(resultBoqs);
        }
        //	public AssemblyTableList convertToLineItemList(ProjectDBUtil prjDBUtil, boolean persistNew) {
        //		return convertToLineItemList(prjDBUtil, persistNew, 100L);
        //	}

        public virtual AssemblyTableList convertToLineItemList(ProjectDBUtil prjDBUtil, bool persistNew, bool keepIds)
        {
            AssemblyTable[] items = new AssemblyTable[_o_items.Length];

            //System.out.println("Starting conversion...");
            for (int i = 0; i < _o_items.Length; i++)
            {
                items[i] = _o_items[i].convertToAssembly(prjDBUtil, currencyCode, persistNew, false, false, keepIds);
                if (!keepIds)
                {
                    items[i].DatabaseCreationDate = 100L;                     // That is a missing definition ResourceUtil.MISSING
                    items[i].DatabaseId           = null;
                }

                if (items[i].ActivityBased.Value == false)
                {
                    items[i].Productivity = decimal.One;
                }
                //System.out.println("I converted: "+items[i].getTitle()+" it now has "+items[i].getResourceAssignments(null).size()+" before "+
                //		_o_items[i].getResourceAssignments(null).size()
                //		);
            }

            return(new AssemblyTableList(items));
        }
Ejemplo n.º 4
0
        private static IEnumerable <Type> GetImportableTypes(string[] assemblyNames, Predicate <Type> filter)
        {
            var assemblies   = assemblyNames.Select(assemblyName => Assembly.Load(AssemblyTable.GetFullAssemblyName(assemblyName)));
            var activeFilter = filter ?? defaultFilter;

            return(assemblies.SelectMany(assembly => assembly.GetTypes().Where(type => type.IsImportable() && activeFilter(type))));
        }
Ejemplo n.º 5
0
        public AssemblyLoader()
        {
            _signatureResolver = new SignatureResolver(this);

            _assemblyTable = new AssemblyTable(this);

            Const             = new ConstantTable(this);
            Files             = new FileTable(this);
            ManifestResources = new ManifestResourceTable(this);

            Modules = new ModuleTable(this);

            ModuleRefs   = new ModuleRefTable(this);
            AssemblyRefs = new AssemblyRefTable(this);

            TypeRefs    = new TypeRefTable(this);
            MemberRefs  = new MemberRefTable(this);
            _typeSpec   = new TypeSpecTable(this);
            _methodSpec = new MethodSpecTable(this);

            Parameters        = new ParamTable(this);
            Fields            = new FieldTable(this);
            Properties        = new PropertyTable(this);
            Events            = new EventTable(this);
            GenericParameters = new GenericParamTable(this);

            Methods = new MethodTable(this);
            Types   = new TypeTable(this);
        }
		private AssemblyName GetNameImpl(ref AssemblyTable.Record rec)
		{
			AssemblyName name = new AssemblyName();
			name.Name = manifestModule.GetString(rec.Name);
			name.Version = new Version(rec.MajorVersion, rec.MinorVersion, rec.BuildNumber, rec.RevisionNumber);
			if (rec.PublicKey != 0)
			{
				name.SetPublicKey(manifestModule.GetBlobCopy(rec.PublicKey));
			}
			else
			{
				name.SetPublicKey(Empty<byte>.Array);
			}
			if (rec.Culture != 0)
			{
				name.Culture = manifestModule.GetString(rec.Culture);
			}
			else
			{
				name.Culture = "";
			}
			name.HashAlgorithm = (AssemblyHashAlgorithm)rec.HashAlgId;
			name.CodeBase = this.CodeBase;
			name.RawFlags = (AssemblyNameFlags)rec.Flags;
			return name;
		}
		private AssemblyName GetNameImpl(ref AssemblyTable.Record rec)
		{
			AssemblyName name = new AssemblyName();
			name.Name = manifestModule.GetString(rec.Name);
			name.Version = new Version(rec.MajorVersion, rec.MinorVersion, rec.BuildNumber, rec.RevisionNumber);
			if (rec.PublicKey != 0)
			{
				name.SetPublicKey(manifestModule.GetBlobCopy(rec.PublicKey));
			}
			else
			{
				name.SetPublicKey(Empty<byte>.Array);
			}
			if (rec.Culture != 0)
			{
				name.Culture = manifestModule.GetString(rec.Culture);
			}
			else
			{
				name.Culture = "";
			}
			name.HashAlgorithm = (AssemblyHashAlgorithm)rec.HashAlgId;
			name.CodeBase = this.CodeBase;
			PortableExecutableKinds peKind;
			ImageFileMachine machine;
			manifestModule.GetPEKind(out peKind, out machine);
			switch (machine)
			{
				case ImageFileMachine.I386:
					// FXBUG we copy the .NET bug that Preferred32Bit implies x86
					if ((peKind & (PortableExecutableKinds.Required32Bit | PortableExecutableKinds.Preferred32Bit)) != 0)
					{
						name.ProcessorArchitecture = ProcessorArchitecture.X86;
					}
					else if ((rec.Flags & 0x70) == 0x70)
					{
						// it's a reference assembly
						name.ProcessorArchitecture = ProcessorArchitecture.None;
					}
					else
					{
						name.ProcessorArchitecture = ProcessorArchitecture.MSIL;
					}
					break;
				case ImageFileMachine.IA64:
					name.ProcessorArchitecture = ProcessorArchitecture.IA64;
					break;
				case ImageFileMachine.AMD64:
					name.ProcessorArchitecture = ProcessorArchitecture.Amd64;
					break;
				case ImageFileMachine.ARM:
					name.ProcessorArchitecture = ProcessorArchitecture.Arm;
					break;
			}
			name.RawFlags = (AssemblyNameFlags)rec.Flags;
			return name;
		}
//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;
            }
        }
 /// <summary>
 /// Adds types from an assembly to a host type collection. The assembly is specified by name.
 /// </summary>
 /// <param name="assemblyName">The name of the assembly that contains the types to add.</param>
 ///
 public void AddAssembly(string assemblyName)
 {
     // そもそもターゲットとなっている場所に存在する(多分フルパスで指定している、など)
     if (System.IO.File.Exists(assemblyName))
     {
         AddAssembly(Assembly.LoadFile(assemblyName));
     }
     else
     {
         MiscHelpers.VerifyNonBlankArgument(assemblyName, "assemblyName", "Invalid assembly name");
         AddAssembly(Assembly.Load(AssemblyTable.GetFullAssemblyName(assemblyName)));
     }
 }
Ejemplo n.º 10
0
        public virtual decimal calculateFinalFixedCost()
        {
            if (BoqItemTable != null && AssemblyTable != null)
            {
                finalFixedCost = AssemblyTable.calculateFinalFixedCost();
                finalFixedCost = BigDecimalMath.mult(finalFixedCost, ExchangeRate);
                finalFixedCost = BigDecimalMath.mult(finalFixedCost, Factor1);
                finalFixedCost = BigDecimalMath.mult(finalFixedCost, Factor2);
                finalFixedCost = BigDecimalMath.mult(finalFixedCost, Factor3);
                finalFixedCost = BigDecimalMath.mult(finalFixedCost, LocalFactor);
            }

            finalFixedCost.setScale(10, decimal.ROUND_HALF_UP);

            return(finalFixedCost);
        }
Ejemplo n.º 11
0
        public override void VisitAssemblyNameDefinition(AssemblyNameDefinition name)
        {
            AssemblyTable atable = m_tableReader.GetAssemblyTable();
            AssemblyRow   arow   = atable [0];

            name.Name      = ReadString(arow.Name);
            name.Flags     = arow.Flags;
            name.PublicKey = ReadBlob(arow.PublicKey);

            name.Culture = ReadString(arow.Culture);
            name.Version = new Version(
                arow.MajorVersion, arow.MinorVersion,
                arow.BuildNumber, arow.RevisionNumber);
            name.HashAlgorithm = arow.HashAlgId;
            name.MetadataToken = new MetadataToken(TokenType.Assembly, 1);
        }
Ejemplo n.º 12
0
        public virtual decimal calculateFinalRate(bool deepRecalc)
        {
            decimal fRate = finalRate;

            if (BoqItemTable != null && AssemblyTable != null)
            {
                if (deepRecalc)
                {
                    AssemblyTable.calculateRate();
                }
                decimal assemblyRate = AssemblyTable.Rate * ExchangeRate;
                assemblyRate = assemblyRate * LocalFactor;

                fRate = assemblyRate * Factor1;
                fRate = fRate * Factor2;
                fRate = fRate * Factor3;
                fRate = fRate * QuantityPerUnit;

                //if ( getBoqItemTable().getHasProductivity() || getBoqItemTable().getQuantity().compareTo(BigDecimalMath.ZERO) <= 0 ) {
                //			}
                //			else { // Total Units Method:
                //				fRate = assemblyRate.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;


                fRate        = fRate.setScale(10, decimal.ROUND_HALF_DOWN);
                variableCost = variableCost.setScale(10, decimal.ROUND_HALF_DOWN);
                totalCost    = totalCost.setScale(10, decimal.ROUND_HALF_DOWN);
            }

            finalRate = fRate;
            return(fRate);
        }
Ejemplo n.º 13
0
		private AssemblyName GetNameImpl(ref AssemblyTable.Record rec)
		{
			AssemblyName name = new AssemblyName();
			name.Name = manifestModule.GetString(rec.Name);
			name.Version = new Version(rec.MajorVersion, rec.MinorVersion, rec.BuildNumber, rec.RevisionNumber);
			if (rec.PublicKey != 0)
			{
				name.SetPublicKey(manifestModule.GetBlobCopy(rec.PublicKey));
			}
			else
			{
				name.SetPublicKey(Empty<byte>.Array);
			}
			if (rec.Culture != 0)
			{
				name.CultureInfo = new System.Globalization.CultureInfo(manifestModule.GetString(rec.Culture));
			}
			else
			{
				name.CultureInfo = System.Globalization.CultureInfo.InvariantCulture;
			}
			switch (rec.HashAlgId)
			{
				case 0:
					name.HashAlgorithm = AssemblyHashAlgorithm.None;
					break;
				case 0x8003:
					name.HashAlgorithm = AssemblyHashAlgorithm.MD5;
					break;
				case 0x8004:
					name.HashAlgorithm = AssemblyHashAlgorithm.SHA1;
					break;
				default:
					throw new BadImageFormatException();
			}
			name.CodeBase = this.CodeBase;
			name.Flags = (AssemblyNameFlags)rec.Flags;
			return name;
		}
Ejemplo n.º 14
0
        public override void VisitAssemblyNameDefinition(AssemblyNameDefinition name)
        {
            AssemblyTable asmTable = m_tableWriter.GetAssemblyTable();

            if (name.PublicKey != null && name.PublicKey.Length > 0)
            {
                name.Flags |= AssemblyFlags.PublicKey;
            }

            AssemblyRow asmRow = m_rowWriter.CreateAssemblyRow(
                name.HashAlgorithm,
                (ushort)name.Version.Major,
                (ushort)name.Version.Minor,
                (ushort)name.Version.Build,
                (ushort)name.Version.Revision,
                name.Flags,
                m_mdWriter.AddBlob(name.PublicKey),
                m_mdWriter.AddString(name.Name),
                m_mdWriter.AddString(name.Culture));

            asmTable.Rows.Add(asmRow);
        }
        private void createSubcontractor(Session paramSession, AssemblyTable paramAssemblyTable, string paramString1, decimal paramBigDecimal1, string paramString2, decimal paramBigDecimal2)
        {
            SubcontractorTable subcontractorTable = BlankResourceInitializer.createBlankSubcontractor(paramAssemblyTable);

            subcontractorTable.Title        = paramString1;
            subcontractorTable.Unit         = paramString2;
            subcontractorTable.Rate         = paramBigDecimal1;
            subcontractorTable.Currency     = "USD";
            subcontractorTable.EditorId     = "admin";
            subcontractorTable.Country      = "US";
            subcontractorTable.LastUpdate   = this.lastUpdate;
            subcontractorTable.CreateDate   = this.lastUpdate;
            subcontractorTable.CreateUserId = "admin";
            subcontractorTable.EditorId     = "admin";
            long?long = (long?)paramSession.save(subcontractorTable.clone());

            subcontractorTable.Id = long;
            subcontractorTable    = (SubcontractorTable)paramSession.load(typeof(SubcontractorTable), long);
            AssemblySubcontractorTable assemblySubcontractorTable = new AssemblySubcontractorTable();

            assemblySubcontractorTable.Factor1                     = BigDecimalMath.ONE;
            assemblySubcontractorTable.Factor2                     = BigDecimalMath.ONE;
            assemblySubcontractorTable.Factor3                     = BigDecimalMath.ONE;
            assemblySubcontractorTable.ExchangeRate                = BigDecimalMath.ONE;
            assemblySubcontractorTable.QuantityPerUnit             = paramBigDecimal2;
            assemblySubcontractorTable.QuantityPerUnitFormula      = "";
            assemblySubcontractorTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
            assemblySubcontractorTable.LocalFactor                 = BigDecimalMath.ONE;
            assemblySubcontractorTable.LocalCountry                = "";
            assemblySubcontractorTable.LocalStateProvince          = "";
            assemblySubcontractorTable.LastUpdate                  = paramAssemblyTable.LastUpdate;
            long = (long?)paramSession.save(assemblySubcontractorTable);
            assemblySubcontractorTable.AssemblySubcontractorId = long;
            paramAssemblyTable.AssemblySubcontractorSet.Add(assemblySubcontractorTable);
            paramSession.saveOrUpdate(paramAssemblyTable);
            assemblySubcontractorTable.SubcontractorTable = subcontractorTable;
            assemblySubcontractorTable.AssemblyTable      = paramAssemblyTable;
            paramSession.saveOrUpdate(assemblySubcontractorTable);
        }
Ejemplo n.º 16
0
        void EncodeAssemblyTable(AssemblyTable table)
        {
            int index = 0;

            foreach (AssemblyRow row in table.Rows)
            {
                this.asm.ALIGN(Assembly.OBJECT_ALIGNMENT);
                this.asm.LABEL(moduleName + " AssemblyRow#" + index);
                this.asm.AddObjectFields(typeof(SharpOS.AOT.Metadata.AssemblyRow).ToString());
                this.asm.DATA((uint)row.HashAlgId);
                this.asm.DATA(row.MajorVersion);
                this.asm.DATA(row.MinorVersion);
                this.asm.DATA(row.BuildNumber);
                this.asm.DATA(row.RevisionNumber);
                this.asm.DATA((uint)row.Flags);
                this.asm.DATA(row.PublicKey);
                this.asm.DATA(row.Name);
                this.asm.DATA(row.Culture);

                ++index;
            }

            this.MetadataArray("Assembly", table);
        }
Ejemplo n.º 17
0
        public void Read(ReaderContext ctxt)
        {
            var reader = ctxt.GetTablesReader();

            var actualReserved0 = reader.ReadUInt32();
            if (actualReserved0 != reserved0)
                throw new PEException("invalid MetadataTable header");
            var actualMajorVersion = reader.ReadByte();
            if (actualMajorVersion != majorVersion)
                throw new PEException("invalid MetadataTable header");
            var actualMinorVersion = reader.ReadByte();
            if (actualMinorVersion != minorVersion)
                throw new PEException("invalid MetadataTable header");
            var heapSizes = reader.ReadByte();
            IsStringStreamBig = (heapSizes & 0x01) != 0;
            IsGuidStreamBig = (heapSizes & 0x02) != 0;
            IsBlobStreamBig = (heapSizes & 0x04) != 0;
            Reserved1 = reader.ReadByte();

            var valid = new IntSet64(reader.ReadUInt64());
            var sorted = new IntSet64(reader.ReadUInt64());

            for (var i = 0; i < 64; i++)
            {
                var numRows = 0;
                if (valid[i])
                    numRows = (int)reader.ReadUInt32();

                switch ((TableTag)i)
                {
                case TableTag.Module:
                    ModuleTable = new ModuleTable(numRows);
                    break;
                case TableTag.Assembly:
                    AssemblyTable = new AssemblyTable(numRows);
                    break;
                case TableTag.AssemblyOS:
                    AssemblyOSTable = new AssemblyOSTable(numRows);
                    break;
                case TableTag.AssemblyProcessor:
                    AssemblyProcessorTable = new AssemblyProcessorTable(numRows);
                    break;
                case TableTag.AssemblyRef:
                    AssemblyRefTable = new AssemblyRefTable(numRows);
                    break;
                case TableTag.AssemblyRefOS:
                    AssemblyRefOSTable = new AssemblyRefOSTable(numRows);
                    break;
                case TableTag.AssemblyRefProcessor:
                    AssemblyRefProcessorTable = new AssemblyRefProcessorTable(numRows);
                    break;
                case TableTag.ClassLayout:
                    ClassLayoutTable = new ClassLayoutTable(numRows);
                    break;
                case TableTag.Constant:
                    ConstantTable = new ConstantTable(numRows);
                    break;
                case TableTag.CustomAttribute:
                    CustomAttributeTable = new CustomAttributeTable(numRows);
                    break;
                case TableTag.DeclSecurity:
                    DeclSecurityTable = new DeclSecurityTable(numRows);
                    break;
                case TableTag.EventMap:
                    EventMapTable = new EventMapTable(numRows);
                    break;
                case TableTag.Event:
                    EventTable = new EventTable(numRows);
                    break;
                case TableTag.ExportedType:
                    ExportedTypeTable = new ExportedTypeTable(numRows);
                    break;
                case TableTag.Field:
                    FieldTable = new FieldTable(numRows);
                    break;
                case TableTag.FieldLayout:
                    FieldLayoutTable = new FieldLayoutTable(numRows);
                    break;
                case TableTag.FieldMarshal:
                    FieldMarshalTable = new FieldMarshalTable(numRows);
                    break;
                case TableTag.FieldRVA:
                    FieldRVATable = new FieldRVATable(numRows);
                    break;
                case TableTag.File:
                    FileTable = new FileTable(numRows);
                    break;
                case TableTag.GenericParam:
                    GenericParamTable = new GenericParamTable(numRows);
                    break;
                case TableTag.GenericParamConstraint:
                    GenericParamConstraintTable = new GenericParamConstraintTable(numRows);
                    break;
                case TableTag.ImplMap:
                    ImplMapTable = new ImplMapTable(numRows);
                    break;
                case TableTag.InterfaceImpl:
                    InterfaceImplTable = new InterfaceImplTable(numRows);
                    break;
                case TableTag.ManifestResource:
                    ManifestResourceTable = new ManifestResourceTable(numRows);
                    break;
                case TableTag.MemberRef:
                    MemberRefTable = new MemberRefTable(numRows);
                    break;
                case TableTag.MethodDef:
                    MethodDefTable = new MethodDefTable(numRows);
                    break;
                case TableTag.MethodImpl:
                    MethodImplTable = new MethodImplTable(numRows);
                    break;
                case TableTag.MethodSemantics:
                    MethodSemanticsTable = new MethodSemanticsTable(numRows);
                    break;
                case TableTag.MethodSpec:
                    MethodSpecTable = new MethodSpecTable(numRows);
                    break;
                case TableTag.ModuleRef:
                    ModuleRefTable = new ModuleRefTable(numRows);
                    break;
                case TableTag.NestedClass:
                    NestedClassTable = new NestedClassTable(numRows);
                    break;
                case TableTag.Param:
                    ParamTable = new ParamTable(numRows);
                    break;
                case TableTag.Property:
                    PropertyTable = new PropertyTable(numRows);
                    break;
                case TableTag.PropertyMap:
                    PropertyMapTable = new PropertyMapTable(numRows);
                    break;
                case TableTag.StandAloneSig:
                    StandAloneSigTable = new StandAloneSigTable(numRows);
                    break;
                case TableTag.TypeDef:
                    TypeDefTable = new TypeDefTable(numRows);
                    break;
                case TableTag.TypeRef:
                    TypeRefTable = new TypeRefTable(numRows);
                    break;
                case TableTag.TypeSpec:
                    TypeSpecTable = new TypeSpecTable(numRows);
                    break;
                default:
                    // Ignore
                    break;
                }
            }

            DetermineIndexCodingSizes();

            for (var i = 0; i < 64; i++)
            {
                if (valid[i])
                {
                    switch ((TableTag)i)
                    {
                    case TableTag.Module:
                        ModuleTable.Read(ctxt, reader);
                        break;
                    case TableTag.Assembly:
                        AssemblyTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyOS:
                        AssemblyOSTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyProcessor:
                        AssemblyProcessorTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyRef:
                        AssemblyRefTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyRefOS:
                        AssemblyRefOSTable.Read(ctxt, reader);
                        break;
                    case TableTag.AssemblyRefProcessor:
                        AssemblyRefProcessorTable.Read(ctxt, reader);
                        break;
                    case TableTag.ClassLayout:
                        ClassLayoutTable.Read(ctxt, reader);
                        break;
                    case TableTag.Constant:
                        ConstantTable.Read(ctxt, reader);
                        break;
                    case TableTag.CustomAttribute:
                        CustomAttributeTable.Read(ctxt, reader);
                        break;
                    case TableTag.DeclSecurity:
                        DeclSecurityTable.Read(ctxt, reader);
                        break;
                    case TableTag.EventMap:
                        EventMapTable.Read(ctxt, reader);
                        break;
                    case TableTag.Event:
                        EventTable.Read(ctxt, reader);
                        break;
                    case TableTag.ExportedType:
                        ExportedTypeTable.Read(ctxt, reader);
                        break;
                    case TableTag.Field:
                        FieldTable.Read(ctxt, reader);
                        break;
                    case TableTag.FieldLayout:
                        FieldLayoutTable.Read(ctxt, reader);
                        break;
                    case TableTag.FieldMarshal:
                        FieldMarshalTable.Read(ctxt, reader);
                        break;
                    case TableTag.FieldRVA:
                        FieldRVATable.Read(ctxt, reader);
                        break;
                    case TableTag.File:
                        FileTable.Read(ctxt, reader);
                        break;
                    case TableTag.GenericParam:
                        GenericParamTable.Read(ctxt, reader);
                        break;
                    case TableTag.GenericParamConstraint:
                        GenericParamConstraintTable.Read(ctxt, reader);
                        break;
                    case TableTag.ImplMap:
                        ImplMapTable.Read(ctxt, reader);
                        break;
                    case TableTag.InterfaceImpl:
                        InterfaceImplTable.Read(ctxt, reader);
                        break;
                    case TableTag.ManifestResource:
                        ManifestResourceTable.Read(ctxt, reader);
                        break;
                    case TableTag.MemberRef:
                        MemberRefTable.Read(ctxt, reader);
                        break;
                    case TableTag.MethodDef:
                        MethodDefTable.Read(ctxt, reader);
                        break;
                    case TableTag.MethodImpl:
                        MethodImplTable.Read(ctxt, reader);
                        break;
                    case TableTag.MethodSemantics:
                        MethodSemanticsTable.Read(ctxt, reader);
                        break;
                    case TableTag.MethodSpec:
                        MethodSpecTable.Read(ctxt, reader);
                        break;
                    case TableTag.ModuleRef:
                        ModuleRefTable.Read(ctxt, reader);
                        break;
                    case TableTag.NestedClass:
                        NestedClassTable.Read(ctxt, reader);
                        break;
                    case TableTag.Param:
                        ParamTable.Read(ctxt, reader);
                        break;
                    case TableTag.Property:
                        PropertyTable.Read(ctxt, reader);
                        break;
                    case TableTag.PropertyMap:
                        PropertyMapTable.Read(ctxt, reader);
                        break;
                    case TableTag.StandAloneSig:
                        StandAloneSigTable.Read(ctxt, reader);
                        break;
                    case TableTag.TypeDef:
                        TypeDefTable.Read(ctxt, reader);
                        break;
                    case TableTag.TypeRef:
                        TypeRefTable.Read(ctxt, reader);
                        break;
                    case TableTag.TypeSpec:
                        TypeSpecTable.Read(ctxt, reader);
                        break;
                    default:
                        throw new PEException("unexpected table tag in MetadataTable body");
                    }
                }
            }

            ModuleTable.ResolveIndexes(ctxt);
            TypeRefTable.ResolveIndexes(ctxt);
            TypeDefTable.ResolveIndexes(ctxt);
            FieldTable.ResolveIndexes(ctxt);
            MethodDefTable.ResolveIndexes(ctxt);
            ParamTable.ResolveIndexes(ctxt);
            InterfaceImplTable.ResolveIndexes(ctxt);
            MemberRefTable.ResolveIndexes(ctxt);
            ConstantTable.ResolveIndexes(ctxt);
            CustomAttributeTable.ResolveIndexes(ctxt);
            FieldMarshalTable.ResolveIndexes(ctxt);
            DeclSecurityTable.ResolveIndexes(ctxt);
            ClassLayoutTable.ResolveIndexes(ctxt);
            FieldLayoutTable.ResolveIndexes(ctxt);
            StandAloneSigTable.ResolveIndexes(ctxt);
            EventMapTable.ResolveIndexes(ctxt);
            EventTable.ResolveIndexes(ctxt);
            PropertyMapTable.ResolveIndexes(ctxt);
            PropertyTable.ResolveIndexes(ctxt);
            MethodSemanticsTable.ResolveIndexes(ctxt);
            MethodImplTable.ResolveIndexes(ctxt);
            ModuleRefTable.ResolveIndexes(ctxt);
            TypeSpecTable.ResolveIndexes(ctxt);
            ImplMapTable.ResolveIndexes(ctxt);
            FieldRVATable.ResolveIndexes(ctxt);
            AssemblyTable.ResolveIndexes(ctxt);
            AssemblyProcessorTable.ResolveIndexes(ctxt);
            AssemblyOSTable.ResolveIndexes(ctxt);
            AssemblyRefTable.ResolveIndexes(ctxt);
            AssemblyRefProcessorTable.ResolveIndexes(ctxt);
            AssemblyRefOSTable.ResolveIndexes(ctxt);
            FileTable.ResolveIndexes(ctxt);
            ExportedTypeTable.ResolveIndexes(ctxt);
            ManifestResourceTable.ResolveIndexes(ctxt);
            NestedClassTable.ResolveIndexes(ctxt);
            GenericParamTable.ResolveIndexes(ctxt);
            MethodSpecTable.ResolveIndexes(ctxt);
            GenericParamConstraintTable.ResolveIndexes(ctxt);
        }
Ejemplo n.º 18
0
 /// <summary>
 /// Adds types from an assembly to a host type collection. The assembly is specified by name.
 /// </summary>
 /// <param name="assemblyName">The name of the assembly that contains the types to add.</param>
 public void AddAssembly(string assemblyName)
 {
     MiscHelpers.VerifyNonBlankArgument(assemblyName, "assemblyName", "Invalid assembly name");
     AddAssembly(Assembly.Load(AssemblyTable.GetFullAssemblyName(assemblyName)));
 }
Ejemplo n.º 19
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void saveOrUpdateAssemblyTable(org.hibernate.Session paramSession, Desktop.common.nomitech.common.migration.spon.SponLineItem paramSponLineItem, nomitech.common.db.local.MaterialTable paramMaterialTable, nomitech.common.db.local.SubcontractorTable paramSubcontractorTable, nomitech.common.db.local.EquipmentTable paramEquipmentTable) throws Exception
        private void saveOrUpdateAssemblyTable(Session paramSession, SponLineItem paramSponLineItem, MaterialTable paramMaterialTable, SubcontractorTable paramSubcontractorTable, EquipmentTable paramEquipmentTable)
        {
            SponLineItem sponLineItem;

            for (sponLineItem = (SponLineItem)paramSponLineItem.Parent; string.ReferenceEquals(sponLineItem.WbsCode, null); sponLineItem = (SponLineItem)sponLineItem.Parent)
            {
                ;
            }
            AssemblyTable assemblyTable = BlankResourceInitializer.createBlankAssembly(null);

            assemblyTable.AssemblyId = null;
            assemblyTable.Title      = paramSponLineItem.makeShortTitle();
            string str = convertToCostOSUnit(paramSponLineItem.Unit);

            if (string.ReferenceEquals(str, null))
            {
                throw new Exception("FATAL: UNIT WAS NULL FOR " + paramSponLineItem.Unit);
            }
            assemblyTable.GroupCode             = sponLineItem.WbsCode + " - " + sponLineItem.makeShortTitle();
            assemblyTable.GekCode               = "";
            assemblyTable.Unit                  = str;
            assemblyTable.EditorId              = "spon";
            assemblyTable.StateProvince         = "";
            assemblyTable.Country               = "GB";
            assemblyTable.Currency              = "GBP";
            assemblyTable.Productivity          = BigDecimalMath.ZERO;
            assemblyTable.Project               = "";
            assemblyTable.PublishedRate         = new BigDecimalFixed("" + convertToCostOSRate(paramSponLineItem.Unit, paramSponLineItem.Total));
            assemblyTable.PublishedRevisionCode = paramSponLineItem.Code;
            assemblyTable.Notes                 = "SPON Major Rate";
            assemblyTable.Description           = paramSponLineItem.makeFullDescription() + "\nCODE: " + paramSponLineItem.Code;
            assemblyTable.Virtual               = false;
            assemblyTable.VirtualEquipment      = false;
            assemblyTable.VirtualSubcontractor  = false;
            assemblyTable.VirtualLabor          = false;
            assemblyTable.VirtualMaterial       = false;
            assemblyTable.VirtualConsumable     = false;
            assemblyTable.LastUpdate            = this.lastUpdate;
            assemblyTable.Quantity              = new BigDecimalFixed("0");
            assemblyTable.Accuracy              = "enum.quotation.accuracy.estimated";
            assemblyTable.CreateDate            = assemblyTable.LastUpdate;
            assemblyTable.CreateUserId          = "spon";
            Serializable serializable = assemblyTable.AssemblyId;

            if (serializable == null)
            {
                serializable = paramSession.save(assemblyTable);
            }
            else
            {
                paramSession.update(assemblyTable);
            }
            assemblyTable = (AssemblyTable)paramSession.load(typeof(AssemblyTable), serializable);
            if (paramSubcontractorTable != null)
            {
                paramSubcontractorTable = (SubcontractorTable)DatabaseDBUtil.loadBulk(typeof(SubcontractorTable), new long?[] { paramSubcontractorTable.SubcontractorId })[0];
                AssemblySubcontractorTable assemblySubcontractorTable = new AssemblySubcontractorTable();
                assemblySubcontractorTable.Factor1                     = BigDecimalMath.ONE;
                assemblySubcontractorTable.Factor2                     = BigDecimalMath.ONE;
                assemblySubcontractorTable.Factor3                     = BigDecimalMath.ONE;
                assemblySubcontractorTable.QuantityPerUnit             = BigDecimalMath.ONE;
                assemblySubcontractorTable.QuantityPerUnitFormula      = "";
                assemblySubcontractorTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
                assemblySubcontractorTable.LocalFactor                 = BigDecimalMath.ONE;
                assemblySubcontractorTable.LocalCountry                = "";
                assemblySubcontractorTable.LocalStateProvince          = "";
                assemblySubcontractorTable.LastUpdate                  = assemblyTable.LastUpdate;
                long?long = (long?)paramSession.save(assemblySubcontractorTable);
                assemblySubcontractorTable.AssemblySubcontractorId = long;
                if (DatabaseDBUtil.LocalCommunication)
                {
                    paramSubcontractorTable.AssemblySubcontractorSet.Add(assemblySubcontractorTable);
                    paramSession.saveOrUpdate(paramSubcontractorTable);
                    assemblyTable.AssemblySubcontractorSet.Add(assemblySubcontractorTable);
                    paramSession.saveOrUpdate(assemblyTable);
                    assemblySubcontractorTable.SubcontractorTable = paramSubcontractorTable;
                    assemblySubcontractorTable.AssemblyTable      = assemblyTable;
                    paramSession.saveOrUpdate(assemblySubcontractorTable);
                }
                else
                {
                    assemblySubcontractorTable = (AssemblySubcontractorTable)DatabaseDBUtil.associateAssemblyResource(assemblyTable, paramSubcontractorTable, assemblySubcontractorTable);
                    assemblyTable = (AssemblyTable)paramSession.load(typeof(AssemblyTable), assemblyTable.Id);
                }
            }
            if (paramMaterialTable != null)
            {
                paramMaterialTable = (MaterialTable)DatabaseDBUtil.loadBulk(typeof(MaterialTable), new long?[] { paramMaterialTable.MaterialId })[0];
                AssemblyMaterialTable assemblyMaterialTable = new AssemblyMaterialTable();
                assemblyMaterialTable.Factor1                     = BigDecimalMath.ONE;
                assemblyMaterialTable.Factor2                     = BigDecimalMath.ONE;
                assemblyMaterialTable.Factor3                     = BigDecimalMath.ONE;
                assemblyMaterialTable.QuantityPerUnit             = BigDecimalMath.ONE;
                assemblyMaterialTable.QuantityPerUnitFormula      = "";
                assemblyMaterialTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
                assemblyMaterialTable.LocalFactor                 = BigDecimalMath.ONE;
                assemblyMaterialTable.LocalCountry                = "";
                assemblyMaterialTable.LocalStateProvince          = "";
                assemblyMaterialTable.LastUpdate                  = assemblyTable.LastUpdate;
                long?long = (long?)paramSession.save(assemblyMaterialTable);
                assemblyMaterialTable.AssemblyMaterialId = long;
                if (DatabaseDBUtil.LocalCommunication)
                {
                    paramMaterialTable.AssemblyMaterialSet.Add(assemblyMaterialTable);
                    paramSession.saveOrUpdate(paramMaterialTable);
                    assemblyTable.AssemblyMaterialSet.Add(assemblyMaterialTable);
                    paramSession.saveOrUpdate(assemblyTable);
                    assemblyMaterialTable.MaterialTable = paramMaterialTable;
                    assemblyMaterialTable.AssemblyTable = assemblyTable;
                    paramSession.saveOrUpdate(assemblyMaterialTable);
                }
                else
                {
                    assemblyMaterialTable = (AssemblyMaterialTable)DatabaseDBUtil.associateAssemblyResource(assemblyTable, paramMaterialTable, assemblyMaterialTable);
                    assemblyTable         = (AssemblyTable)paramSession.load(typeof(AssemblyTable), assemblyTable.Id);
                }
            }
            if (paramEquipmentTable != null)
            {
                paramEquipmentTable = (EquipmentTable)DatabaseDBUtil.loadBulk(typeof(EquipmentTable), new long?[] { paramEquipmentTable.EquipmentId })[0];
                AssemblyEquipmentTable assemblyEquipmentTable = new AssemblyEquipmentTable();
                assemblyEquipmentTable.Factor1                     = BigDecimalMath.ONE;
                assemblyEquipmentTable.Factor2                     = BigDecimalMath.ONE;
                assemblyEquipmentTable.Factor3                     = BigDecimalMath.ONE;
                assemblyEquipmentTable.QuantityPerUnit             = BigDecimalMath.ONE;
                assemblyEquipmentTable.QuantityPerUnitFormula      = "";
                assemblyEquipmentTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
                assemblyEquipmentTable.LocalFactor                 = BigDecimalMath.ONE;
                assemblyEquipmentTable.LocalCountry                = "";
                assemblyEquipmentTable.LocalStateProvince          = "";
                assemblyEquipmentTable.EnergyPrice                 = BigDecimalMath.ZERO;
                assemblyEquipmentTable.FuelRate                    = BigDecimalMath.ZERO;
                assemblyEquipmentTable.LastUpdate                  = assemblyTable.LastUpdate;
                long?long = (long?)paramSession.save(assemblyEquipmentTable);
                assemblyEquipmentTable.AssemblyEquipmentId = long;
                if (DatabaseDBUtil.LocalCommunication)
                {
                    paramEquipmentTable.AssemblyEquipmentSet.Add(assemblyEquipmentTable);
                    paramSession.saveOrUpdate(paramEquipmentTable);
                    assemblyTable.AssemblyEquipmentSet.Add(assemblyEquipmentTable);
                    paramSession.saveOrUpdate(assemblyTable);
                    assemblyEquipmentTable.EquipmentTable = paramEquipmentTable;
                    assemblyEquipmentTable.AssemblyTable  = assemblyTable;
                    paramSession.saveOrUpdate(assemblyEquipmentTable);
                }
                else
                {
                    assemblyEquipmentTable = (AssemblyEquipmentTable)DatabaseDBUtil.associateAssemblyResource(assemblyTable, paramEquipmentTable, assemblyEquipmentTable);
                    assemblyTable          = (AssemblyTable)paramSession.load(typeof(AssemblyTable), assemblyTable.Id);
                }
            }
            assemblyTable = (AssemblyTable)paramSession.load(typeof(AssemblyTable), assemblyTable.Id);
            assemblyTable.recalculate();
            paramSession.update(assemblyTable);
        }
 public virtual void VisitAssemblyTable(AssemblyTable table)
 {
 }
Ejemplo n.º 21
0
 /// <summary>
 /// Adds selected types from an assembly to a host type collection. The assembly is
 /// specified by name.
 /// </summary>
 /// <param name="assemblyName">The name of the assembly that contains the types to add.</param>
 /// <param name="filter">A filter for selecting the types to add.</param>
 public void AddAssembly(string assemblyName, Predicate <Type> filter)
 {
     MiscHelpers.VerifyNonBlankArgument(assemblyName, nameof(assemblyName), "Invalid assembly name");
     AddAssembly(Assembly.Load(AssemblyTable.GetFullAssemblyName(assemblyName)), filter);
 }
Ejemplo n.º 22
0
 public virtual void VisitAssemblyTable(AssemblyTable table)
 {
 }
//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;
                }
            }
        }
Ejemplo n.º 24
0
        public void Read(ReaderContext ctxt)
        {
            var reader = ctxt.GetTablesReader();

            var actualReserved0 = reader.ReadUInt32();

            if (actualReserved0 != reserved0)
            {
                throw new PEException("invalid MetadataTable header");
            }
            var actualMajorVersion = reader.ReadByte();

            if (actualMajorVersion != majorVersion)
            {
                throw new PEException("invalid MetadataTable header");
            }
            var actualMinorVersion = reader.ReadByte();

            if (actualMinorVersion != minorVersion)
            {
                throw new PEException("invalid MetadataTable header");
            }
            var heapSizes = reader.ReadByte();

            IsStringStreamBig = (heapSizes & 0x01) != 0;
            IsGuidStreamBig   = (heapSizes & 0x02) != 0;
            IsBlobStreamBig   = (heapSizes & 0x04) != 0;
            Reserved1         = reader.ReadByte();

            var valid  = new IntSet64(reader.ReadUInt64());
            var sorted = new IntSet64(reader.ReadUInt64());

            for (var i = 0; i < 64; i++)
            {
                var numRows = 0;
                if (valid[i])
                {
                    numRows = (int)reader.ReadUInt32();
                }

                switch ((TableTag)i)
                {
                case TableTag.Module:
                    ModuleTable = new ModuleTable(numRows);
                    break;

                case TableTag.Assembly:
                    AssemblyTable = new AssemblyTable(numRows);
                    break;

                case TableTag.AssemblyOS:
                    AssemblyOSTable = new AssemblyOSTable(numRows);
                    break;

                case TableTag.AssemblyProcessor:
                    AssemblyProcessorTable = new AssemblyProcessorTable(numRows);
                    break;

                case TableTag.AssemblyRef:
                    AssemblyRefTable = new AssemblyRefTable(numRows);
                    break;

                case TableTag.AssemblyRefOS:
                    AssemblyRefOSTable = new AssemblyRefOSTable(numRows);
                    break;

                case TableTag.AssemblyRefProcessor:
                    AssemblyRefProcessorTable = new AssemblyRefProcessorTable(numRows);
                    break;

                case TableTag.ClassLayout:
                    ClassLayoutTable = new ClassLayoutTable(numRows);
                    break;

                case TableTag.Constant:
                    ConstantTable = new ConstantTable(numRows);
                    break;

                case TableTag.CustomAttribute:
                    CustomAttributeTable = new CustomAttributeTable(numRows);
                    break;

                case TableTag.DeclSecurity:
                    DeclSecurityTable = new DeclSecurityTable(numRows);
                    break;

                case TableTag.EventMap:
                    EventMapTable = new EventMapTable(numRows);
                    break;

                case TableTag.Event:
                    EventTable = new EventTable(numRows);
                    break;

                case TableTag.ExportedType:
                    ExportedTypeTable = new ExportedTypeTable(numRows);
                    break;

                case TableTag.Field:
                    FieldTable = new FieldTable(numRows);
                    break;

                case TableTag.FieldLayout:
                    FieldLayoutTable = new FieldLayoutTable(numRows);
                    break;

                case TableTag.FieldMarshal:
                    FieldMarshalTable = new FieldMarshalTable(numRows);
                    break;

                case TableTag.FieldRVA:
                    FieldRVATable = new FieldRVATable(numRows);
                    break;

                case TableTag.File:
                    FileTable = new FileTable(numRows);
                    break;

                case TableTag.GenericParam:
                    GenericParamTable = new GenericParamTable(numRows);
                    break;

                case TableTag.GenericParamConstraint:
                    GenericParamConstraintTable = new GenericParamConstraintTable(numRows);
                    break;

                case TableTag.ImplMap:
                    ImplMapTable = new ImplMapTable(numRows);
                    break;

                case TableTag.InterfaceImpl:
                    InterfaceImplTable = new InterfaceImplTable(numRows);
                    break;

                case TableTag.ManifestResource:
                    ManifestResourceTable = new ManifestResourceTable(numRows);
                    break;

                case TableTag.MemberRef:
                    MemberRefTable = new MemberRefTable(numRows);
                    break;

                case TableTag.MethodDef:
                    MethodDefTable = new MethodDefTable(numRows);
                    break;

                case TableTag.MethodImpl:
                    MethodImplTable = new MethodImplTable(numRows);
                    break;

                case TableTag.MethodSemantics:
                    MethodSemanticsTable = new MethodSemanticsTable(numRows);
                    break;

                case TableTag.MethodSpec:
                    MethodSpecTable = new MethodSpecTable(numRows);
                    break;

                case TableTag.ModuleRef:
                    ModuleRefTable = new ModuleRefTable(numRows);
                    break;

                case TableTag.NestedClass:
                    NestedClassTable = new NestedClassTable(numRows);
                    break;

                case TableTag.Param:
                    ParamTable = new ParamTable(numRows);
                    break;

                case TableTag.Property:
                    PropertyTable = new PropertyTable(numRows);
                    break;

                case TableTag.PropertyMap:
                    PropertyMapTable = new PropertyMapTable(numRows);
                    break;

                case TableTag.StandAloneSig:
                    StandAloneSigTable = new StandAloneSigTable(numRows);
                    break;

                case TableTag.TypeDef:
                    TypeDefTable = new TypeDefTable(numRows);
                    break;

                case TableTag.TypeRef:
                    TypeRefTable = new TypeRefTable(numRows);
                    break;

                case TableTag.TypeSpec:
                    TypeSpecTable = new TypeSpecTable(numRows);
                    break;

                default:
                    // Ignore
                    break;
                }
            }

            DetermineIndexCodingSizes();

            for (var i = 0; i < 64; i++)
            {
                if (valid[i])
                {
                    switch ((TableTag)i)
                    {
                    case TableTag.Module:
                        ModuleTable.Read(ctxt, reader);
                        break;

                    case TableTag.Assembly:
                        AssemblyTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyOS:
                        AssemblyOSTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyProcessor:
                        AssemblyProcessorTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyRef:
                        AssemblyRefTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyRefOS:
                        AssemblyRefOSTable.Read(ctxt, reader);
                        break;

                    case TableTag.AssemblyRefProcessor:
                        AssemblyRefProcessorTable.Read(ctxt, reader);
                        break;

                    case TableTag.ClassLayout:
                        ClassLayoutTable.Read(ctxt, reader);
                        break;

                    case TableTag.Constant:
                        ConstantTable.Read(ctxt, reader);
                        break;

                    case TableTag.CustomAttribute:
                        CustomAttributeTable.Read(ctxt, reader);
                        break;

                    case TableTag.DeclSecurity:
                        DeclSecurityTable.Read(ctxt, reader);
                        break;

                    case TableTag.EventMap:
                        EventMapTable.Read(ctxt, reader);
                        break;

                    case TableTag.Event:
                        EventTable.Read(ctxt, reader);
                        break;

                    case TableTag.ExportedType:
                        ExportedTypeTable.Read(ctxt, reader);
                        break;

                    case TableTag.Field:
                        FieldTable.Read(ctxt, reader);
                        break;

                    case TableTag.FieldLayout:
                        FieldLayoutTable.Read(ctxt, reader);
                        break;

                    case TableTag.FieldMarshal:
                        FieldMarshalTable.Read(ctxt, reader);
                        break;

                    case TableTag.FieldRVA:
                        FieldRVATable.Read(ctxt, reader);
                        break;

                    case TableTag.File:
                        FileTable.Read(ctxt, reader);
                        break;

                    case TableTag.GenericParam:
                        GenericParamTable.Read(ctxt, reader);
                        break;

                    case TableTag.GenericParamConstraint:
                        GenericParamConstraintTable.Read(ctxt, reader);
                        break;

                    case TableTag.ImplMap:
                        ImplMapTable.Read(ctxt, reader);
                        break;

                    case TableTag.InterfaceImpl:
                        InterfaceImplTable.Read(ctxt, reader);
                        break;

                    case TableTag.ManifestResource:
                        ManifestResourceTable.Read(ctxt, reader);
                        break;

                    case TableTag.MemberRef:
                        MemberRefTable.Read(ctxt, reader);
                        break;

                    case TableTag.MethodDef:
                        MethodDefTable.Read(ctxt, reader);
                        break;

                    case TableTag.MethodImpl:
                        MethodImplTable.Read(ctxt, reader);
                        break;

                    case TableTag.MethodSemantics:
                        MethodSemanticsTable.Read(ctxt, reader);
                        break;

                    case TableTag.MethodSpec:
                        MethodSpecTable.Read(ctxt, reader);
                        break;

                    case TableTag.ModuleRef:
                        ModuleRefTable.Read(ctxt, reader);
                        break;

                    case TableTag.NestedClass:
                        NestedClassTable.Read(ctxt, reader);
                        break;

                    case TableTag.Param:
                        ParamTable.Read(ctxt, reader);
                        break;

                    case TableTag.Property:
                        PropertyTable.Read(ctxt, reader);
                        break;

                    case TableTag.PropertyMap:
                        PropertyMapTable.Read(ctxt, reader);
                        break;

                    case TableTag.StandAloneSig:
                        StandAloneSigTable.Read(ctxt, reader);
                        break;

                    case TableTag.TypeDef:
                        TypeDefTable.Read(ctxt, reader);
                        break;

                    case TableTag.TypeRef:
                        TypeRefTable.Read(ctxt, reader);
                        break;

                    case TableTag.TypeSpec:
                        TypeSpecTable.Read(ctxt, reader);
                        break;

                    default:
                        throw new PEException("unexpected table tag in MetadataTable body");
                    }
                }
            }

            ModuleTable.ResolveIndexes(ctxt);
            TypeRefTable.ResolveIndexes(ctxt);
            TypeDefTable.ResolveIndexes(ctxt);
            FieldTable.ResolveIndexes(ctxt);
            MethodDefTable.ResolveIndexes(ctxt);
            ParamTable.ResolveIndexes(ctxt);
            InterfaceImplTable.ResolveIndexes(ctxt);
            MemberRefTable.ResolveIndexes(ctxt);
            ConstantTable.ResolveIndexes(ctxt);
            CustomAttributeTable.ResolveIndexes(ctxt);
            FieldMarshalTable.ResolveIndexes(ctxt);
            DeclSecurityTable.ResolveIndexes(ctxt);
            ClassLayoutTable.ResolveIndexes(ctxt);
            FieldLayoutTable.ResolveIndexes(ctxt);
            StandAloneSigTable.ResolveIndexes(ctxt);
            EventMapTable.ResolveIndexes(ctxt);
            EventTable.ResolveIndexes(ctxt);
            PropertyMapTable.ResolveIndexes(ctxt);
            PropertyTable.ResolveIndexes(ctxt);
            MethodSemanticsTable.ResolveIndexes(ctxt);
            MethodImplTable.ResolveIndexes(ctxt);
            ModuleRefTable.ResolveIndexes(ctxt);
            TypeSpecTable.ResolveIndexes(ctxt);
            ImplMapTable.ResolveIndexes(ctxt);
            FieldRVATable.ResolveIndexes(ctxt);
            AssemblyTable.ResolveIndexes(ctxt);
            AssemblyProcessorTable.ResolveIndexes(ctxt);
            AssemblyOSTable.ResolveIndexes(ctxt);
            AssemblyRefTable.ResolveIndexes(ctxt);
            AssemblyRefProcessorTable.ResolveIndexes(ctxt);
            AssemblyRefOSTable.ResolveIndexes(ctxt);
            FileTable.ResolveIndexes(ctxt);
            ExportedTypeTable.ResolveIndexes(ctxt);
            ManifestResourceTable.ResolveIndexes(ctxt);
            NestedClassTable.ResolveIndexes(ctxt);
            GenericParamTable.ResolveIndexes(ctxt);
            MethodSpecTable.ResolveIndexes(ctxt);
            GenericParamConstraintTable.ResolveIndexes(ctxt);
        }
Ejemplo n.º 25
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);
            }
        }
Ejemplo n.º 26
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void loadWorkgroups(org.hibernate.Session paramSession, String paramString) throws Exception
        private void loadWorkgroups(Session paramSession, string paramString)
        {
            Console.WriteLine("\n\n\n\nLoading Workgroups");
            POIFSFileSystem pOIFSFileSystem = new POIFSFileSystem(new FileStream(paramString, FileMode.Open, FileAccess.Read));
            HSSFWorkbook    hSSFWorkbook    = new HSSFWorkbook(pOIFSFileSystem);

            this.o_evaluator = hSSFWorkbook.CreationHelper.createFormulaEvaluator();
            HSSFSheet hSSFSheet = hSSFWorkbook.getSheetAt(4);
            int       i         = getRealNumberOfRows(hSSFSheet);
            int       j;

            for (j = 1; j < i; j++)
            {
                if (j % this.rowsToCommit == 0)
                {
                    paramSession.Transaction.commit();
                    paramSession.Transaction.begin();
                    Console.WriteLine("Processing next " + this.rowsToCommit + "...");
                }
                HSSFRow hSSFRow     = hSSFSheet.getRow(j);
                string  str1        = notNull(hSSFRow.getCell(0));
                string  str2        = notNull(hSSFRow.getCell(1));
                string  str3        = toCostOSUoM(notNull(hSSFRow.getCell(2)));
                decimal bigDecimal1 = notNullBigDecimal(hSSFRow.getCell(3), 0.0D);
                decimal bigDecimal2 = notNullBigDecimal(hSSFRow.getCell(4), 1.0D);
                string  str4        = notNull(hSSFRow.getCell(5));
                string  str5        = notNull(hSSFRow.getCell(8));
                string  str6        = "";
                if (str5.Length >= 2 && !StringUtils.isBlank(str5))
                {
                    str6 = "0" + str5.Substring(0, 2) + "00";
                }
                if (acceptProject(str1))
                {
                    AssemblyTable assemblyTable = BlankResourceInitializer.createBlankAssembly(null);
                    assemblyTable.ItemCode                 = str2;
                    assemblyTable.Title                    = str4;
                    assemblyTable.Unit                     = str3;
                    assemblyTable.Quantity                 = bigDecimal1;
                    assemblyTable.Project                  = str1;
                    assemblyTable.Currency                 = "USD";
                    assemblyTable.ActivityBased            = false;
                    assemblyTable.AssemblyChildSet         = new HashSet <object>();
                    assemblyTable.AssemblyEquipmentSet     = new HashSet <object>();
                    assemblyTable.AssemblySubcontractorSet = new HashSet <object>();
                    assemblyTable.AssemblyLaborSet         = new HashSet <object>();
                    assemblyTable.AssemblyMaterialSet      = new HashSet <object>();
                    assemblyTable.AssemblyConsumableSet    = new HashSet <object>();
                    assemblyTable.EditorId                 = "ccc";
                    assemblyTable.CreateUserId             = "ccc";
                    assemblyTable.LastUpdate               = this.lastUpdate;
                    assemblyTable.CreateDate               = this.lastUpdate;
                    assemblyTable.CustomText1              = "Workgroup";
                    if (this.csi95Map.ContainsKey(str6))
                    {
                        assemblyTable.GroupCode = (string)this.csi95Map[str6];
                    }
                    else if (!StringUtils.isBlank(str6))
                    {
                        Console.WriteLine("CSI Not Found: " + str6);
                    }
                    long?long     = (long?)paramSession.save(assemblyTable);
                    assemblyTable = (AssemblyTable)paramSession.load(assemblyTable.GetType(), long);
                    this.operationsMap[str1 + str2] = assemblyTable;
                }
            }
            hSSFSheet = hSSFWorkbook.getSheetAt(3);
            i         = getRealNumberOfRows(hSSFSheet);
            for (j = 1; j < i; j++)
            {
                if (j % this.rowsToCommit == 0)
                {
                    paramSession.Transaction.commit();
                    paramSession.Transaction.begin();
                    Console.WriteLine("Processing next " + this.rowsToCommit + " - " + j + "/" + i + "...");
                }
                HSSFRow       hSSFRow       = hSSFSheet.getRow(j);
                string        str1          = notNull(hSSFRow.getCell(0));
                string        str2          = notNull(hSSFRow.getCell(1));
                string        str3          = notNull(hSSFRow.getCell(2));
                string        str4          = notNull(hSSFRow.getCell(3));
                string        str5          = notNull(hSSFRow.getCell(4));
                decimal       bigDecimal    = notNullBigDecimal(hSSFRow.getCell(5), 0.0D);
                AssemblyTable assemblyTable = (AssemblyTable)this.operationsMap[str1 + str2];
                ResourceTable resourceTable = (ResourceTable)this.resourcesMap[str1 + str3];
                if (assemblyTable == null)
                {
                    Console.Error.WriteLine("Workgroup not found: " + str2 + ", project: " + str1);
                    continue;
                }
                if (resourceTable == null)
                {
                    resourceTable = (ResourceTable)this.operationsMap[str1 + str3];
                    if (resourceTable == null)
                    {
                        Console.Error.WriteLine("Operation or Resource not found: " + str3 + ", project: " + str1);
                        continue;
                    }
                }
                if (BigDecimalMath.cmp(BigDecimalMath.ZERO, assemblyTable.Quantity) == 0)
                {
                    Console.WriteLine("Divide by zero error on workgroup: " + str2 + ", operation or resource: " + str3 + ", project: " + str1);
                    bigDecimal = BigDecimalMath.ONE;
                }
                else
                {
                    bigDecimal = BigDecimalMath.div(bigDecimal, assemblyTable.Quantity);
                }
                assignToResource(paramSession, assemblyTable, resourceTable, bigDecimal);
                paramSession.flush();
                assemblyTable = (AssemblyTable)paramSession.load(assemblyTable.GetType(), assemblyTable.Id);
                assemblyTable.recalculate();
                paramSession.update(assemblyTable);
                continue;
            }
        }
Ejemplo n.º 27
0
        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);
        }
        //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        //ORIGINAL LINE: private void loadLineItems(org.hibernate.Session paramSession, String paramString) throws Exception
        private void loadLineItems(Session paramSession, string paramString)
        {
            POIFSFileSystem pOIFSFileSystem = new POIFSFileSystem(new FileStream(paramString, FileMode.Open, FileAccess.Read));
            HSSFWorkbook    hSSFWorkbook    = new HSSFWorkbook(pOIFSFileSystem);

            this.o_evaluator = hSSFWorkbook.CreationHelper.createFormulaEvaluator();
            HSSFSheet hSSFSheet = hSSFWorkbook.getSheetAt(0);

            Console.WriteLine("Loading Line Items...");
            int            i              = getRealNumberOfRows(hSSFSheet);
            string         str1           = null;
            string         str2           = null;
            GroupCodeTable groupCodeTable = null;
            string         str3           = null;

            for (int j = 1; j < i; j++)
            {
                if (j % this.rowsToCommit == 0)
                {
                    paramSession.Transaction.commit();
                    paramSession.Transaction.begin();
                    Console.WriteLine("Processing next 500...");
                }
                HSSFRow hSSFRow = hSSFSheet.getRow(j);
                string  str4    = notNull(hSSFRow.getCell(0));
                string  str5    = notNull(hSSFRow.getCell(1));
                if (!str4.StartsWith("Group", StringComparison.Ordinal))
                {
                    string str6 = notNull(hSSFRow.getCell(2));
                    string str7 = notNull(hSSFRow.getCell(3));
                    if (!StringUtils.isNullOrBlank(str4))
                    {
                        Console.WriteLine(str6 + " - " + str7);
                        str1 = str4;
                        str1 = StringUtils.replaceAll(str1, ".", "");
                        str1 = StringUtils.replaceAll(str1, "-", "");
                        str1 = str1.Substring(0, 4);
                        str3 = str1;
                        GroupCode groupCode = addGroupCode1(str1, str7);
                        this.dprPhaseMap[str6] = groupCode;
                        paramSession.save(groupCode);
                    }
                    else if (!StringUtils.isNullOrBlank(str5))
                    {
                        Console.WriteLine(str6 + " - " + str7);
                        str2 = str5;
                        str2 = StringUtils.replaceAll(str2, ".", "");
                        str2 = StringUtils.replaceAll(str2, "-", "");
                        str1 = str2.Substring(0, 4);
                        str2 = str2.Substring(4, str2.Length - 4);
                        GroupCode groupCode = addGroupCode1(str3 + "." + str2, str7);
                        this.dprPhaseMap[str6] = groupCode;
                        long?long                  = (long?)paramSession.save(groupCode);
                        groupCodeTable             = (GroupCodeTable)groupCode;
                        groupCodeTable.GroupCodeId = long;
                    }
                    else
                    {
                        decimal bigDecimal1  = notNullBigDecimal(hSSFRow.getCell(4), 1.0D);
                        string  str8         = toCorrectUnit(notNull(hSSFRow.getCell(5)));
                        string  str9         = notNull(hSSFRow.getCell(6));
                        decimal bigDecimal2  = notNullBigDecimal(hSSFRow.getCell(7), 0.0D);
                        string  str10        = toCorrectUnit(notNull(hSSFRow.getCell(8)));
                        decimal bigDecimal3  = notNullBigDecimal(hSSFRow.getCell(9), 0.0D);
                        string  str11        = toCorrectUnit(notNull(hSSFRow.getCell(10)));
                        decimal bigDecimal4  = notNullBigDecimal(hSSFRow.getCell(11), 0.0D);
                        string  str12        = notNull(hSSFRow.getCell(12)).ToUpper();
                        decimal bigDecimal5  = notNullBigDecimal(hSSFRow.getCell(13), 0.0D);
                        string  str13        = toCorrectUnit(notNull(hSSFRow.getCell(14)));
                        decimal bigDecimal6  = notNullBigDecimal(hSSFRow.getCell(15), 0.0D);
                        decimal bigDecimal7  = notNullBigDecimal(hSSFRow.getCell(16), 1.0D);
                        string  str14        = toCorrectUnit(notNull(hSSFRow.getCell(17)));
                        decimal bigDecimal8  = notNullBigDecimal(hSSFRow.getCell(18), 1.0D);
                        string  str15        = toCorrectUnit(notNull(hSSFRow.getCell(19)));
                        decimal bigDecimal9  = notNullBigDecimal(hSSFRow.getCell(20), 0.0D);
                        string  str16        = toCorrectUnit(notNull(hSSFRow.getCell(21)));
                        decimal bigDecimal10 = notNullBigDecimal(hSSFRow.getCell(22), 0.0D);
                        decimal bigDecimal11 = notNullBigDecimal(hSSFRow.getCell(23), 0.0D);
                        string  str17        = toCorrectUnit(notNull(hSSFRow.getCell(24)));
                        decimal bigDecimal12 = notNullBigDecimal(hSSFRow.getCell(25), 0.0D);
                        string  str18        = toCorrectUnit(notNull(hSSFRow.getCell(26)));
                        decimal bigDecimal13 = notNullBigDecimal(hSSFRow.getCell(27), 0.0D);
                        string  str19        = toCorrectUnit(notNull(hSSFRow.getCell(28)));
                        decimal bigDecimal14 = notNullBigDecimal(hSSFRow.getCell(29), 0.0D);
                        string  str20        = toCorrectUnit(notNull(hSSFRow.getCell(30)));
                        decimal bigDecimal15 = notNullBigDecimal(hSSFRow.getCell(31), 0.0D);
                        decimal bigDecimal16 = notNullBigDecimal(hSSFRow.getCell(32), 1.0D);
                        string  str21        = toCorrectUnit(notNull(hSSFRow.getCell(33)));
                        decimal bigDecimal17 = notNullBigDecimal(hSSFRow.getCell(34), 0.0D);
                        string  str22        = toCorrectUnit(notNull(hSSFRow.getCell(35)));
                        decimal bigDecimal18 = notNullBigDecimal(hSSFRow.getCell(36), 1.0D);
                        string  str23        = toCorrectUnit(notNull(hSSFRow.getCell(37)));
                        decimal bigDecimal19 = notNullBigDecimal(hSSFRow.getCell(38), 0.0D);
                        string  str24        = toCorrectUnit(notNull(hSSFRow.getCell(39)));
                        decimal bigDecimal20 = notNullBigDecimal(hSSFRow.getCell(40), 0.0D);
                        decimal bigDecimal21 = notNullBigDecimal(hSSFRow.getCell(41), 0.0D);
                        string  str25        = toCorrectUnit(notNull(hSSFRow.getCell(42)));
                        decimal bigDecimal22 = notNullBigDecimal(hSSFRow.getCell(43), 0.0D);
                        string  str26        = toCorrectUnit(notNull(hSSFRow.getCell(44)));
                        decimal bigDecimal23 = notNullBigDecimal(hSSFRow.getCell(45), 0.0D);
                        string  str27        = toCorrectUnit(notNull(hSSFRow.getCell(46)));
                        decimal bigDecimal24 = notNullBigDecimal(hSSFRow.getCell(47), 0.0D);
                        string  str28        = toCorrectUnit(notNull(hSSFRow.getCell(48)));
                        decimal bigDecimal25 = notNullBigDecimal(hSSFRow.getCell(49), 0.0D);
                        decimal bigDecimal26 = notNullBigDecimal(hSSFRow.getCell(50), 0.0D);
                        string  str29        = toCorrectUnit(notNull(hSSFRow.getCell(51)));
                        decimal bigDecimal27 = notNullBigDecimal(hSSFRow.getCell(52), 0.0D);
                        Console.WriteLine(str6 + " - " + str7 + " " + str8 + " " + bigDecimal1 + " " + str9 + " " + bigDecimal27);
                        string        str30         = notNull(hSSFRow.getCell(53));
                        string        str31         = notNull(hSSFRow.getCell(54));
                        string        str32         = notNull(hSSFRow.getCell(55));
                        string        str33         = notNull(hSSFRow.getCell(56));
                        string        str34         = notNull(hSSFRow.getCell(57));
                        string        str35         = notNull(hSSFRow.getCell(58));
                        string        str36         = notNull(hSSFRow.getCell(59));
                        AssemblyTable assemblyTable = BlankResourceInitializer.createBlankAssembly(null);
                        assemblyTable.ItemCode = str6;
                        assemblyTable.PublishedRevisionCode = str6;
                        assemblyTable.Title        = str7;
                        assemblyTable.Unit         = str8;
                        assemblyTable.Currency     = "USD";
                        assemblyTable.Country      = "US";
                        assemblyTable.Quantity     = bigDecimal1;
                        assemblyTable.LastUpdate   = this.lastUpdate;
                        assemblyTable.Description  = "";
                        assemblyTable.LastUpdate   = this.lastUpdate;
                        assemblyTable.CreateDate   = this.lastUpdate;
                        assemblyTable.CreateUserId = "admin";
                        assemblyTable.EditorId     = "admin";
                        if (groupCodeTable != null)
                        {
                            assemblyTable.GroupCode = groupCodeTable.ToString();
                        }
                        assemblyTable.AssemblyEquipmentSet     = new HashSet <object>();
                        assemblyTable.AssemblySubcontractorSet = new HashSet <object>();
                        assemblyTable.AssemblyLaborSet         = new HashSet <object>();
                        assemblyTable.AssemblyMaterialSet      = new HashSet <object>();
                        assemblyTable.AssemblyConsumableSet    = new HashSet <object>();
                        long?long     = (long?)paramSession.save(assemblyTable.clone());
                        assemblyTable = (AssemblyTable)paramSession.load(typeof(AssemblyTable), long);
                        if (!StringUtils.isNullOrBlank(str9))
                        {
                            LaborTable laborTable = (LaborTable)this.laborCache[str9];
                            if (laborTable == null)
                            {
                                laborTable              = BlankResourceInitializer.createBlankLabor(null);
                                laborTable.Title        = str9;
                                laborTable.Unit         = "HOUR";
                                laborTable.Rate         = bigDecimal5;
                                laborTable.IKA          = BigDecimalMath.ZERO;
                                laborTable.Currency     = "USD";
                                laborTable.Country      = "US";
                                laborTable.LastUpdate   = this.lastUpdate;
                                laborTable.CreateDate   = this.lastUpdate;
                                laborTable.CreateUserId = "admin";
                                laborTable.EditorId     = "admin";
                                long                  = (long?)paramSession.save(laborTable.clone());
                                laborTable.Id         = long;
                                this.laborCache[str9] = laborTable;
                            }
                            else
                            {
                                laborTable = (LaborTable)paramSession.load(typeof(LaborTable), laborTable.Id);
                            }
                            if (BigDecimalMath.cmp(bigDecimal4, BigDecimalMath.ZERO) <= 0 && BigDecimalMath.cmp(bigDecimal2, BigDecimalMath.ZERO) > 0)
                            {
                                bigDecimal4 = BigDecimalMath.div(BigDecimalMath.ONE, bigDecimal2);
                            }
                            laborTable = (LaborTable)paramSession.load(typeof(LaborTable), laborTable.Id);
                            AssemblyLaborTable assemblyLaborTable = new AssemblyLaborTable();
                            assemblyLaborTable.Factor1                     = BigDecimalMath.ONE;
                            assemblyLaborTable.Factor2                     = BigDecimalMath.ONE;
                            assemblyLaborTable.Factor3                     = BigDecimalMath.ONE;
                            assemblyLaborTable.ExchangeRate                = BigDecimalMath.ONE;
                            assemblyLaborTable.QuantityPerUnit             = bigDecimal4;
                            assemblyLaborTable.QuantityPerUnitFormula      = "";
                            assemblyLaborTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
                            assemblyLaborTable.LocalFactor                 = BigDecimalMath.ONE;
                            assemblyLaborTable.LocalCountry                = "";
                            assemblyLaborTable.LocalStateProvince          = "";
                            assemblyLaborTable.LastUpdate                  = assemblyTable.LastUpdate;
                            long = (long?)paramSession.save(assemblyLaborTable);
                            assemblyLaborTable.AssemblyLaborId = long;
                            assemblyTable.AssemblyLaborSet.Add(assemblyLaborTable);
                            paramSession.saveOrUpdate(assemblyTable);
                            assemblyLaborTable.LaborTable    = laborTable;
                            assemblyLaborTable.AssemblyTable = assemblyTable;
                            paramSession.saveOrUpdate(assemblyLaborTable);
                        }
                        if (bigDecimal14 != null && BigDecimalMath.cmp(bigDecimal14, BigDecimalMath.ZERO) > 0)
                        {
                            if (bigDecimal11 != null && BigDecimalMath.cmp(bigDecimal11, BigDecimalMath.ZERO) > 0)
                            {
                                decimal bigDecimal = bigDecimal13;
                                if (BigDecimalMath.cmp(bigDecimal, BigDecimalMath.ZERO) <= 0 && BigDecimalMath.cmp(bigDecimal11, BigDecimalMath.ZERO) > 0)
                                {
                                    bigDecimal = BigDecimalMath.div(BigDecimalMath.ONE, bigDecimal11);
                                }
                                if (str8.Equals("DAY"))
                                {
                                    bigDecimal14 = BigDecimalMath.mult(bigDecimal14, BigDecimalMath.div(BigDecimalMath.ONE, HOURS_OF_DAY));
                                }
                                else if (str8.Equals("WEEK") || str8.Equals("WK"))
                                {
                                    bigDecimal14 = BigDecimalMath.mult(bigDecimal14, BigDecimalMath.div(BigDecimalMath.ONE, HOURS_OF_WEEK));
                                }
                                else if (str8.Equals("MONTH") || str8.Equals("MO"))
                                {
                                    bigDecimal14 = BigDecimalMath.mult(bigDecimal14, BigDecimalMath.div(BigDecimalMath.ONE, HOURS_OF_MONTH));
                                }
                                if (str20.Equals("WEEK"))
                                {
                                    bigDecimal = BigDecimalMath.mult(bigDecimal, HOURS_OF_WEEK);
                                }
                                else if (str20.Equals("MO") || str20.Equals("MONTH"))
                                {
                                    bigDecimal = BigDecimalMath.mult(bigDecimal, HOURS_OF_MONTH);
                                }
                                else if (str20.Equals("DAY"))
                                {
                                    bigDecimal = BigDecimalMath.mult(bigDecimal, HOURS_OF_DAY);
                                }
                                EquipmentTable equipmentTable = BlankResourceInitializer.createBlankEquipment(assemblyTable);
                                equipmentTable.Title           = assemblyTable.Title;
                                equipmentTable.Unit            = str20;
                                equipmentTable.ReservationRate = bigDecimal14;
                                equipmentTable.Currency        = "USD";
                                equipmentTable.EditorId        = "admin";
                                equipmentTable.Country         = "US";
                                equipmentTable.LastUpdate      = this.lastUpdate;
                                equipmentTable.CreateDate      = this.lastUpdate;
                                equipmentTable.CreateUserId    = "admin";
                                equipmentTable.EditorId        = "admin";
                                long = (long?)paramSession.save(equipmentTable.clone());
                                equipmentTable.Id = long;
                                equipmentTable    = (EquipmentTable)paramSession.load(typeof(EquipmentTable), long);
                                AssemblyEquipmentTable assemblyEquipmentTable = new AssemblyEquipmentTable();
                                assemblyEquipmentTable.Factor1                     = BigDecimalMath.ONE;
                                assemblyEquipmentTable.Factor2                     = BigDecimalMath.ONE;
                                assemblyEquipmentTable.Factor3                     = BigDecimalMath.ONE;
                                assemblyEquipmentTable.ExchangeRate                = BigDecimalMath.ONE;
                                assemblyEquipmentTable.QuantityPerUnit             = bigDecimal;
                                assemblyEquipmentTable.QuantityPerUnitFormula      = "";
                                assemblyEquipmentTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
                                assemblyEquipmentTable.LocalFactor                 = BigDecimalMath.ONE;
                                assemblyEquipmentTable.LocalCountry                = "";
                                assemblyEquipmentTable.LocalStateProvince          = "";
                                assemblyEquipmentTable.EnergyPrice                 = BigDecimalMath.ZERO;
                                assemblyEquipmentTable.FuelRate                    = BigDecimalMath.ZERO;
                                assemblyEquipmentTable.LastUpdate                  = assemblyTable.LastUpdate;
                                long = (long?)paramSession.save(assemblyEquipmentTable);
                                assemblyEquipmentTable.AssemblyEquipmentId = long;
                                assemblyTable.AssemblyEquipmentSet.Add(assemblyEquipmentTable);
                                paramSession.saveOrUpdate(assemblyTable);
                                assemblyEquipmentTable.EquipmentTable = equipmentTable;
                                assemblyEquipmentTable.AssemblyTable  = assemblyTable;
                                paramSession.saveOrUpdate(assemblyEquipmentTable);
                            }
                            else
                            {
                                createSubcontractor(paramSession, assemblyTable, "Equipment: " + assemblyTable.Title, bigDecimal14, str20, bigDecimal13);
                            }
                        }
                        if (bigDecimal9 != null && BigDecimalMath.cmp(bigDecimal9, BigDecimalMath.ZERO) > 0)
                        {
                            MaterialTable materialTable = BlankResourceInitializer.createBlankMaterial(assemblyTable);
                            materialTable.Title        = assemblyTable.Title;
                            materialTable.Unit         = str16;
                            materialTable.Rate         = bigDecimal9;
                            materialTable.Currency     = "USD";
                            materialTable.EditorId     = "admin";
                            materialTable.Country      = "US";
                            materialTable.LastUpdate   = this.lastUpdate;
                            materialTable.CreateDate   = this.lastUpdate;
                            materialTable.CreateUserId = "admin";
                            materialTable.EditorId     = "admin";
                            long             = (long?)paramSession.save(materialTable.clone());
                            materialTable.Id = long;
                            materialTable    = (MaterialTable)paramSession.load(typeof(MaterialTable), long);
                            AssemblyMaterialTable assemblyMaterialTable = new AssemblyMaterialTable();
                            assemblyMaterialTable.Factor1                     = BigDecimalMath.ONE;
                            assemblyMaterialTable.Factor2                     = BigDecimalMath.ONE;
                            assemblyMaterialTable.Factor3                     = BigDecimalMath.ONE;
                            assemblyMaterialTable.ExchangeRate                = BigDecimalMath.ONE;
                            assemblyMaterialTable.QuantityPerUnit             = bigDecimal8;
                            assemblyMaterialTable.QuantityPerUnitFormula      = "";
                            assemblyMaterialTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
                            assemblyMaterialTable.LocalFactor                 = BigDecimalMath.ONE;
                            assemblyMaterialTable.LocalCountry                = "";
                            assemblyMaterialTable.LocalStateProvince          = "";
                            assemblyMaterialTable.LastUpdate                  = assemblyTable.LastUpdate;
                            long = (long?)paramSession.save(assemblyMaterialTable);
                            assemblyMaterialTable.AssemblyMaterialId = long;
                            assemblyTable.AssemblyMaterialSet.Add(assemblyMaterialTable);
                            paramSession.saveOrUpdate(assemblyTable);
                            assemblyMaterialTable.MaterialTable = materialTable;
                            assemblyMaterialTable.AssemblyTable = assemblyTable;
                            paramSession.saveOrUpdate(assemblyMaterialTable);
                        }
                        if (bigDecimal24 != null && BigDecimalMath.cmp(bigDecimal24, BigDecimalMath.ZERO) > 0)
                        {
                            createSubcontractor(paramSession, assemblyTable, assemblyTable.Title, bigDecimal24, str28, bigDecimal23);
                        }
                        if (bigDecimal19 != null && BigDecimalMath.cmp(bigDecimal19, BigDecimalMath.ZERO) > 0)
                        {
                            ConsumableTable consumableTable = BlankResourceInitializer.createBlankConsumable(assemblyTable);
                            consumableTable.Title        = assemblyTable.Title;
                            consumableTable.Unit         = str24;
                            consumableTable.Rate         = bigDecimal19;
                            consumableTable.Currency     = "USD";
                            consumableTable.EditorId     = "admin";
                            consumableTable.Country      = "US";
                            consumableTable.LastUpdate   = this.lastUpdate;
                            consumableTable.CreateDate   = this.lastUpdate;
                            consumableTable.CreateUserId = "admin";
                            consumableTable.EditorId     = "admin";
                            long = (long?)paramSession.save(consumableTable.clone());
                            consumableTable.Id = long;
                            consumableTable    = (ConsumableTable)paramSession.load(typeof(ConsumableTable), long);
                            AssemblyConsumableTable assemblyConsumableTable = new AssemblyConsumableTable();
                            assemblyConsumableTable.Factor1                     = BigDecimalMath.ONE;
                            assemblyConsumableTable.Factor2                     = BigDecimalMath.ONE;
                            assemblyConsumableTable.Factor3                     = BigDecimalMath.ONE;
                            assemblyConsumableTable.ExchangeRate                = BigDecimalMath.ONE;
                            assemblyConsumableTable.QuantityPerUnit             = bigDecimal18;
                            assemblyConsumableTable.QuantityPerUnitFormula      = "";
                            assemblyConsumableTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
                            assemblyConsumableTable.LocalFactor                 = BigDecimalMath.ONE;
                            assemblyConsumableTable.LocalCountry                = "";
                            assemblyConsumableTable.LocalStateProvince          = "";
                            assemblyConsumableTable.LastUpdate                  = assemblyTable.LastUpdate;
                            long = (long?)paramSession.save(assemblyConsumableTable);
                            assemblyConsumableTable.AssemblyConsumableId = long;
                            assemblyTable.AssemblyConsumableSet.Add(assemblyConsumableTable);
                            paramSession.saveOrUpdate(assemblyTable);
                            assemblyConsumableTable.ConsumableTable = consumableTable;
                            assemblyConsumableTable.AssemblyTable   = assemblyTable;
                            paramSession.saveOrUpdate(assemblyConsumableTable);
                        }
                        if (DatabaseDBUtil.LocalCommunication)
                        {
                            assemblyTable.recalculate();
                            paramSession.saveOrUpdate(assemblyTable);
                        }
                    }
                }
            }
            if (hSSFWorkbook != null)
            {
                hSSFWorkbook.close();
            }
        }
 public LineItemEvaluationContext(AssemblyTable paramAssemblyTable)
 {
     this.assemblyTable = paramAssemblyTable;
     this.boqItemTable  = BlankResourceInitializer.createBlankBoqItem(null, null, null, false);
     reloadVariables();
 }
Ejemplo n.º 30
0
        private void assignToResource(Session paramSession, AssemblyTable paramAssemblyTable, ResourceTable paramResourceTable, decimal paramBigDecimal)
        {
            AssemblyConsumableTable assemblyConsumableTable;

            if (paramResourceTable is AssemblyTable)
            {
                assemblyConsumableTable = new AssemblyAssemblyTable();
                ((AssemblyAssemblyTable)assemblyConsumableTable).LastUpdate = this.lastUpdate;
            }
            else if (paramResourceTable is EquipmentTable)
            {
                assemblyConsumableTable = new AssemblyEquipmentTable();
                ((AssemblyEquipmentTable)assemblyConsumableTable).LastUpdate = this.lastUpdate;
            }
            else if (paramResourceTable is SubcontractorTable)
            {
                assemblyConsumableTable = new AssemblySubcontractorTable();
                ((AssemblySubcontractorTable)assemblyConsumableTable).LastUpdate = this.lastUpdate;
            }
            else if (paramResourceTable is LaborTable)
            {
                assemblyConsumableTable = new AssemblyLaborTable();
                ((AssemblyLaborTable)assemblyConsumableTable).LastUpdate = this.lastUpdate;
            }
            else if (paramResourceTable is MaterialTable)
            {
                assemblyConsumableTable = new AssemblyMaterialTable();
                ((AssemblyMaterialTable)assemblyConsumableTable).LastUpdate = this.lastUpdate;
            }
            else if (paramResourceTable is ConsumableTable)
            {
                assemblyConsumableTable = new AssemblyConsumableTable();
                ((AssemblyConsumableTable)assemblyConsumableTable).LastUpdate = this.lastUpdate;
            }
            else
            {
                return;
            }
            assemblyConsumableTable.ExchangeRate                = BigDecimalMath.ONE;
            assemblyConsumableTable.LocalStateProvince          = "";
            assemblyConsumableTable.LocalCountry                = "";
            assemblyConsumableTable.LocalFactor                 = BigDecimalMath.ONE;
            assemblyConsumableTable.Factor1                     = BigDecimalMath.ONE;
            assemblyConsumableTable.Factor2                     = BigDecimalMath.ONE;
            assemblyConsumableTable.Factor3                     = BigDecimalMath.ONE;
            assemblyConsumableTable.QuantityPerUnit             = paramBigDecimal;
            assemblyConsumableTable.QuantityPerUnitFormula      = "";
            assemblyConsumableTable.QuantityPerUnitFormulaState = ResourceToAssignmentTable.QTYPUFORM_NOFORMULA;
            long?long = (long?)paramSession.save(assemblyConsumableTable);
            ResourceToAssignmentTable resourceToAssignmentTable = (ResourceToAssignmentTable)paramSession.load(assemblyConsumableTable.GetType(), long);

            if (paramResourceTable is AssemblyTable)
            {
                paramAssemblyTable.AssemblyChildSet.Add((AssemblyAssemblyTable)resourceToAssignmentTable);
            }
            else if (paramResourceTable is EquipmentTable)
            {
                paramAssemblyTable.AssemblyEquipmentSet.Add((AssemblyEquipmentTable)resourceToAssignmentTable);
            }
            else if (paramResourceTable is SubcontractorTable)
            {
                paramAssemblyTable.AssemblySubcontractorSet.Add((AssemblySubcontractorTable)resourceToAssignmentTable);
            }
            else if (paramResourceTable is LaborTable)
            {
                paramAssemblyTable.AssemblyLaborSet.Add((AssemblyLaborTable)resourceToAssignmentTable);
            }
            else if (paramResourceTable is MaterialTable)
            {
                paramAssemblyTable.AssemblyMaterialSet.Add((AssemblyMaterialTable)resourceToAssignmentTable);
            }
            else if (paramResourceTable is ConsumableTable)
            {
                paramAssemblyTable.AssemblyConsumableSet.Add((AssemblyConsumableTable)resourceToAssignmentTable);
            }
            resourceToAssignmentTable.setResourceTable(paramAssemblyTable);
            resourceToAssignmentTable.AssignmentResourceTable = paramResourceTable;
            paramSession.update(paramAssemblyTable);
            paramSession.update(paramResourceTable);
            paramSession.update(resourceToAssignmentTable);
        }