Skip to content

Commit

Permalink
maraf#223 - Summary and Overview constraints.
Browse files Browse the repository at this point in the history
  • Loading branch information
maraf committed Aug 8, 2019
1 parent 5449d54 commit 8dd4fe0
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 25 deletions.
20 changes: 10 additions & 10 deletions src/Money.UI.Blazor/Pages/OverviewMonth.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,30 @@

namespace Money.Pages
{
[Route("/outcomes/{Year}/{Month}")]
[Route("/overview/{Year}/{Month}")]
[Route("/overview/{Year}/{Month}/{CategoryGuid}")]
[Route("/{Year}/{Month}/overview")]
[Route("/{Year}/{Month}/overview/{CategoryGuid}")]
[Route("/outcomes/{Year:int}/{Month:int}")]
[Route("/overview/{Year:int}/{Month:int}")]
[Route("/overview/{Year:int}/{Month:int}/{CategoryGuid:guid}")]
[Route("/{Year:int}/{Month:int}/overview")]
[Route("/{Year:int}/{Month:int}/overview/{CategoryGuid:guid}")]
public class OverviewMonth : Overview<MonthModel>
{
[Parameter]
protected string Year { get; set; }
protected int Year { get; set; }

[Parameter]
protected string Month { get; set; }
protected int Month { get; set; }

[Parameter]
protected string CategoryGuid { get; set; }
protected Guid? CategoryGuid { get; set; }

public OverviewMonth()
=> SubTitle = "List of each single outcome in selected month";

protected override MonthModel CreateSelectedItemFromParameters()
=> new MonthModel(Int32.Parse(Year), Int32.Parse(Month));
=> new MonthModel(Year, Month);

protected override IKey CreateSelectedCategoryFromParameters()
=> Guid.TryParse(CategoryGuid, out var categoryGuid) ? GuidKey.Create(categoryGuid, KeyFactory.Empty(typeof(Category)).Type) : KeyFactory.Empty(typeof(Category));
=> CategoryGuid != null ? GuidKey.Create(CategoryGuid.Value, KeyFactory.Empty(typeof(Category)).Type) : KeyFactory.Empty(typeof(Category));

protected override IQuery<List<OutcomeOverviewModel>> CreateItemsQuery(int pageIndex)
=> new ListMonthOutcomeFromCategory(CategoryKey, SelectedPeriod, SortDescriptor, pageIndex);
Expand Down
12 changes: 6 additions & 6 deletions src/Money.UI.Blazor/Pages/OverviewYear.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,24 @@

namespace Money.Pages
{
[Route("/{Year}/overview")]
[Route("/{Year}/overview/{CategoryGuid}")]
[Route("/{Year:int}/overview")]
[Route("/{Year:int}/overview/{CategoryGuid:guid}")]
public class OverviewYear : Overview<YearModel>
{
[Parameter]
protected string Year { get; set; }
protected int Year { get; set; }

[Parameter]
protected string CategoryGuid { get; set; }
protected Guid? CategoryGuid { get; set; }

public OverviewYear()
=> SubTitle = "List of each single outcome in selected year";

protected override YearModel CreateSelectedItemFromParameters()
=> new YearModel(Int32.Parse(Year));
=> new YearModel(Year);

protected override IKey CreateSelectedCategoryFromParameters()
=> Guid.TryParse(CategoryGuid, out var categoryGuid) ? GuidKey.Create(categoryGuid, KeyFactory.Empty(typeof(Category)).Type) : KeyFactory.Empty(typeof(Category));
=> CategoryGuid != null ? GuidKey.Create(CategoryGuid.Value, KeyFactory.Empty(typeof(Category)).Type) : KeyFactory.Empty(typeof(Category));

protected override IQuery<List<OutcomeOverviewModel>> CreateItemsQuery(int pageIndex)
=> new ListYearOutcomeFromCategory(CategoryKey, SelectedPeriod, SortDescriptor, pageIndex);
Expand Down
10 changes: 5 additions & 5 deletions src/Money.UI.Blazor/Pages/SummaryMonth.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@
namespace Money.Pages
{
[Route("/")]
[Route("/{Year}/{Month}")]
[Route("/{Year:int}/{Month:int}")]
public class SummaryMonth : Summary<MonthModel>
{
[Parameter]
protected string Year { get; set; }
protected int? Year { get; set; }

[Parameter]
protected string Month { get; set; }
protected int? Month { get; set; }

public SummaryMonth()
=> SubTitle = "Per-month summary of outcomes in categories";
Expand All @@ -36,8 +36,8 @@ protected override MonthModel CreateSelectedItemFromParameters()
{
Log.Debug($"CreateSelectedItemFromParameters(Year='{Year}', Month='{Month}')");

if (!String.IsNullOrEmpty(Year) && !String.IsNullOrEmpty(Month))
return new MonthModel(Int32.Parse(Year), Int32.Parse(Month));
if (Year != null && Month != null)
return new MonthModel(Year.Value, Month.Value);
else
return null;
}
Expand Down
8 changes: 4 additions & 4 deletions src/Money.UI.Blazor/Pages/SummaryYear.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@

namespace Money.Pages
{
[Route("/{Year}")]
[Route("/{Year:int}")]
public class SummaryYear : Summary<YearModel>
{
[Parameter]
protected string Year { get; set; }
protected int? Year { get; set; }

public SummaryYear()
=> SubTitle = "Per-year summary of outcomes in categories";
Expand All @@ -29,8 +29,8 @@ protected override YearModel CreateSelectedItemFromParameters()
{
Log.Debug($"CreateSelectedItemFromParameters(Year='{Year}')");

if (!String.IsNullOrEmpty(Year))
return new YearModel(Int32.Parse(Year));
if (Year != null)
return new YearModel(Year.Value);
else
return null;
}
Expand Down

0 comments on commit 8dd4fe0

Please sign in to comment.