Esempio n. 1
0
        private static void DisplayWrongItems(OrgTreeItem item, List <LdbItem> newLDBItems, string gud)
        {
            foreach (OrgTreeItem child in item.items)
            {
                LdbItem childItem = newLDBItems.FirstOrDefault(x => x.Duns.Equals(child.duns));
                if (childItem != null && !childItem.GuDuns.Equals(gud))
                {
                    string wrongItem = $"root:{gud} duns:{childItem.Duns}, parent:{childItem.HqDuns}, gud:{childItem.GuDuns}";
                    Console.WriteLine(wrongItem);
                }

                DisplayWrongItems(child, newLDBItems, gud);
            }
        }
Esempio n. 2
0
        private static void ReadCsvNewLdbOrgTree()
        {
            List <LdbItem> newLDBItems = new List <LdbItem>();

            //using (StreamReader sr = new StreamReader(@"C:\kpl\export3rootCompanyB.csv"))
            //using (StreamReader sr = new StreamReader(@"D:\kpl\export3rootCompanyB.csv"))
            using (StreamReader sr = new StreamReader(@"D:\kpl\exportFriedeSpringer.csv"))
            {
                string currentLine;
                // currentLine will be null when the StreamReader reaches the end of file
                while ((currentLine = sr.ReadLine()) != null)
                {
                    string[] coulumns = currentLine.Split(new char[] { ';' });
                    LdbItem  item     = new LdbItem();
                    item.Duns   = CleanInput(coulumns[0]);
                    item.Name   = CleanInput(coulumns[1]);
                    item.HqDuns = CleanInput(coulumns[2]);
                    item.HqName = CleanInput(coulumns[3]);
                    item.GuDuns = CleanInput(coulumns[4]);
                    item.GuName = CleanInput(coulumns[5]);
                    newLDBItems.Add(item);
                }
            }

            // get GUCs

            List <LdbItem>     gucItems  = newLDBItems.Where(x => x.GuDuns.Equals(x.Duns)).ToList();
            List <OrgTreeItem> rootItems = new List <OrgTreeItem>();

            foreach (LdbItem item in gucItems)
            {
                OrgTreeItem orgItem = new OrgTreeItem();
                orgItem.duns  = item.Duns;
                orgItem.label = item.Name;
                rootItems.Add(orgItem);
                List <LdbItem> famillyItems = newLDBItems.Where(x => x.GuDuns.Equals(orgItem.duns)).ToList();
                BuildOrgTree(orgItem, famillyItems, orgItem);
                List <OrgTreeItem> path = new List <OrgTreeItem>();
                path.Add(orgItem);
                PersistOrgTree(orgItem, orgItem, path);
            }
            foreach (OrgTreeItem item in rootItems)
            {
                //PersistOrgTree(item, item);
                //item.selected = true;
                //item.expanded = true;
                //string orgtreeJson = new JavaScriptSerializer().Serialize(item);
                // update item where gud = item.duns and set varchar
            }
        }
Esempio n. 3
0
        private static void CheckProblems()
        {
            List <LdbItem> newLDBItems = new List <LdbItem>();

            using (StreamReader sr = new StreamReader(@"C:\kpl\newLdbFull.csv"))
            {
                string currentLine;
                // currentLine will be null when the StreamReader reaches the end of file
                while ((currentLine = sr.ReadLine()) != null)
                {
                    string[] coulumns = currentLine.Split(new char[] { ';' });
                    LdbItem  item     = new LdbItem();
                    item.Duns   = CleanInput(coulumns[0]);
                    item.Name   = CleanInput(coulumns[1]);
                    item.HqDuns = CleanInput(coulumns[2]);
                    item.HqName = CleanInput(coulumns[3]);
                    item.GuDuns = CleanInput(coulumns[4]);
                    item.GuName = CleanInput(coulumns[5]);
                    newLDBItems.Add(item);
                }
            }

            // get GUCs

            List <LdbItem>     gucItems  = newLDBItems.Where(x => x.GuDuns.Equals(x.Duns)).ToList();
            List <OrgTreeItem> rootItems = new List <OrgTreeItem>();

            foreach (LdbItem item in gucItems)
            {
                OrgTreeItem orgItem = new OrgTreeItem();
                orgItem.duns  = item.Duns;
                orgItem.label = item.Name;
                rootItems.Add(orgItem);
                BuildOrgTree(orgItem, newLDBItems.Where(x => x.GuDuns.Equals(orgItem.duns)).ToList(), orgItem);
            }
            foreach (OrgTreeItem item in rootItems.Where(x => x.items.Count > 0))
            {
                DisplayWrongItems(item, newLDBItems, item.duns);;
                //foreach (OrgTreeItem child in item.items)
                //{
                //    LdbItem childItem = newLDBItems.FirstOrDefault(x=> x.duns.Equals(child.duns));
                //    if (childItem != null && !childItem.GuDuns.Equals(item.duns))
                //    {
                //        string wrongItem = $"duns:{childItem.duns}, parent:{childItem.HqDuns}, gud:{childItem.GuDuns}";
                //        Console.WriteLine(wrongItem);
                //    }

                //}
            }
        }
Esempio n. 4
0
        private static void FixOrphans()
        {
            List <LdbItem> newLDBItems = new List <LdbItem>();

            using (StreamReader sr = new StreamReader(@"C:\kpl\newLdbFull.csv"))
            {
                string currentLine;
                // currentLine will be null when the StreamReader reaches the end of file
                while ((currentLine = sr.ReadLine()) != null)
                {
                    string[] coulumns = currentLine.Split(new char[] { ';' });
                    LdbItem  item     = new LdbItem();
                    item.Duns   = CleanInput(coulumns[0]);
                    item.Name   = CleanInput(coulumns[1]);
                    item.HqDuns = CleanInput(coulumns[2]);
                    item.HqName = CleanInput(coulumns[3]);
                    item.GuDuns = CleanInput(coulumns[4]);
                    item.GuName = CleanInput(coulumns[5]);
                    newLDBItems.Add(item);
                }
            }

            List <OrgTreeItem> rootItems = new List <OrgTreeItem>();
            //test orphan
            LdbItem     orphanitem = newLDBItems.FirstOrDefault(x => x.Duns.Equals("31-606-7164"));
            OrgTreeItem orgItem    = new OrgTreeItem();

            orgItem.duns  = orphanitem.Duns;
            orgItem.label = orphanitem.Name;
            rootItems.Add(orgItem);
            List <LdbItem> famillyItems = newLDBItems.Where(x => x.GuDuns.Equals(orgItem.duns)).ToList();
            List <string>  famillyDuns  = famillyItems.Select(x => x.Duns).ToList();
            List <LdbItem> orphanItems  = famillyItems.Where(x => !famillyDuns.Contains(x.HqDuns)).ToList();

            foreach (LdbItem orphan in orphanItems.Where(x => !x.OutOfBusiness).ToList())
            {
                orphan.HqDuns = orphan.GuDuns;
            }
            BuildOrgTree(orgItem, famillyItems, orgItem);

            // get GUCs

            //List<LdbItem> gucItems = newLDBItems.Where(x => x.GuDuns.Equals(x.Duns)).ToList();
            //foreach (LdbItem item in gucItems)
            //{
            //    OrgTreeItem orgItem = new OrgTreeItem();
            //    orgItem.duns = item.Duns;
            //    orgItem.label = item.Name;
            //    rootItems.Add(orgItem);
            //    BuildOrgTree(orgItem, newLDBItems.Where(x => x.GuDuns.Equals(orgItem.duns)).ToList(), orgItem);
            //}
            foreach (OrgTreeItem item in rootItems.Where(x => x.items.Count > 0))
            {
                DisplayWrongItems(item, newLDBItems, item.duns);;
                //foreach (OrgTreeItem child in item.items)
                //{
                //    LdbItem childItem = newLDBItems.FirstOrDefault(x=> x.duns.Equals(child.duns));
                //    if (childItem != null && !childItem.GuDuns.Equals(item.duns))
                //    {
                //        string wrongItem = $"duns:{childItem.duns}, parent:{childItem.HqDuns}, gud:{childItem.GuDuns}";
                //        Console.WriteLine(wrongItem);
                //    }

                //}
            }
        }