Browse Source
Consider the year in the CanCreateNewEvent method
pull/90/head
berkansasmaz
5 years ago
No known key found for this signature in database
GPG Key ID: 3AD81E2CA002230D
6 changed files with
7 additions and
7 deletions
src/EventHub.Application.Contracts/Organizations/FeatureOfPlanDefinitionDto.cs
src/EventHub.Domain/Organizations/Plans/FeatureOfPlanDefinition.cs
src/EventHub.Domain/Organizations/Plans/PlanFeatureManager.cs
src/EventHub.Domain/Organizations/Plans/PlanInfoDefinition.cs
src/EventHub.HttpApi.Host/appsettings.json
src/EventHub.Web/Pages/Pricing.cshtml
@ -4,7 +4,7 @@ namespace EventHub.Organizations;
public class FeatureOfPlanDefinitionDto
public class FeatureOfPlanDefinitionDto
{
{
public uint? MaxAllowedEventsCount { get ; set ; }
public uint? MaxAllowedEventsCountInOneYear { get ; set ; }
public uint? MaxAllowedTracksCountInOneEvent { get ; set ; }
public uint? MaxAllowedTracksCountInOneEvent { get ; set ; }
@ -8,7 +8,7 @@ public class FeatureOfPlanDefinition
{
{
[CanBeNull]
[CanBeNull]
[Range(0, uint.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
[Range(0, uint.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
public uint? MaxAllowedEventsCount { get ; set ; }
public uint? MaxAllowedEventsCountInOneYear { get ; set ; }
[CanBeNull]
[CanBeNull]
[Range(0, uint.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
[Range(0, uint.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
@ -30,9 +30,9 @@ public class PlanFeatureManager : ITransientDependency
{
{
var currentPlanOfOrganization = await GetCurrentPlanByOrganizationIdAsync ( organizationId ) ;
var currentPlanOfOrganization = await GetCurrentPlanByOrganizationIdAsync ( organizationId ) ;
var totalEventCountByOrganization = await _ eventRepository . CountAsync ( x = > x . OrganizationId = = organizationId ) ;
var totalEventCountByOrganization = await _ eventRepository . CountAsync ( x = > x . OrganizationId = = organizationId & & x . CreationTime . Year < DateTime . Now . Year + 1 & & x . CreationTime . Year > DateTime . Now . Year - 1 ) ;
totalEventCountByOrganization + + ;
totalEventCountByOrganization + + ;
return currentPlanOfOrganization . Feature . MaxAllowedEventsCount > = totalEventCountByOrganization ;
return currentPlanOfOrganization . Feature . MaxAllowedEventsCountInOneYear > = totalEventCountByOrganization ;
}
}
public virtual async Task < bool > CanAddNewTrack ( Event @event )
public virtual async Task < bool > CanAddNewTrack ( Event @event )
@ -36,7 +36,7 @@ public class PlanInfoDefinition
{
{
Feature = new FeatureOfPlanDefinition
Feature = new FeatureOfPlanDefinition
{
{
MaxAllowedEventsCount = uint . MaxValue ,
MaxAllowedEventsCountInOneYear = uint . MaxValue ,
MaxAllowedTracksCountInOneEvent = uint . MaxValue ,
MaxAllowedTracksCountInOneEvent = uint . MaxValue ,
MaxAllowedAttendeesCountInOneEvent = uint . MaxValue ,
MaxAllowedAttendeesCountInOneEvent = uint . MaxValue ,
AdditionalFeatureInfos = new List < string > ( )
AdditionalFeatureInfos = new List < string > ( )
@ -27,7 +27,7 @@
"Price" : 0 ,
"Price" : 0 ,
"IsExtendable" : false ,
"IsExtendable" : false ,
"Feature" : {
"Feature" : {
"MaxAllowedEventsCount" : 2 ,
"MaxAllowedEventsCountInOneYear " : 2 ,
"MaxAllowedTracksCountInOneEvent" : 2 ,
"MaxAllowedTracksCountInOneEvent" : 2 ,
"MaxAllowedAttendeesCountInOneEvent" : 1000
"MaxAllowedAttendeesCountInOneEvent" : 1000
}
}
@ -25,7 +25,7 @@
<span>@plan.Price</span>
<span>@plan.Price</span>
</div>
</div>
<ul class="list-check-icon mb-4 text-start">
<ul class="list-check-icon mb-4 text-start">
<li><i class="fa fa-check-circle"></i> @PlanInfoHelper.GetFeatureInfoByCount(plan.Feature.MaxAllowedEventsCount) events in a year. </li>
<li><i class="fa fa-check-circle"></i> @PlanInfoHelper.GetFeatureInfoByCount(plan.Feature.MaxAllowedEventsCountInOneYear ) events in a year. </li>
<li><i class="fa fa-check-circle"></i> Up to @PlanInfoHelper.GetFeatureInfoByCount(plan.Feature.MaxAllowedTracksCountInOneEvent).ToLower() tracks for an event. </li>
<li><i class="fa fa-check-circle"></i> Up to @PlanInfoHelper.GetFeatureInfoByCount(plan.Feature.MaxAllowedTracksCountInOneEvent).ToLower() tracks for an event. </li>
<li><i class="fa fa-check-circle"></i> Up to @PlanInfoHelper.GetFeatureInfoByCount(plan.Feature.MaxAllowedAttendeesCountInOneEvent).ToLower() attendees per event. </li>
<li><i class="fa fa-check-circle"></i> Up to @PlanInfoHelper.GetFeatureInfoByCount(plan.Feature.MaxAllowedAttendeesCountInOneEvent).ToLower() attendees per event. </li>
@foreach (var additionalFeatureInfo in plan.Feature.AdditionalFeatureInfos)
@foreach (var additionalFeatureInfo in plan.Feature.AdditionalFeatureInfos)