// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory,
                              BusinessSeedData seeder)
        {
            loggerFactory.AddConsole();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseStaticFiles();
            app.UseIdentity();
            Mapper.Initialize(config => {
                config.CreateMap <BusinessViewModel, Business>().ReverseMap();
                config.CreateMap <CategoryViewModel, Category>().ReverseMap();
                config.CreateMap <RegisterViewModel, BusinessUser>().ReverseMap();
            });
            app.UseMvc(config =>
            {
                config.MapRoute(
                    name: "Default",
                    template: "{controller}/{action}/{id?}",
                    defaults: new { controller = "App", action = "Index" }
                    );
            });
            seeder.EnsureData().Wait();
        }
        private void AddWarehouse(M model)
        {
            var db     = Request.GetOwinContext().Get <BusinessDbContext>();
            var shopId = model.Id;

            BusinessSeedData.AddWarehouse(db, shopId);
        }
        private void AddSupplier(M model)
        {
            var db     = Request.GetOwinContext().Get <BusinessDbContext>();
            var shopId = model.Id;

            BusinessSeedData.AddSupplier(shopId, db, model.Name);
        }
        private void AddAccountHeads(M model)
        {
            var db     = Request.GetOwinContext().Get <BusinessDbContext>();
            var shopId = model.Id;

            BusinessSeedData.AddAccountHeads(db, shopId);
            BusinessSeedData.AddWallet(db, shopId);
        }
        protected override void Seed(BusinessDbContext context)
        {
            BusinessSeedData.AddSysShop(context);
            const string demoShopId = "00000000-0000-0000-0000-000000000001";

            BusinessSeedData.AddShop(context, demoShopId, "Demo1");
            BusinessSeedData.AddBrand(demoShopId, context);
            BusinessSeedData.AddAccountHeads(context, demoShopId);
            BusinessSeedData.AddWallet(context, demoShopId);
            BusinessSeedData.AddProducts(context, demoShopId);
            BusinessSeedData.AddSupplier(context, demoShopId);
            BusinessSeedData.AddCustomer(context, demoShopId);
            BusinessSeedData.AddWarehouse(context, demoShopId);
        }
        protected override void Seed(BusinessDbContext context)
        {
            BusinessSeedData.AddSysShop(context);

            const string demoShopId = "00000000-0000-0000-0000-000000000001";

            BusinessSeedData.AddShop(context, demoShopId, "Demo1");
            BusinessSeedData.AddBrand(demoShopId, context);
            BusinessSeedData.AddAccountHeads(context, demoShopId);
            BusinessSeedData.AddWallet(context, demoShopId);
            BusinessSeedData.AddProducts(context, demoShopId);
            BusinessSeedData.AddSupplier(context, demoShopId);
            BusinessSeedData.AddCustomer(context, demoShopId);
            BusinessSeedData.AddWarehouses(context); // manually sql query to update the whid in tables
            BusinessSeedData.UpdateWarehouseRelatedData(context);
            BusinessSeedData.UpdateSaleDetailType(context);
        }