Пример #1
0
        public void Should_Return_DbUri_After_Creating_New_Database(string name, string uri, string prefix, string dbUri)
        {
            var localDb = new LocalDb(name, uri, prefix);

            Assert.AreEqual(localDb.DbUri, dbUri);
            localDb.Destroy();
        }
Пример #2
0
        private static void CreateDb()
        {
            LocalDb = new LocalDb(version: "mssqllocaldb");

            using (var conn = new SqlConnection(LocalDb.ConnectionString))
            {
                conn.Execute(@"
CREATE TABLE [User] (
    Id int PRIMARY KEY IDENTITY(1, 1),
    FirstName nvarchar(250),
    LastName nvarchar(250),
    Age int,
    Gender bit,
    RowVersion rowversion,
    IsDeleted bit not null default(0)
)

CREATE TABLE [Group] (
    Id int PRIMARY KEY IDENTITY(1, 1),
    Name nvarchar(250),
    RowVersion rowversion,
    IsDeleted bit not null default(0)
)

CREATE TABLE [UserGroup] (
    UserId int,
    GroupId int,
    RowVersion rowversion,
    IsDeleted bit not null default(0)
)");
            }
        }
Пример #3
0
        public void CaptureChanges()
        {
            using (var cn = LocalDb.GetConnection(dbName))
            {
                var emp = new Employee()
                {
                    LastName  = "Herbert",
                    FirstName = "Yavad",
                    HireDate  = new DateTime(1990, 1, 1),
                    IsExempt  = true
                };

                // need to make sure record doesn't exist
                try { cn.Execute("TRUNCATE TABLE [changes].[RowVersion]"); } catch { /*do nothing */ }
                try { cn.Execute("TRUNCATE TABLE [changes].[ColumnHistory]"); } catch { /* do nothing */ }
                cn.Execute("DELETE [dbo].[Employee] WHERE [FirstName]=@firstName AND [LastName]=@lastName", emp);

                var provider = new SqlServerCrudProvider <int>((id) => Convert.ToInt32(id));
                provider.SaveAsync(cn, emp).Wait();
                LoggedChangeTracker <Employee, long> ct = GetLoggedChangeTracker(cn, emp);

                emp.FirstName = "Javad";
                emp.Status    = Status.Inactive;
                provider.SaveAsync(cn, emp, ct).Wait();

                Assert.IsTrue(cn.RowExistsAsync("[changes].[RowVersion] WHERE [TableName]='Employee' AND [RowId]=1 AND [Version]=1").Result);
                Assert.IsTrue(cn.RowExistsAsync("[changes].[ColumnHistory] WHERE [TableName]='Employee' AND [RowId]=1 AND [Version]=1 AND [ColumnName]='FirstName' AND [OldValue]='Yavad' AND [NewValue]='Javad'").Result);
                Assert.IsTrue(cn.RowExistsAsync("[changes].[ColumnHistory] WHERE [TableName]='Employee' AND [RowId]=1 AND [Version]=1 AND [ColumnName]='Status' AND [OldValue]='Active' AND [NewValue]='Inactive'").Result);
            }
        }
Пример #4
0
    public List <AppDataManager.DataDesc> GetHistoryUpdateSpeaker(string length, string sender)
    {
        LocalDb _HistoryDB = new LocalDb("TextHistory");

        //List<TextDataManager.TextDataDesc> FetchedData = new List<TextDataManager.TextDataDesc>();

        List <AppDataManager.DataDesc> FetchedData = new List <AppDataManager.DataDesc>();


        System.Data.IDataReader reader = _HistoryDB.getHistDataUpdate(int.Parse(length), sender);
        while (reader.Read())
        {
            HistoryEntity entity = new HistoryEntity(reader[0].ToString(),
                                                     reader[1].ToString(),
                                                     reader[2].ToString(),
                                                     reader[3].ToString(),
                                                     reader[4].ToString());

            FetchedData.Add(new TextDataManager.TextDataDesc(int.Parse(entity._id), entity._Speaker, entity._Content, entity._isPlayer, int.Parse(entity._sitID)));
        }

        _HistoryDB.close();

        return(FetchedData);
    }
Пример #5
0
        // It's internal because `Umbraco.Core.Persistence.LocalDb` is internal
        internal LocalDbTestDatabase(TestDatabaseSettings settings, ILoggerFactory loggerFactory, LocalDb localDb, string filesPath, IUmbracoDatabaseFactory dbFactory)
        {
            _loggerFactory   = loggerFactory;
            _databaseFactory = dbFactory;

            _settings   = settings;
            _localDb    = localDb;
            s_filesPath = filesPath;

            Instance = this; // For GlobalSetupTeardown.cs

            var counter = 0;

            var schema = Enumerable.Range(0, _settings.SchemaDatabaseCount)
                         .Select(x => TestDbMeta.CreateWithoutConnectionString($"{DatabaseName}-{++counter}", false));

            var empty = Enumerable.Range(0, _settings.EmptyDatabasesCount)
                        .Select(x => TestDbMeta.CreateWithoutConnectionString($"{DatabaseName}-{++counter}", true));

            _testDatabases = schema.Concat(empty).ToList();

            s_localDbInstance = _localDb.GetInstance(InstanceName);
            if (s_localDbInstance != null)
            {
                return;
            }

            if (_localDb.CreateInstance(InstanceName) == false)
            {
                throw new Exception("Failed to create a LocalDb instance.");
            }

            s_localDbInstance = _localDb.GetInstance(InstanceName);
        }
Пример #6
0
 public void LocalDb_InstanceName_defaults_to_V11()
 {
     using (var db = new LocalDb())
     {
         Assert.Equal("v" + LocalDb.Versions.V11, db.InstanceName);
     }
 }
Пример #7
0
    public void MarkSitFinish(int id)
    {
        LocalDb _SitDB = new LocalDb("Situation");

        _SitDB.setSitFinished(id.ToString());
        _SitDB.close();
    }
Пример #8
0
        public void GetEmployeeWhereLambda()
        {
            using (var cn = LocalDb.GetConnection("DapperCX"))
            {
                string lastName = "Yarga";

                var emp = new EmployeeCustom()
                {
                    FirstName = lastName,
                    LastName  = GetLastName(),
                    IsExempt  = true,
                    HireDate  = DateTime.Today,
                    Value     = OtherEnum.Other
                };

                var provider = GetProvider();
                int id       = provider.SaveAsync(cn, emp).Result;

                emp = provider.GetWhereAsync <EmployeeCustom>(cn,
                                                              e => e.FirstName == lastName,
                                                              e => e.LastName == GetLastName()).Result;

                Assert.IsTrue(emp.Id == id);
            }
        }
 private static void DeleteWorkspace(string name)
 {
     using (var cn = LocalDb.GetConnection(DbName))
     {
         cn.Execute("DELETE [dbo].[Workspace] WHERE [Name]=@name", new { name });
     }
 }
Пример #10
0
 public void BuildSampleModel()
 {
     using (var cn = LocalDb.GetConnection("Hs5"))
     {
         var model = new SqlServerModelBuilder().GetDataModelAsync(cn).Result;
     }
 }
Пример #11
0
        static void ProcessSinglePatient(int id)
        {
            //DbMapper db = new DbMapper();

            LocalDb db = new LocalDb();

            Patient p = new Patient();

            p = db.GetPatientTSD(id);

            Console.WriteLine("Patient : {0}", p.ToString());

            Console.WriteLine("Patient result count: {0}", p.TSDataPoints.Count());



            RuleStack rs = new RuleStack();

            rs.Execute(p);
            Console.WriteLine("Age calc done: {3},Patient Age: {0},  Invalid Age Flag:{1}, Alive: {2}", p.Age, p.Status.FlagInvalidAge, p.Status.Alive, p.Status.FlagCalculatedAge);



            foreach (var n in p.Notifications)
            {
                Console.WriteLine("--> {0}: {1} |", n.TimeStamp, n.Message);
            }
            Console.WriteLine("--------------------------------------------------");
            // rules


            //write back to reporting
            //db.InsertPatientReport(p);
        }
Пример #12
0
 public override async Task <Job> GetAsync(int key)
 {
     using (var cn = LocalDb.GetConnection(DbName))
     {
         return(await cn.GetAsync <Job>(key));
     }
 }
Пример #13
0
 public void SyncCallNoParams()
 {
     using (var cn = LocalDb.GetConnection(DbName))
     {
         var dataTable = cn.QueryTable("SELECT * FROM [sys].[tables]");
     }
 }
Пример #14
0
        public static void Initialize(TestContext context)
        {
            LocalDb.TryDropDatabase(dbName, out _);

            using (var cn = LocalDb.GetConnection(dbName, SampleObjects()))
            {
                var tdg = new TestDataGenerator();
                tdg.Generate <TypicalQueryResult>(1000, (result) =>
                {
                    result.FirstName = tdg.Random(Source.FirstName);
                    result.SomeDate  = tdg.RandomInRange(-1000, 1000, (i) => DateTime.Today.AddDays(i));
                    result.Weight    = tdg.RandomInRange <decimal>(50, 150, (d) => d);
                    result.Notes     = RandomPhrase(4, 8);
                }, (results) =>
                {
                    // AppVeyor seems to need this
                    if (cn.State == ConnectionState.Closed)
                    {
                        cn.Open();
                    }

                    var dataTable = results.ToDataTable();
                    BulkInsert.ExecuteAsync(dataTable, cn as SqlConnection, DbObject.Parse("dbo.SampleTable"), 50, new BulkInsertOptions()
                    {
                        SkipIdentityColumn = "Id"
                    }).Wait();
                });
            }
        }
Пример #15
0
 public void LocalDB_has_localdb_in_name()
 {
     using (var db = new LocalDb())
     {
         Assert.Contains("localdb", db.DatabaseName);
     }
 }
Пример #16
0
        private static LocalDb CreateNewDb()
        {
            var           db   = new LocalDb(version: "mssqllocaldb");
            IDbConnection conn = db.OpenConnection();

            conn.Execute(
                @"
CREATE TABLE [User] (
    Id int PRIMARY KEY IDENTITY,
    FirstName nvarchar(250),
    LastName nvarchar(250),
    Age int,
    Gender bit
)

CREATE TABLE [Data] (
    Blob varbinary(100)
)

CREATE TABLE [Anon] (
    Foo nvarchar(250),
    Bar int,
    Baz datetime2
)

CREATE TABLE [WithNullable] (
    Id int NOT NULL,
    Data int NULL,
)
            ");

            return(db);
        }
Пример #17
0
 public void LocalDb_defaults_to_V11()
 {
     using (var db = new LocalDb())
     {
         Assert.Equal(LocalDb.Versions.V11, db.Version);
     }
 }
Пример #18
0
    private void Drop(TestDbMeta meta)
    {
        using (var connection = new SqlConnection(_settings.SQLServerMasterConnectionString))
        {
            connection.Open();
            using (var command = connection.CreateCommand())
            {
                SetCommand(command, "select count(1) from sys.databases where name = @0", meta.Name);
                var records = (int)command.ExecuteScalar();
                if (records == 0)
                {
                    return;
                }

                var sql = $@"
                        ALTER DATABASE {LocalDb.QuotedName(meta.Name)}
                        SET SINGLE_USER 
                        WITH ROLLBACK IMMEDIATE";
                SetCommand(command, sql);
                command.ExecuteNonQuery();

                SetCommand(command, $@"DROP DATABASE {LocalDb.QuotedName(meta.Name)}");
                command.ExecuteNonQuery();
            }
        }
    }
Пример #19
0
    public void MarkClusterFinish(int id)
    {
        LocalDb _ClusterDB = new LocalDb("Cluster");

        _ClusterDB.setClusterFinished(id.ToString());
        _ClusterDB.close();
    }
Пример #20
0
        public void Init()
        {
            ResourceStorage.DecompressMidiBundle();

            jsonStorage = new JsonStorage();
            jsonStorage.Load();

            uiState          = jsonStorage.Get(JsonStorageKeys.V1.UI_STATE, Storage.Protos.Json.V1.UiStateProto.CreateDefault());
            midiSynthConfigs = jsonStorage.Get(JsonStorageKeys.V1.MIDI_SYNTH_CONFIGS, Storage.Protos.Json.V1.MidiSynthConfigsProto.CreateDefault());
            gameplayConfig   = jsonStorage.Get(JsonStorageKeys.V1.GAMEPLAY_CONFIG, Storage.Protos.Json.V1.GameplayConfigProto.CreateDefault());
            appConfig        = jsonStorage.Get(JsonStorageKeys.V1.APP_CONFIG, Storage.Protos.Json.V1.AppConfigProto.CreateDefault());

            localDb = new LocalDb();
            localDb.Init();

            username = PlayerPrefs.GetString("TEMP_USERNAME", null);
            password = PlayerPrefs.GetString("TEMP_PASSWORD", null);

            netManager = new NetManager();
            netManager.Init(this);

            translationSevice = new TranslationService();
            translationSevice.Init(netManager);
            translationSevice.Load();
            translationSevice.lang = appConfig.displayLang;

            resourceStorage = new ResourceStorage();
            resourceStorage.Init(this);

            InitAudioConfig();
            ApplyAppAudioConfig();
        }
Пример #21
0
    public void WriteData(List <AppDataManager.DataDesc> data)
    {
        LocalDb _HistoryDB = new LocalDb("TextHistory");

        foreach (TextDataManager.TextDataDesc d in data)
        {
            string temp = "False";
            if (d.sentByPlayer)
            {
                temp = "True";
            }

            System.Data.IDataReader reader = _HistoryDB.getLatestID("TextHistory");
            int TempID = 0;
            while (reader.Read())
            {
                TempID = int.Parse(reader[0].ToString());
            }
            TempID += 1;

            HistoryEntity history = new HistoryEntity(TempID.ToString(), d.situationId.ToString(), temp, d.sender, d.message);
            _HistoryDB.appendTableFromBottom("TextHistory", history);
        }

        _HistoryDB.close();
    }
Пример #22
0
        public void can_get_animals_using_explicit_relationship_between_animal_and_enclosure()
        {
            using (var sandbox = new LocalDb())
            {
                Runner.MigrateToLatest(sandbox.ConnectionString);

                using (var context = new ZooDbContext(sandbox.ConnectionString))
                {
                    var enclosure = new Enclosure()
                    {
                        Id = 1, Name = "Kenya", Location = "Africa", Environment = "Sahara"
                    };
                    var animal = new Animal()
                    {
                        Name = "Nala", Species = "Lion", EnclosureId = 1
                    };

                    context.Animals.Add(animal);
                    context.Enclosures.Add(enclosure);
                    context.SaveChanges();

                    var controller = new HomeController()
                    {
                        Database = context
                    };

                    var result = controller.Index() as ViewResult;
                    var model  = result == null ? new IndexViewModel() : result.Model as IndexViewModel;

                    Assert.Equal(1, model.Animals.Count());
                    Assert.Equal("Nala", model.Animals.First().AnimalName);
                }
            }
        }
Пример #23
0
    public List <AppDataManager.DataDesc> GetEmailUpdate()
    {
        LocalDb _MailDB = new LocalDb("MailHistory");
        List <AppDataManager.DataDesc> FetchedData = new List <AppDataManager.DataDesc>();

        System.Data.IDataReader reader = _MailDB.getMailDataUpdate();

        while (reader.Read())
        {
            MailEntity entity = new MailEntity(reader[0].ToString(),
                                               reader[1].ToString(),
                                               reader[2].ToString(),
                                               reader[3].ToString(),
                                               reader[4].ToString(),
                                               reader[5].ToString(),
                                               "",
                                               "",
                                               "",
                                               "",
                                               "",
                                               "",
                                               "");
            bool sentByPlayer = entity._isPlayer.Equals("True") ? true : false;
            FetchedData.Add(new EmailDataManager.EmailDataDesc(int.Parse(entity._id), entity._speaker, sentByPlayer, entity._subject, entity._content, int.Parse(entity._sitID)));
        }
        _MailDB.close();

        return(FetchedData);
    }
Пример #24
0
        public void Can_throw_an_exception()
        {
            using (var sandbox = new LocalDb())
            {
                Runner.MigrateToLatest(sandbox.ConnectionString);

                using (var one = new ZooDbContext(sandbox.ConnectionString))
                {
                    var enclosure = new Enclosure {
                        Environment = "Here", Name = "One", Location = "Here"
                    };
                    one.Enclosures.Add(enclosure);
                    one.SaveChanges();

                    using (var two = new ZooDbContext(sandbox.ConnectionString))
                    {
                        var change = two.Enclosures.Find(enclosure.Id);
                        change.Name = "Changed";
                        two.SaveChanges();
                    }

                    enclosure.Name = "Last Time";
                    Assert.Throws <DbUpdateConcurrencyException>(() => one.SaveChanges());
                }
            }
        }
Пример #25
0
        public static void InitializeDb(TestContext context)
        {
            LocalDb.TryDropDatabaseIfExists(dbName, out _);

            DataModel.CreateTablesAsync(new Type[]
            {
                typeof(Item),
                typeof(Workspace),
                typeof(WorkspaceUser),
                typeof(UserProfile),
                typeof(ColumnHistory),
                typeof(RowVersion)
            }, LocalDb.GetConnection(dbName)).Wait();

            using (var cn = LocalDb.GetConnection(dbName))
            {
                GetProvider().Insert(cn, new Workspace()
                {
                    Name        = wsName,
                    CreatedBy   = userName,
                    DateCreated = DateTime.UtcNow
                });

                GetProvider().Insert(cn, GetUser());
            }
        }
Пример #26
0
 public void Can_CreateLocalDB_With_V13()
 {
     using (var db = new LocalDb(version: LocalDb.Versions.V13))
     {
         Assert.NotNull(db);
     }
 }
Пример #27
0
 public static void Initialize(TestContext context)
 {
     using (var cn = LocalDb.GetConnection(dbName))
     {
         LocalDb.ExecuteInitializeStatements(cn, DbObjects.CreateObjects());
     }
 }
Пример #28
0
 public void Can_CreateLocalDB_With_V13_And_InstanceName()
 {
     using (var db = new LocalDb(version: LocalDb.Versions.V13, instanceName: "Test", tryInstallingInstanceIfNotExists: true))
     {
         Assert.NotNull(db);
     }
 }
Пример #29
0
        public void Delete_Customer_In_Customers_Collection(string name, string dbName)
        {
            this.Destroy($@"E:\Git\c-sharp-libs\tests\dbs\{dbName}.db");
            var localDb = new LocalDb(dbName, @"E:\Git\c-sharp-libs\tests\dbs");
            var col     = localDb.GetCollection <Customer>(name);

            col.EnsureIndex(x => x.Name, true);

            var customer = new Customer
            {
                Name     = "John Doe",
                Phones   = new string[] { "8000-0000", "9000-0000" },
                Age      = 39,
                IsActive = true
            };

            localDb.InsertDocument <Customer>(col, customer);
            var results = col.Find(x => x.Name == customer.Name);

            Assert.AreEqual(results.ToArray().Count(), 1);

            var cust = (Customer)results.ToArray()[0];

            localDb.DeleteDocument <Customer>(col, cust._id);
            var newResults = col.Find(x => x.Name == customer.Name);

            Assert.AreEqual(newResults.ToArray().Count(), 0);
        }
Пример #30
0
 public override void Init(SongSelectLevelScheduler level)
 {
     base.Init(level);
     net = game.netManager;
     web = WebCache.instance;
     res = game.resourceStorage;
     db  = game.localDb;
 }