Example #1
0
 private void CreateWell(Well well, BoreholeCollection boreholeColl)
 {
     using (ITransaction tr = DataManager.NewTransaction())
     {
         tr.Lock(boreholeColl);
         Borehole borehole = boreholeColl.CreateBorehole(well.Name);
         borehole.Comments = "Imported from FIELDPRO";
         borehole.UWI      = well.Uwi;
         var coordinates = well.CartesianCoordinates();
         borehole.WellHead = new Point2(coordinates["X"], coordinates["Y"]);
         ReferenceLevel kb = new ReferenceLevel("KB", well.Z, "Kelly bushing");
         borehole.WorkingReferenceLevel = kb;
         var trajectoryRecords = this.GetTrajectoryRecords(well);
         try { borehole.Trajectory.Records = trajectoryRecords; }
         catch (ArgumentOutOfRangeException ex)
         {
             PetrelLogger.InfoOutputWindow("Failed to set trajectory: " + ex.ToString());
         }
         SetProperty("Field", well.Field, borehole, true);
         SetProperty("Area", well.Area, borehole, true);
         SetProperty("Country", well.Country, borehole, true);
         SetProperty("FIELDPRO ID", well.ID.ToString(), borehole, false);
         tr.Commit();
     }
 }
Example #2
0
        static int Main(string[] args)
        {
            ReferenceLevel level = ReferenceLevel.AssemblyReferences;

            switch (args [0].ToLowerInvariant())
            {
            case "a":
            case "ar":
                break;

            case "t":
            case "tr":
                level = ReferenceLevel.TypeReferences;
                break;

            case "m":
            case "mr":
                level = ReferenceLevel.MemberReferences;
                break;

            default:
                Console.WriteLine("Missing level argument: (a)ssembly, (t)ype, (m)ember references");
                return(1);
            }

            var exe = Path.GetFullPath(args [1]);

            resolver.AddSearchDirectory(Path.GetDirectoryName(exe));
            var ad = AssemblyDefinition.ReadAssembly(exe);

            assemblies.Add(ad);
            for (int i = 0; i < assemblies.Count; i++)
            {
                var name = ad.MainModule.ToString();
                if (names.Contains(name))
                {
                    continue;
                }
                names.Add(name);
                foreach (var ar in assemblies[i].MainModule.AssemblyReferences)
                {
                    var a = resolver.Resolve(AssemblyNameReference.Parse(ar.Name));
                    if (!assemblies.Contains(a))
                    {
                        assemblies.Add(a);
                    }
                }
            }
            // show the entry point (.exe) first
            ShowModule(level, ad.MainModule);
            assemblies.Remove(ad);
            foreach (var assembly in assemblies.OrderBy((arg) => arg.FullName))
            {
                ShowModule(level, assembly.MainModule);
            }
            return(0);
        }
Example #3
0
 static void ShowModule(ReferenceLevel level, ModuleDefinition md)
 {
     Console.WriteLine($"A: {md.Assembly.FullName}");
     if (level > ReferenceLevel.AssemblyReferences)
     {
         foreach (var td in md.Types.OrderBy((arg) => arg.FullName))
         {
             Console.WriteLine($"      TD: {td}", td);
             if (level > ReferenceLevel.TypeReferences)
             {
                 var member_refs = md.GetMemberReferences();
                 foreach (var m in td.Methods.OrderBy((arg) => arg.FullName))
                 {
                     Console.WriteLine($"          MD: {m}", m);
                 }
             }
         }
     }
 }
Example #4
0
        static void ShowModule(ReferenceLevel level, ModuleDefinition md)
        {
            Console.WriteLine($"A: {md.Assembly.FullName}");
            if (md.HasAssemblyReferences)
            {
                foreach (var ar in md.AssemblyReferences.OrderBy((arg) => arg.ToString()))
                {
                    Console.WriteLine($"   AR: {ar}");
                    if (level > ReferenceLevel.AssemblyReferences)
                    {
                        var type_refs = md.GetTypeReferences();
                        foreach (var tr in type_refs.Where((arg) => arg.Scope.ToString() == ar.FullName).OrderBy((arg) => arg.FullName))
                        {
                            Console.WriteLine($"      TR: {tr}", tr);
                            if (level > ReferenceLevel.TypeReferences)
                            {
                                var member_refs = md.GetMemberReferences();
                                foreach (var mr in member_refs.Where((arg) => arg.DeclaringType.FullName == tr.FullName).OrderBy((arg) => arg.FullName))
                                {
                                    Console.WriteLine($"          MR: {mr}", mr);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                Console.WriteLine("   -");
            }

            // Console.WriteLine ("   Type References");
            // foreach (var tr in md.GetTypeReferences ().OrderBy ((arg) => arg.FullName))
            //  Console.WriteLine ("   > {0}", tr);
            // Console.WriteLine ("   Member References");
            // foreach (var mr in md.GetMemberReferences ().OrderBy ((arg) => arg.DeclaringType.FullName + "::" + arg.Name + "::" + arg.ToString ()))
            //  Console.WriteLine ("   > {0}", mr);
        }