using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; using TinyPosEntity.Entity; using TinyPosEntity.Service; namespace TinyPosEntity { public class EntityController { public static string ConnectionString { get; set; } private static EntityController instance; public static EntityController Instance { get { Init(); return instance; } } private EntityController(string connectionString) { EntityContext.ConnectionString = connectionString; } private static void Init() { if (string.IsNullOrEmpty(ConnectionString)) throw new Exception("ConnectionString 값이 필요합니다."); if (instance == null) instance = new EntityController(ConnectionString); } public void InitializeDatabase() { Database.SetInitializer(new EntityInitializer()); using (EntityContext context = new EntityContext()) { context.Database.CreateIfNotExists(); } ProductTypeService.Instance.Create(GetDefaultProductTypes()); } private List GetDefaultProductTypes() { List productTypeList = new List(); productTypeList.Add(new ProductType() { Name = "담배" }); productTypeList.Add(new ProductType() { Name = "주류" }); productTypeList.Add(new ProductType() { Name = "음료" }); productTypeList.Add(new ProductType() { Name = "과자" }); productTypeList.Add(new ProductType() { Name = "식료품" }); productTypeList.Add(new ProductType() { Name = "잡화" }); productTypeList.Add(new ProductType() { Name = "기타" }); return productTypeList; } } }