Ejemplo n.º 1
0
        public void Insert(SystemBody body)
        {
            if (bodycmd == null)
            {
                Context.Set <SystemBody>().Add(body);
                Context.SaveChanges();
            }
            else
            {
                bodycmd.Transaction     = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                namecmd.Transaction     = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                paramSystemId.Value     = body.SystemId;
                paramBodyID.Value       = body.BodyID;
                paramStars.Value        = body.Stars;
                paramIsBelt.Value       = body.IsBelt;
                paramPlanet.Value       = body.Planet;
                paramMoon1.Value        = body.Moon1;
                paramMoon2.Value        = body.Moon2;
                paramMoon3.Value        = body.Moon3;
                paramScanBaseHash.Value = body.ScanBaseHash;
                paramCustomNameId.Value = body.CustomNameId;
                body.Id = execbodycmd(bodycmd);

                if (body.CustomName != null)
                {
                    body.CustomName.Id      = body.Id;
                    paramNameId.Value       = body.Id;
                    paramNameSystemId.Value = body.SystemId;
                    paramNameBodyID.Value   = body.CustomName.BodyID;
                    paramCustomName.Value   = body.CustomName.CustomName;
                    namecmd.ExecuteNonQuery();
                }
            }
        }
        public void Insert(EDDNJournalScan scan)
        {
            if (cmd == null)
            {
                Context.Set <EDDNJournalScan>().Add(scan);
                Context.SaveChanges();
            }
            else
            {
                cmd.Transaction                     = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                paramBodyScanId.Value               = scan.BodyScanId;
                paramGatewayTimestamp.Value         = scan.GatewayTimestampTicks;
                paramScanTimestamp.Value            = scan.ScanTimestampSeconds;
                paramSoftwareVersionId.Value        = scan.SoftwareVersionId;
                paramScanTypeId.Value               = (object)scan.ScanTypeId ?? DBNull.Value;
                paramDistFromArrival.Value          = scan.DistanceFromArrivalLS;
                paramHasSystemAddress.Value         = (object)scan.HasSystemAddress ?? DBNull.Value;
                paramHasBodyID.Value                = scan.HasBodyID;
                paramHasParents.Value               = scan.HasParents;
                paramHasComposition.Value           = scan.HasComposition;
                paramHasAxialTilt.Value             = scan.HasAxialTilt;
                paramHasLuminosity.Value            = scan.HasLuminosity;
                paramIsMaterialsDict.Value          = scan.IsMaterialsDict;
                paramIsBasicScan.Value              = scan.IsBasicScan;
                paramIsPos3SigFig.Value             = scan.IsPos3SigFig;
                paramHasAtmosphereType.Value        = scan.HasAtmosphereType;
                paramHasAtmosphereComposition.Value = scan.HasAtmosphereComposition;
                scan.Id = execscancmd(cmd);

                if (scan.JsonExtraRef != null)
                {
                    scan.JsonExtraRef.Id   = scan.Id;
                    paramJsonExtraId.Value = scan.JsonExtraRef.Id;
                    paramJsonExtra.Value   = scan.JsonExtraRef.JsonExtra;
                }
            }
        }
Ejemplo n.º 3
0
        public void Insert(System sys)
        {
            if (syscmd == null)
            {
                Context.Set <System>().Add(sys);
                Context.SaveChanges();
            }
            else
            {
                syscmd.Transaction          = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                namecmd.Transaction         = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                paramSysaddr.Value          = sys.ModSystemAddress;
                paramX.Value                = sys.X;
                paramY.Value                = sys.Y;
                paramZ.Value                = sys.Z;
                paramRegionId.Value         = sys.RegionId;
                paramSizeClass.Value        = sys.SizeClass;
                paramMid3.Value             = sys.Mid3;
                paramMid2.Value             = sys.Mid2;
                paramMid1b.Value            = sys.Mid1b;
                paramMid1a.Value            = sys.Mid1a;
                paramSequence.Value         = sys.Sequence;
                paramEdsmId.Value           = sys.EdsmId;
                paramEdsmLastModified.Value = sys.EdsmLastModifiedSeconds;
                sys.Id = execsyscmd(syscmd);

                if (sys.SystemCustomName != null)
                {
                    sys.SystemCustomName.Id = sys.Id;
                    paramNameId.Value       = sys.SystemCustomName.Id;
                    paramNameSysAddr.Value  = sys.SystemCustomName.SystemAddress;
                    paramCustomName.Value   = sys.SystemCustomName.CustomName;
                    namecmd.ExecuteNonQuery();
                }
            }
        }
Ejemplo n.º 4
0
        public void Insert(BodyScan scan)
        {
            if (cmdScan == null)
            {
                Context.Set <BodyScan>().Add(scan);
                Context.SaveChanges();
            }
            else
            {
                cmdScan.Transaction   = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                cmdRing.Transaction   = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                cmdStar.Transaction   = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                cmdPlanet.Transaction = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                cmdMats.Transaction   = Context.Database.CurrentTransaction?.UnderlyingTransaction;
                cmdAtmos.Transaction  = Context.Database.CurrentTransaction?.UnderlyingTransaction;

                paramSystemBodyId.Value       = scan.SystemBodyId;
                paramParentSetId.Value        = (object)scan.ParentSetId ?? DBNull.Value;
                paramScanBaseHash.Value       = scan.ScanBaseHash;
                paramAxialTilt.Value          = (object)scan.AxialTilt ?? DBNull.Value;
                paramEccentricity.Value       = scan.Eccentricity;
                paramOrbitalInclination.Value = scan.OrbitalInclination;
                paramPeriapsis.Value          = scan.Periapsis;
                paramSemiMajorAxis.Value      = scan.SemiMajorAxis;
                paramOrbitalPeriod.Value      = scan.OrbitalPeriod;
                paramRadius.Value             = scan.Radius;
                paramRotationPeriod.Value     = scan.RotationPeriod;
                paramSurfaceTemperature.Value = scan.SurfaceTemperature;
                paramHasOrbit.Value           = scan.HasOrbit;
                paramTidalLock.Value          = (object)scan.TidalLock ?? DBNull.Value;
                paramReserveLevel.Value       = (object)scan.ReserveLevelId ?? DBNull.Value;
                scan.Id = execscancmd(cmdScan);

                if (scan.Rings != null)
                {
                    foreach (var ring in scan.Rings)
                    {
                        ring.ScanId             = scan.Id;
                        paramRingScanId.Value   = ring.ScanId;
                        paramRingNum.Value      = ring.RingNum;
                        paramRingClass.Value    = ring.ClassId;
                        paramRingInnerRad.Value = ring.InnerRad;
                        paramRingOuterRad.Value = ring.OuterRad;
                        paramRingMassMT.Value   = ring.MassMT;
                        paramRingIsBelt.Value   = ring.IsBelt;
                        cmdRing.ExecuteNonQuery();

                        if (ring.CustomName != null && ring.CustomName.Name != null)
                        {
                            ring.CustomName.ScanId    = ring.ScanId;
                            ring.CustomName.RingNum   = ring.RingNum;
                            paramRingNameScanId.Value = ring.CustomName.ScanId;
                            paramRingNameNum.Value    = ring.CustomName.RingNum;
                            paramRingName.Value       = ring.Name;
                            cmdRingName.ExecuteNonQuery();
                        }
                    }
                }

                if (scan is BodyScanStar star)
                {
                    paramStarId.Value            = star.Id;
                    paramAbsoluteMagnitude.Value = star.AbsoluteMagnitude;
                    paramStellarMass.Value       = star.StellarMass;
                    paramAgeMY.Value             = star.Age_MY;
                    paramStarTypeId.Value        = star.StarTypeId;
                    paramLuminosityId.Value      = (object)star.LuminosityId ?? DBNull.Value;
                    cmdStar.ExecuteNonQuery();
                }
                else if (scan is BodyScanPlanet planet)
                {
                    paramPlanetId.Value             = planet.Id;
                    paramPlanetClass.Value          = planet.PlanetClassId;
                    paramCompositionMetal.Value     = planet.CompositionMetal;
                    paramCompositionRock.Value      = planet.CompositionRock;
                    paramCompositionIce.Value       = planet.CompositionIce;
                    paramPlanetHasComposition.Value = planet.HasComposition;
                    paramPlanetMassEM.Value         = planet.MassEM;
                    paramSurfaceGravity.Value       = planet.SurfaceGravity;
                    paramVolcanismId.Value          = (object)planet.VolcanismId ?? DBNull.Value;
                    paramVolcanismMinor.Value       = planet.VolcanismMinor;
                    paramVolcanismMajor.Value       = planet.VolcanismMajor;
                    paramIsLandable.Value           = (object)planet.IsLandable ?? DBNull.Value;
                    cmdPlanet.ExecuteNonQuery();

                    if (planet.Materials != null)
                    {
                        planet.Materials.Id       = scan.Id;
                        paramMatsId.Value         = planet.Materials.Id;
                        paramMatsCarbon.Value     = planet.Materials.MaterialCarbon;
                        paramMatsIron.Value       = planet.Materials.MaterialIron;
                        paramMatsNickel.Value     = planet.Materials.MaterialNickel;
                        paramMatsPhosphorus.Value = planet.Materials.MaterialPhosphorus;
                        paramMatsSulphur.Value    = planet.Materials.MaterialSulphur;
                        paramMat1Id.Value         = planet.Materials.Material1Id;
                        paramMat1Amt.Value        = planet.Materials.Material1Amt;
                        paramMat2Id.Value         = planet.Materials.Material2Id;
                        paramMat2Amt.Value        = planet.Materials.Material2Amt;
                        paramMat3Id.Value         = planet.Materials.Material3Id;
                        paramMat3Amt.Value        = planet.Materials.Material3Amt;
                        paramMat4Id.Value         = planet.Materials.Material4Id;
                        paramMat4Amt.Value        = planet.Materials.Material4Amt;
                        paramMat5Id.Value         = planet.Materials.Material5Id;
                        paramMat5Amt.Value        = planet.Materials.Material5Amt;
                        paramMat6Id.Value         = planet.Materials.Material6Id;
                        paramMat6Amt.Value        = planet.Materials.Material6Amt;
                        cmdMats.ExecuteNonQuery();
                    }

                    if (planet.Atmosphere != null)
                    {
                        planet.Atmosphere.Id       = scan.Id;
                        paramAtmosScanId.Value     = planet.Atmosphere.Id;
                        paramSurfacePressure.Value = planet.Atmosphere.SurfacePressure;
                        paramAtmosComp1Id.Value    = (object)planet.Atmosphere.AtmosphereComponent1Id ?? DBNull.Value;
                        paramAtmosComp1Amt.Value   = planet.Atmosphere.AtmosphereComponent1Amt;
                        paramAtmosComp2Id.Value    = (object)planet.Atmosphere.AtmosphereComponent2Id ?? DBNull.Value;
                        paramAtmosComp2Amt.Value   = planet.Atmosphere.AtmosphereComponent2Amt;
                        paramAtmosComp3Id.Value    = (object)planet.Atmosphere.AtmosphereComponent3Id ?? DBNull.Value;
                        paramAtmosComp3Amt.Value   = planet.Atmosphere.AtmosphereComponent3Amt;
                        paramAtmosNameId.Value     = planet.Atmosphere.AtmosphereId;
                        paramAtmosTypeId.Value     = (object)planet.Atmosphere.AtmosphereTypeId ?? DBNull.Value;
                        paramAtmosHot.Value        = planet.Atmosphere.AtmosphereHot;
                        paramAtmosThin.Value       = planet.Atmosphere.AtmosphereThin;
                        paramAtmosThick.Value      = planet.Atmosphere.AtmosphereThick;
                        cmdAtmos.ExecuteNonQuery();
                    }
                }
            }
        }