Beispiel #1
0
        public static OrmLiteConnectionFactory GetDbConnectionFromConfig()
        {
            var cs = ConfigurationManager.AppSettings.Get("ConnectionString_SQLite");

            cs = cs.Replace("{PATH}", Application.StartupPath);

            SqliteOrmLiteDialectProvider dialect = SqliteOrmLiteDialectProvider.Instance;

            dialect.UseUnicode = true;

            dialect.NamingStrategy = new ABNamingStrategy();

            return(new OrmLiteConnectionFactory(cs, false, dialect));
        }
Beispiel #2
0
 public void TestFixtureSetUp()
 {
     _dialectProvider = new SqliteOrmLiteDialectProvider();
 }
Beispiel #3
0
        public override void Configure(Funq.Container container)
        {
            JsConfig.EmitCamelCaseNames = true;
            JsConfig.DateHandler        = JsonDateHandler.ISO8601;

            Plugins.Add(new CorsFeature());
            this.PreRequestFilters.Add((httpReq, httpRes) =>
            {
                if (httpReq.HttpMethod == "OPTIONS")
                {
                    httpRes.AddHeader("Access-Control-Allow-Methods", "PUT, DELETE, POST, GET, OPTIONS");
                    httpRes.AddHeader("Access-Control-Allow-Headers", "X-Requested-With, Content-Type");
                    httpRes.EndRequest();
                }
            });

            var embedKey         = ConfigurationManager.AppSettings["EmbedKey"];
            var connectionString = ConfigurationManager.AppSettings["AppDbPath"].MapAbsolutePath();

            Interval = int.Parse(ConfigurationManager.AppSettings["Interval"]);

            var dialectProvider = new SqliteOrmLiteDialectProvider();
            var dbFactory       = new OrmLiteConnectionFactory(connectionString, dialectProvider);

            container.Register <IEmbedlyClient>(new EmbedlyClient(embedKey));
            container.Register <IDbConnectionFactory>(dbFactory);

            dbFactory.Run(db =>
            {
                if (!db.TableExists("Menu"))
                {
                    var modelTypes = typeof(Meal).Assembly.GetTypes()
                                     .Where(t => t.Namespace.Contains("Model"));

                    db.DropAndCreateTables(modelTypes.ToArray());

                    var exp  = db.CreateExpression <Menu>();
                    var menu = db.FirstOrDefault(exp);
                    if (menu == null)
                    {
                        menu = new Menu();
                        menu.intervalStart = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek).Date;
                        menu.intervalEnd   = DateTime.Now.Date;

                        db.Insert(menu);
                    }

                    var newMeals      = new List <Meal>();
                    var existingMeals = new List <Meal>();

                    for (int i = 0; i < Interval; i++)
                    {
                        var meal = db.GetByIdOrDefault <Meal>(i + 1);
                        if (meal == null)
                        {
                            meal = new Meal();
                            newMeals.Add(meal);
                        }
                        else
                        {
                            existingMeals.Add(meal);
                        }

                        meal.menuId = menu.id;
                        meal.date   = DateTime.Now.AddDays(-Interval + i).Date;
                        meal.title  = "test meal " + i;
                        meal.url    = "http://localhost/meal/" + i;
                    }

                    db.InsertAll(newMeals);
                    db.UpdateAll(existingMeals);
                }
            });
        }