コード例 #1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private SPONMigrationUtil(String paramString1, String paramString2) throws Exception
        private SPONMigrationUtil(string paramString1, string paramString2)
        {
            initializeRateConverter();
            this.sponLineItemList = SponLineTimeLoader.loadLineItems(paramString1, paramString2);
            System.Collections.IEnumerator iterator1 = this.sponLineItemList.GetEnumerator();
            this.rootNode = new DefaultMutableTreeNode();
            sbyte b;

            for (b = 0; iterator1.MoveNext(); b++)
            {
                SponLineItem sponLineItem = (SponLineItem)iterator1.Current;
                sponLineItem.Index = b;
                DefaultMutableTreeNode defaultMutableTreeNode = findParentForLineItem(sponLineItem, b);
                defaultMutableTreeNode.add(sponLineItem);
            }
            System.Collections.IEnumerator enumeration = this.rootNode.children();
            LinkedList linkedList = new LinkedList();

            while (enumeration.MoveNext())
            {
                linkedList.AddLast(enumeration.Current);
            }
            Hashtable hashMap = new Hashtable();

            foreach (SponLineItem sponLineItem1 in linkedList)
            {
                SponLineItem sponLineItem2 = null;
                LinkedList   linkedList1   = null;
                System.Collections.IEnumerator enumeration1 = sponLineItem1.children();
                Console.WriteLine("" + sponLineItem1);
                while (enumeration1.MoveNext())
                {
                    SponLineItem sponLineItem = (SponLineItem)enumeration1.Current;
                    string       str          = sponLineItem.Code;
                    if (str.IndexOf("/", StringComparison.Ordinal) != -1)
                    {
                        if (str.IndexOf("N", StringComparison.Ordinal) == -1)
                        {
                            str = StringHelper.SubstringSpecial(str, str.IndexOf("/", StringComparison.Ordinal) + 1, str.Length);
                        }
                        else
                        {
                            str = StringHelper.SubstringSpecial(str, str.IndexOf("/", StringComparison.Ordinal), str.Length);
                        }
                    }
                    if (str.Length == 3)
                    {
                        sponLineItem2          = sponLineItem;
                        linkedList1            = new LinkedList();
                        hashMap[sponLineItem2] = linkedList1;
                        Console.WriteLine(" " + sponLineItem);
                        continue;
                    }
                    if (linkedList1 == null)
                    {
                        Console.WriteLine("I was trying;" + sponLineItem);
                    }
                    linkedList1.AddLast(sponLineItem);
                }
            }
            foreach (SponLineItem sponLineItem in hashMap.Keys)
            {
                foreach (SponLineItem sponLineItem1 in (System.Collections.IList)hashMap[sponLineItem])
                {
                    sponLineItem1.removeFromParent();
                }
                foreach (SponLineItem sponLineItem1 in (System.Collections.IList)hashMap[sponLineItem])
                {
                    sponLineItem.add(sponLineItem1);
                }
            }
            Session     session     = DatabaseDBUtil.currentSession();
            Transaction transaction = session.beginTransaction();

            try
            {
                Console.WriteLine("\n\n\n\n");
                enumeration = this.rootNode.preorderEnumeration();
                b           = 0;
                while (enumeration.MoveNext())
                {
                    DefaultMutableTreeNode defaultMutableTreeNode = (DefaultMutableTreeNode)enumeration.Current;
                    if (defaultMutableTreeNode.Root)
                    {
                        continue;
                    }
                    SponLineItem sponLineItem = (SponLineItem)defaultMutableTreeNode;
                    string       str1         = null;
                    string       str2         = sponLineItem.Code;
                    if (++b % 'Ǵ' == '\x0000')
                    {
                        Console.WriteLine("PROCESSED: " + b + " lines");
                        transaction.commit();
                        DatabaseDBUtil.closeSession();
                        session     = DatabaseDBUtil.currentSession();
                        transaction = session.beginTransaction();
                    }
                    if (b % '✐' == '\x0000')
                    {
                        Thread.Sleep(2000L);
                    }
                    if (sponLineItem.Composite)
                    {
                        if (defaultMutableTreeNode.Path.length == 2)
                        {
                            str1 = str2;
                        }
                        else if (defaultMutableTreeNode.Path.length == 3)
                        {
                            str1 = str2.Substring(0, 1) + "." + str2.Substring(1, str2.Length - 1);
                        }
                        else if (defaultMutableTreeNode.Path.length == 4)
                        {
                            string str4 = ((SponLineItem)defaultMutableTreeNode.Parent).WbsCode;
                            string str5 = StringHelper.SubstringSpecial(str2, str4.Length - 1 - "C".Length, str2.Length);
                            str1 = str4 + "." + str5;
                        }
                        else
                        {
                            SponLineItem sponLineItem1 = (SponLineItem)defaultMutableTreeNode.Parent;
                            string       str           = sponLineItem1.WbsCode;
                            sbyte        b2            = 1;
                            System.Collections.IEnumerator enumeration1 = sponLineItem1.children();
                            while (enumeration1.MoveNext())
                            {
                                SponLineItem sponLineItem2 = (SponLineItem)enumeration1.Current;
                                if (sponLineItem2.Equals(sponLineItem))
                                {
                                    break;
                                }
                                b2++;
                            }
                            str1 = str + "." + b2;
                        }
                    }
                    string str3 = "";
                    for (sbyte b1 = 1; b1 < defaultMutableTreeNode.Path.length; b1++)
                    {
                        str3 = str3 + " ";
                    }
                    if (sponLineItem.Composite)
                    {
                        if (sponLineItem.Depth == 1)
                        {
                            System.Collections.IEnumerator enumeration1 = sponLineItem.children();
                            while (enumeration1.MoveNext())
                            {
                                SponLineItem sponLineItem1 = (SponLineItem)enumeration1.Current;
                                sponLineItem1.MoreDescription.Add(sponLineItem.Description);
                                if (!string.ReferenceEquals(sponLineItem.SecondDescription, null))
                                {
                                    sponLineItem1.MoreSecondDescription.Add(sponLineItem.SecondDescription);
                                }
                            }
                            continue;
                        }
                        if (sponLineItem.ChildCount == 0)
                        {
                            bool         @bool         = sponLineItem.NoteItem;
                            SponLineItem sponLineItem1 = (SponLineItem)defaultMutableTreeNode.Parent;
                            System.Collections.IEnumerator enumeration1 = sponLineItem1.children();
                            bool bool1 = false;
                            while (enumeration1.MoveNext())
                            {
                                SponLineItem sponLineItem2 = (SponLineItem)enumeration1.Current;
                                if (sponLineItem2.Equals(sponLineItem))
                                {
                                    bool1 = true;
                                    continue;
                                }
                                if (bool1 == true)
                                {
                                    if (@bool)
                                    {
                                        sponLineItem2.Notes = sponLineItem.Description;
                                        setNotesToAllSubItems(sponLineItem2, sponLineItem2.Notes);
                                        continue;
                                    }
                                    if (sponLineItem2.NoteItem)
                                    {
                                        string str = sponLineItem2.Description;
                                        sponLineItem2.Description = sponLineItem.Description;
                                        sponLineItem2.Notes       = str;
                                        setNotesToAllSubItems(sponLineItem2, sponLineItem2.Notes);
                                        sponLineItem.Notes = sponLineItem2.Description;
                                    }
                                }
                            }
                            continue;
                        }
                        if (sponLineItem.NoteItem)
                        {
                            setNotesToAllSubItems(sponLineItem, sponLineItem.Description);
                        }
                    }
                    if (!string.ReferenceEquals(str1, null))
                    {
                        if (!str1.StartsWith("C", StringComparison.Ordinal))
                        {
                            sponLineItem.WbsCode = "C" + str1;
                        }
                        else
                        {
                            sponLineItem.WbsCode = str1;
                        }
                        GroupCodeTable groupCodeTable = new GroupCodeTable();
                        groupCodeTable.GroupCode   = sponLineItem.WbsCode;
                        groupCodeTable.Title       = sponLineItem.makeShortTitle();
                        groupCodeTable.Unit        = "";
                        groupCodeTable.UnitFactor  = BigDecimalMath.ONE;
                        groupCodeTable.Description = sponLineItem.Description + "\n" + sponLineItem.Notes;
                        groupCodeTable.Notes       = sponLineItem.Code;
                        groupCodeTable.EditorId    = "spon";
                        session.save(groupCodeTable);
                        continue;
                    }
                    processSponCostItem(sponLineItem, session);
                }
                transaction.commit();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.ToString());
                Console.Write(exception.StackTrace);
                transaction.rollback();
            }
            DatabaseDBUtil.closeSession();
            Console.WriteLine("\n\n\n\nUNIT MAP TO CONVERT:");
            System.Collections.IEnumerator iterator2 = this.unitMap.Values.GetEnumerator();
            while (iterator2.MoveNext())
            {
                Console.WriteLine(iterator2.Current);
            }
        }