Пример #1
0
        /// <summary>
        /// 初始化ChunChenBase库,类型为SQLite数据库
        /// </summary>
        public static void InitBase()
        {
            string connectionString = AppDomain.CurrentDomain.BaseDirectory + @"Data\";

            //string connectionString = AppDomain.CurrentDomain.BaseDirectory;
            AppDomain.CurrentDomain.SetData("DataDirectory", connectionString);

            SQLiteBaseForEF.ExistsDBFile(connectionString, "ChunChenBase.db");

            //初始一个admin账户
            using (SQLiteConnectConfig context = new SQLiteConnectConfig())
            {
                var employeeInfo = context.EmployeeInfo.Where(x => x.Id == adminEmployeeId).FirstOrDefault();
                if (employeeInfo == null)
                {
                    employeeInfo = new Entity.EmployeeInfo
                    {
                        Id            = adminEmployeeId,
                        EmployeeNo    = 0,
                        Name          = "Admin",
                        Mobile        = "15665699774",
                        Gender        = 1,
                        Birthday      = new DateTime(1996, 7, 1),
                        Authority     = 0,
                        Spend         = 0,
                        JoinDate      = new DateTime(1996, 7, 1),
                        Quit          = false,
                        QuitDate      = null,
                        CreateDate    = DateTime.Now,
                        LastUpdatedOn = DateTime.Now,
                        Deleted       = false
                    };
                    context.EmployeeInfo.Add(employeeInfo);
                }

                var accountInfo = context.AccountInfo.Where(x => x.Id == adminAccountId).FirstOrDefault();
                if (accountInfo == null)
                {
                    accountInfo = new Entity.AccountInfo
                    {
                        Id         = adminAccountId,
                        Account    = "admin",
                        Password   = "******",
                        EmployeeId = adminEmployeeId,
                        Deleted    = false
                    };
                    context.AccountInfo.Add(accountInfo);
                }

                context.SaveChanges();
            }
        }
Пример #2
0
        /// <summary>
        /// 创建数据库文件(直接覆盖)
        /// </summary>
        /// <param name="fileName"></param>
        public static bool CreateDBFile()
        {
            try
            {
                using (SQLiteConnectConfig context = new SQLiteConnectConfig())
                {
                    Directory.CreateDirectory(path);
                    SQLiteConnection.CreateFile(path + dbName);

                    //创建账户信息表
                    context.Database.ExecuteSqlCommand(@"CREATE TABLE [Account] (
                    [Id] BLOB  UNIQUE NOT NULL PRIMARY KEY,
                    [Account] TEXT  NOT NULL,
                    [Password] TEXT  NOT NULL,
                    [EmployeeId] BLOB  NULL,
                    [Deleted] BOOLEAN DEFAULT '0' NOT NULL
                    )");

                    //创建自增字段记录表
                    context.Database.ExecuteSqlCommand(@"CREATE TABLE [Autoincrement] (
                    [Key] TEXT  NOT NULL,
                    [Value] TEXT  NOT NULL
                    )");

                    //创建客户信息表
                    context.Database.ExecuteSqlCommand(@"CREATE TABLE [Customer] (
                    [Id] BLOB  NOT NULL,
                    [CustomerNo] INTEGER  NOT NULL,
                    [Name] TEXT  NOT NULL,
                    [Gender] INTEGER  NULL,
                    [Mobile] TEXT  NOT NULL,
                    [Address] TEXT  NULL,
                    [Birthday] BLOB  NULL,
                    [WaiterId] BLOB  NULL,
                    [WaiterName] TEXT  NULL,
                    [Spend] FLOAT  NULL,
                    [CreateDate] BLOB  NULL,
                    [LastUpdatedOn] BLOB  NULL,
                    [Deleted] Bool  NULL
                    )");

                    //创建员工信息表
                    context.Database.ExecuteSqlCommand(@"CREATE TABLE [Employee] (
                    [Id] BLOB  UNIQUE NOT NULL,
                    [EmployeeNo] INTEGER  NOT NULL,
                    [Name] TEXT  NOT NULL,
                    [Mobile] TEXT  NOT NULL,
                    [Gender] INTEGER  NOT NULL,
                    [Birthday] DATETIME  NULL,
                    [Authority] INTEGER  NULL,
                    [Spend] FLOAT  NULL,
                    [JoinDate] DATETIME  NOT NULL,
                    [Quit] Bool  NULL,
                    [QuitDate] DATETIME  NULL,
                    [CreateDate] DATETIME  NOT NULL,
                    [LastUpdatedOn] DATETIME  NOT NULL,
                    [Deleted] Bool  NULL
                    )");

                    //创建订单表
                    context.Database.ExecuteSqlCommand(@"CREATE TABLE [Order] (
                    [Id] BLOB  UNIQUE NOT NULL PRIMARY KEY,
                    [OrderNo] INTEGER  NOT NULL,
                    [Title] TEXT  NOT NULL,
                    [Details] TEXT  NULL,
                    [Price] FLOAT  NULL,
                    [CustomerId] BLOB  NULL,
                    [CustomerName] TEXT  NULL,
                    [EmployeeId] BLOB  NULL,
                    [EmployeeName] TEXT  NULL,
                    [Status] INTEGER  NULL,
                    [DealDate] BLOB  NULL,
                    [CreateDate] BLOB  NULL,
                    [LastUpdatedOn] BLOB  NULL,
                    [Deleted] BOOLEAN  NULL
                    )");

                    //创建信息记录表
                    context.Database.ExecuteSqlCommand(@"CREATE TABLE [Record] (
                    [Id] BLOB  NULL PRIMARY KEY,
                    [CustomerId] BLOB  NULL,
                    [EmployeeId] BLOB  NULL,
                    [EmployeeName] TEXT  NULL,
                    [Message] TEXT  NULL,
                    [CreateDate] BLOB  NULL
                    )");

                    return(true);
                }
            }
            catch (Exception e)
            {
                var message = e.Message;
                return(false);
            }
        }