Skip to content

Commit 35932f6

Browse files
committed
Fixed EF configuration for Auction class. Fixed #3.
1 parent 7334a7c commit 35932f6

File tree

3 files changed

+30
-44
lines changed

3 files changed

+30
-44
lines changed

Ebuy.Common/Entities/Auction.cs

Lines changed: 19 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,26 @@
88

99
namespace Ebuy
1010
{
11-
[MetadataType(typeof(Auction.Metadata))]
1211
public class Auction : Entity<Guid>
1312
{
14-
public virtual string Title { get; set; }
15-
public virtual string Description { get; set; }
16-
public virtual DateTime StartTime { get; set; }
17-
public virtual DateTime EndTime { get; set; }
18-
public virtual Currency StartPrice { get; set; }
19-
public virtual Currency CurrentPrice { get; set; }
20-
21-
public Guid? WinningBidId { get; set; }
13+
[Required, StringLength(500)]
14+
public virtual string Title { get; set; }
15+
16+
[Required]
17+
public virtual string Description { get; set; }
18+
19+
[Required]
20+
public virtual DateTime StartTime { get; set; }
21+
22+
[Required]
23+
public virtual DateTime EndTime { get; set; }
24+
25+
public Currency StartPrice { get; set; }
26+
27+
public Currency CurrentPrice { get; set; }
28+
29+
[ForeignKey("WinningBid")]
30+
public Guid? WinningBidId { get; set; }
2231
public virtual Bid WinningBid { get; private set; }
2332

2433
public bool IsCompleted
@@ -81,40 +90,7 @@ public Bid PostBid(User user, Currency bidAmount)
8190

8291
return bid;
8392
}
84-
85-
86-
public class Metadata
87-
{
88-
[InverseProperty("Auction")]
89-
public object Bids;
90-
91-
public object Categories;
92-
93-
[Required]
94-
public object CurrentPrice;
95-
96-
[Required]
97-
public object Description;
98-
99-
[Required]
100-
public object EndTime;
101-
102-
[InverseProperty("Selling")]
103-
public object Owner;
104-
105-
[Required]
106-
[ForeignKey("Owner")]
107-
public object OwnerId;
108-
109-
[Required]
110-
public object StartTime;
111-
112-
[Required, StringLength(500)]
113-
public object Title;
114-
115-
[ForeignKey("WinningBid")]
116-
public object WinningBidId;
117-
}
93+
11894
}
11995

12096
public class InvalidBidException : Exception

Ebuy.Website.Tests/Ebuy.Website.Tests.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
1515
<FileAlignment>512</FileAlignment>
1616
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
17+
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
18+
<RestorePackages>true</RestorePackages>
1719
</PropertyGroup>
1820
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1921
<DebugSymbols>true</DebugSymbols>
@@ -109,6 +111,7 @@
109111
</ProjectReference>
110112
</ItemGroup>
111113
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
114+
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
112115
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
113116
Other similar extension points exist, see Microsoft.Common.targets.
114117
<Target Name="BeforeBuild">

Ebuy.Website/Views/Auctions/Auctions.cshtml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,14 @@
1414

1515
<section id="auction-details">
1616
@* Render the first Auction using the Partial View on the server *@
17-
@Html.Partial("Auction", Model.FirstOrDefault())
17+
@if (Model.Any())
18+
{
19+
@Html.Partial("Auction", Model.First())
20+
}
21+
else
22+
{
23+
<p>There are no auctions running right now. Try creating @Html.ActionLink("few", "Create").</p>
24+
}
1825
</section>
1926

2027
<script id="auction-template" type="text/x-template">

0 commit comments

Comments
 (0)