Skip to content

Commit

Permalink
Updated project with hierarchy
Browse files Browse the repository at this point in the history
  • Loading branch information
icom85 committed Nov 9, 2015
1 parent 38548cb commit 1699292
Show file tree
Hide file tree
Showing 18 changed files with 180 additions and 101 deletions.
2 changes: 1 addition & 1 deletion RadGridViewEFCodeFirst.Data/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@
</providers>
</entityFramework>
<connectionStrings>
<add name="RadGridViewEFCodeFirstConnection" connectionString="Data Source=.\SQLExpress;Initial Catalog=RadGridViewEFCodeFirst;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="RadGridViewEFCodeFirstConnection" connectionString="Data Source=.\SQLExpress;Initial Catalog=RadGridViewEFCodeFirstInHierarchy;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
51 changes: 51 additions & 0 deletions RadGridViewEFCodeFirst.Data/Common/DataGenerator.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
using RadGridViewEFCodeFirst.Data.Contracts;
using RadGridViewEFCodeFirst.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RadGridViewEFCodeFirst.Data.Common
{
public class DataGenerator
{
public static void PopulateData(IRadGridViewEFCodeFirstData data)
{
for (int i = 1; i <= 100; i++)
{
OrderType orderType = new OrderType()
{
OrderTypeId = i,
Description = "Test" + i
};

Order order = new Order()
{
OrderId = i,
Description = "Description" + i,
OrderTypeId = orderType.OrderTypeId
};

Shipper shipper = new Shipper()
{
ShipperId = i,
Name = "Name " + i,
OrderTypeId = orderType.OrderTypeId,
Address = "Address " + i,
};

data.OrderTypes.Add(orderType);
data.Orders.Add(order);
data.Shippers.Add(shipper);

if (i % 100 == 0)
{
data.SaveChanges();
}
}

data.SaveChanges();
}
}
}
3 changes: 0 additions & 3 deletions RadGridViewEFCodeFirst.Data/Contracts/IGenericRepository.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace RadGridViewEFCodeFirst.Data.Contracts
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
using RadGridViewEFCodeFirst.Models;
using System;
using System.Collections.Generic;
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using RadGridViewEFCodeFirst.Models;

namespace RadGridViewEFCodeFirst.Data.Contracts
{
Expand All @@ -15,6 +13,8 @@ public interface IRadGridViewEFCodeFirstContext

IDbSet<OrderType> OrderTypes { get; set; }

IDbSet<Shipper> Shippers { get; set; }

IDbSet<T> Set<T>() where T : class;

DbEntityEntry<T> Entry<T>(T entity) where T : class;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
using RadGridViewEFCodeFirst.Models;
using System;
using System.Collections.Generic;
using System;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using RadGridViewEFCodeFirst.Models;

namespace RadGridViewEFCodeFirst.Data.Contracts
{
Expand All @@ -12,5 +10,9 @@ public interface IRadGridViewEFCodeFirstData
IGenericRepository<Order> Orders { get; }

IGenericRepository<OrderType> OrderTypes { get; }

IGenericRepository<Shipper> Shippers { get; }

void SaveChanges();
}
}
2 changes: 0 additions & 2 deletions RadGridViewEFCodeFirst.Data/Migrations/Configuration.cs
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
namespace RadGridViewEFCodeFirst.Data.Migrations
{
using System;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Linq;

internal sealed class Configuration : DbMigrationsConfiguration<RadGridViewEFCodeFirst.Data.RadGridViewEFCodeFirstContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
this.AutomaticMigrationsEnabled = true;
this.AutomaticMigrationDataLossAllowed = true;
this.ContextKey = "RadGridViewEFCodeFirst.Data.RadGridViewEFCodeFirstContext";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,17 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Common\DataGenerator.cs" />
<Compile Include="Contracts\IGenericRepository.cs" />
<Compile Include="Contracts\IRadGridViewEFCodeFirstContext.cs" />
<Compile Include="Contracts\IRadGridViewEFCodeFirstData.cs" />
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Migrations\Configuration.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RadGridViewEFCodeFirstContext.cs" />
<Compile Include="RadGridViewEFCodeFirstData.cs" />
<Compile Include="Repositories\GenericRepository.cs" />
<Compile Include="RadGridViewEFCodeFirstRepository.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
Expand Down
15 changes: 7 additions & 8 deletions RadGridViewEFCodeFirst.Data/RadGridViewEFCodeFirstContext.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
using RadGridViewEFCodeFirst.Data.Contracts;
using RadGridViewEFCodeFirst.Data.Migrations;
using RadGridViewEFCodeFirst.Models;
using System;
using System.Collections.Generic;
using System;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using RadGridViewEFCodeFirst.Data.Contracts;
using RadGridViewEFCodeFirst.Data.Migrations;
using RadGridViewEFCodeFirst.Models;

namespace RadGridViewEFCodeFirst.Data
{
Expand All @@ -19,10 +17,11 @@ public RadGridViewEFCodeFirstContext()
}

public IDbSet<Order> Orders { get; set; }


public IDbSet<OrderType> OrderTypes { get; set; }

public IDbSet<Shipper> Shippers { get; set; }

public new IDbSet<T> Set<T>() where T : class
{
return base.Set<T>();
Expand Down
21 changes: 13 additions & 8 deletions RadGridViewEFCodeFirst.Data/RadGridViewEFCodeFirstData.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
using RadGridViewEFCodeFirst.Data.Contracts;
using RadGridViewEFCodeFirst.Data.Repositories;
using RadGridViewEFCodeFirst.Models;
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using RadGridViewEFCodeFirst.Data.Contracts;
using RadGridViewEFCodeFirst.Models;

namespace RadGridViewEFCodeFirst.Data
{
Expand Down Expand Up @@ -41,6 +39,14 @@ public IGenericRepository<OrderType> OrderTypes
}
}

public IGenericRepository<Shipper> Shippers
{
get
{
return this.GetRepository<Shipper>();
}
}

public void SaveChanges()
{
this.context.SaveChanges();
Expand All @@ -51,8 +57,7 @@ private IGenericRepository<T> GetRepository<T>() where T : class
var typeOfModel = typeof(T);
if (!this.repositories.ContainsKey(typeOfModel))
{
var type = typeof(GenericRepository<T>);

Type type = typeof(RadGridViewEFCodeFirstRepository<T>);
this.repositories.Add(typeOfModel, Activator.CreateInstance(type, this.context));
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
using RadGridViewEFCodeFirst.Data.Contracts;
using System;
using System.Collections.Generic;
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace RadGridViewEFCodeFirst.Data.Repositories
using RadGridViewEFCodeFirst.Data.Contracts;

namespace RadGridViewEFCodeFirst.Data
{
public class GenericRepository<T> : IGenericRepository<T> where T : class
public class RadGridViewEFCodeFirstRepository<T> : IGenericRepository<T> where T : class
{
private IRadGridViewEFCodeFirstContext context;
private IDbSet<T> set;

public GenericRepository(IRadGridViewEFCodeFirstContext context)
public RadGridViewEFCodeFirstRepository(IRadGridViewEFCodeFirstContext context)
{
this.context = context;
this.set = context.Set<T>();
Expand Down
2 changes: 1 addition & 1 deletion RadGridViewEFCodeFirst.Models/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@
</providers>
</entityFramework>
<connectionStrings>
<add name="RadGridViewEFCodeFirstConnection" connectionString="Data Source=.\SQLExpress;Initial Catalog=RadGridViewEFCodeFirst;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="RadGridViewEFCodeFirstConnection" connectionString="Data Source=.\SQLExpress;Initial Catalog=RadGridViewEFCodeFirstInHierarchy;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
3 changes: 0 additions & 3 deletions RadGridViewEFCodeFirst.Models/Order.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RadGridViewEFCodeFirst.Models
{
Expand Down
14 changes: 14 additions & 0 deletions RadGridViewEFCodeFirst.Models/OrderType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ namespace RadGridViewEFCodeFirst.Models
public class OrderType
{
private ICollection<Order> orders;
private ICollection<Shipper> shippers;

public OrderType()
{
this.orders = new HashSet<Order>();
this.shippers = new HashSet<Shipper>();
}

public int OrderTypeId { get; set; }
Expand All @@ -29,6 +31,18 @@ public virtual ICollection<Order> Orders
}
}

public virtual ICollection<Shipper> Shippers
{
get
{
return this.shippers;
}
set
{
this.shippers = value;
}
}

public string Description { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,10 @@
<Compile Include="Order.cs" />
<Compile Include="OrderType.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Shipper.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config">
<SubType>Designer</SubType>
</None>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Expand Down
2 changes: 1 addition & 1 deletion RadGridViewEFCodeFirst.WinFormsClient/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@
</providers>
</entityFramework>
<connectionStrings>
<add name="RadGridViewEFCodeFirstConnection" connectionString="Data Source=.\SQLExpress;Initial Catalog=RadGridViewEFCodeFirst;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="RadGridViewEFCodeFirstConnection" connectionString="Data Source=.\SQLExpress;Initial Catalog=RadGridViewEFCodeFirstInHierarchy;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Loading

0 comments on commit 1699292

Please sign in to comment.