entity constrain, base product type service

master
syneffort 3 years ago
parent 4ba6bed095
commit 22b8a41e57
  1. 2
      TinyPOS/TinyPosDBGen/Program.cs
  2. 1
      TinyPOS/TinyPosEntity/EntityContext.cs
  3. 67
      TinyPOS/TinyPosEntity/EntityController.cs
  4. 17
      TinyPOS/TinyPosEntity/Product.cs
  5. 14
      TinyPOS/TinyPosEntity/ProductType.cs
  6. 9
      TinyPOS/TinyPosEntity/TinyPosEntity.csproj
  7. 14
      TinyPOS/TinyPosEntity/Transaction.cs
  8. 15
      TinyPOS/TinyPosEntity/TransactionItem.cs

@ -32,7 +32,7 @@ namespace TinyPosDBGen
Console.WriteLine("데이터베이스를 초기화 합니다.");
EntityController.ConnectionString = connString;
EntityController.GetInstance().Initialize();
EntityController.Instance.InitializeDatabase();
Console.WriteLine("초기화가 완료되었습니다.");
Console.WriteLine();

@ -4,6 +4,7 @@ using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TinyPosEntity.Entity;
namespace TinyPosEntity
{

@ -4,6 +4,8 @@ using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TinyPosEntity.Entity;
using TinyPosEntity.Service;
namespace TinyPosEntity
{
@ -12,24 +14,23 @@ namespace TinyPosEntity
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;
}
public static EntityController GetInstance()
private static void Init()
{
if (string.IsNullOrEmpty(ConnectionString))
throw new Exception("ConnectionString 값이 필요합니다.");
if (instance == null)
instance = new EntityController(ConnectionString);
return instance;
}
public void Initialize()
public void InitializeDatabase()
{
Database.SetInitializer<EntityContext>(new EntityInitializer());
@ -38,8 +39,7 @@ namespace TinyPosEntity
context.Database.CreateIfNotExists();
}
AddProductType(GetDefaultProductTypes());
ProductTypeService.Instance.Create(GetDefaultProductTypes());
}
private List<ProductType> GetDefaultProductTypes()
@ -55,60 +55,5 @@ namespace TinyPosEntity
return productTypeList;
}
public void AddProductType(ProductType type)
{
using (EntityContext context = new EntityContext())
{
context.ProductTypes.Add(type);
context.SaveChanges();
}
}
public void AddProductType(List<ProductType> types)
{
using (EntityContext context = new EntityContext())
{
foreach (ProductType type in types)
{
context.ProductTypes.Add(type);
}
context.SaveChanges();
}
}
//public void AddStudent(Student student)
//{
// using (EntityContext context = new EntityContext())
// {
// context.Students.Add(student);
// context.SaveChanges();
// }
//}
//public List<Student> FindStudent(string name)
//{
// List<Student> result = null;
// using (EntityContext context = new EntityContext())
// {
// var student = from s in context.Students
// where s.StudentName.Equals(name)
// select s;
// if (student.Count() > 0)
// result = student.ToList();
// }
// return result;
//}
//public void RemoveStudent(Student student)
//{
// using (EntityContext context = new EntityContext())
// {
// context.Database.ExecuteSqlCommand("DELETE FROM dbo.Students WHERE StudentName = {0}", student.StudentName);
// }
//}
}
}

@ -1,17 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TinyPosEntity
{
public class Product
{
public int ProductId { get; set; }
public ProductType ProductType { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public string Barcode { get; set; }
}
}

@ -1,14 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TinyPosEntity
{
public class ProductType
{
public int ProductTypeId { get; set; }
public string Name { get; set; }
}
}

@ -53,21 +53,22 @@
<ItemGroup>
<Compile Include="EntityContext.cs" />
<Compile Include="EntityController.cs" />
<Compile Include="Product.cs" />
<Compile Include="ProductType.cs" />
<Compile Include="Entity\Product.cs" />
<Compile Include="Entity\ProductType.cs" />
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Service\ProductTypeService.cs" />
<Compile Include="TestDatabaseDataSet.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>TestDatabaseDataSet.xsd</DependentUpon>
</Compile>
<Compile Include="Transaction.cs" />
<Compile Include="TransactionItem.cs" />
<Compile Include="Entity\Transaction.cs" />
<Compile Include="Entity\TransactionItem.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />

@ -1,14 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TinyPosEntity
{
public class Transaction
{
public string TransactionId { get; set; }
public DateTime Timestamp { get; set; }
}
}

@ -1,15 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TinyPosEntity
{
public class TransactionItem
{
public string TransactionItemId { get; set; }
public Transaction Transaction { get; set; }
public Product Product { get; set; }
}
}
Loading…
Cancel
Save