Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
vlingo-java committed Jun 26, 2013
2 parents a8f543d + a60f4d0 commit ff21967
Show file tree
Hide file tree
Showing 165 changed files with 1,188 additions and 151 deletions.
25 changes: 25 additions & 0 deletions iddd_agilepm/AgilePM.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,28 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Application\ApplicationServiceLifeCycle.cs" />
<Compile Include="Application\Notifications\NotificationApplicationService.cs" />
<Compile Include="Application\Processes\ProcessApplicationService.cs" />
<Compile Include="Application\Products\BacklogItems\BacklogItemApplicationService.cs" />
<Compile Include="Application\Products\InitiateDiscussionCommand.cs" />
<Compile Include="Application\Products\NewProductCommand.cs" />
<Compile Include="Application\Products\ProductApplicationService.cs" />
<Compile Include="Application\Products\RequestProductDiscussionCommand.cs" />
<Compile Include="Application\Products\RetryProductDiscussionRequestCommand.cs" />
<Compile Include="Application\Products\StartDiscussionInitiationCommand.cs" />
<Compile Include="Application\Products\TimeOutProductDiscussionRequestCommand.cs" />
<Compile Include="Application\Sprints\CommitBacklogItemToSprintCommand.cs" />
<Compile Include="Application\Sprints\SprintApplicationService.cs" />
<Compile Include="Application\Teams\ChangeTeamMemberEmailAddressCommand.cs" />
<Compile Include="Application\Teams\ChangeTeamMemberNameCommand.cs" />
<Compile Include="Application\Teams\DisableMemberCommand.cs" />
<Compile Include="Application\Teams\DisableProductOwnerCommand.cs" />
<Compile Include="Application\Teams\DisableTeamMemberCommand.cs" />
<Compile Include="Application\Teams\EnableMemberCommand.cs" />
<Compile Include="Application\Teams\EnableProductOwnerCommand.cs" />
<Compile Include="Application\Teams\EnableTeamMemberCommand.cs" />
<Compile Include="Application\Teams\TeamApplicationService.cs" />
<Compile Include="Domain.Model\Discussions\DiscussionDescriptor.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\BacklogItem.cs" />
<Compile Include="Domain.Model\Discussions\DiscussionAvailability.cs" />
Expand All @@ -65,6 +87,7 @@
<Compile Include="Domain.Model\Products\BacklogItems\BusinessPriorityRatings.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\BusinessPriorityTotals.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\EstimationLogEntry.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\IBacklogItemRepository.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\StoryPoints.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\Task.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\TaskDefined.cs" />
Expand All @@ -76,13 +99,15 @@
<Compile Include="Domain.Model\Products\BacklogItems\TaskStatus.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\TaskStatusChanged.cs" />
<Compile Include="Domain.Model\Products\BacklogItems\TaskVolunteerAssigned.cs" />
<Compile Include="Domain.Model\Products\IProductRepository.cs" />
<Compile Include="Domain.Model\Products\Product.cs" />
<Compile Include="Domain.Model\Products\ProductBacklogItem.cs" />
<Compile Include="Domain.Model\Products\ProductBacklogItemPlanned.cs" />
<Compile Include="Domain.Model\Products\ProductCreated.cs" />
<Compile Include="Domain.Model\Products\ProductDiscussion.cs" />
<Compile Include="Domain.Model\Products\ProductDiscussionInitiated.cs" />
<Compile Include="Domain.Model\Products\ProductDiscussionRequested.cs" />
<Compile Include="Domain.Model\Products\ProductDiscussionRequestTimedOut.cs" />
<Compile Include="Domain.Model\Products\ProductReleaseScheduled.cs" />
<Compile Include="Domain.Model\Products\ProductSprintScheduled.cs" />
<Compile Include="Domain.Model\Products\Releases\IReleaseRepository.cs" />
Expand Down
28 changes: 28 additions & 0 deletions iddd_agilepm/Application/ApplicationServiceLifeCycle.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SaaSOvation.AgilePM.Application
{
/// <summary>
/// TODO: implement
/// </summary>
public class ApplicationServiceLifeCycle
{
public static void Begin(bool isListening = true)
{

}

public static void Fail(Exception ex = null)
{

}

public static void Success()
{

}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using SaaSOvation.Common.Notifications;

namespace SaaSOvation.AgilePM.Application.Notifications
{
public class NotificationApplicationService
{
public NotificationApplicationService(INotificationPublisher notificationPublisher)
{
this.notificationPublisher = notificationPublisher;
}

readonly INotificationPublisher notificationPublisher;

public void PublishNotifications()
{
ApplicationServiceLifeCycle.Begin(false);
try
{
this.notificationPublisher.PublishNotifications();
ApplicationServiceLifeCycle.Success();
}
catch (Exception ex)
{
ApplicationServiceLifeCycle.Fail(ex);
}
}
}
}
40 changes: 40 additions & 0 deletions iddd_agilepm/Application/Processes/ProcessApplicationService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using SaaSOvation.Common.Domain.Model.LongRunningProcess;

namespace SaaSOvation.AgilePM.Application.Processes
{
public class ProcessApplicationService
{
public ProcessApplicationService(ITimeConstrainedProcessTrackerRepository processTrackerRepository)
{
this.processTrackerRepository = processTrackerRepository;
}

readonly ITimeConstrainedProcessTrackerRepository processTrackerRepository;

public void CheckForTimedOutProccesses()
{
ApplicationServiceLifeCycle.Begin();
try
{
var trackers = this.processTrackerRepository.GetAllTimedOut();

foreach (var tracker in trackers)
{
tracker.InformProcessTimedOut();
this.processTrackerRepository.Save(tracker);
}

ApplicationServiceLifeCycle.Success();
}
catch (Exception ex)
{
ApplicationServiceLifeCycle.Fail(ex);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using SaaSOvation.AgilePM.Domain.Model.Products.BacklogItems;

namespace SaaSOvation.AgilePM.Application.Products.BacklogItems
{
public class BacklogItemApplicationService
{
public BacklogItemApplicationService(IBacklogItemRepository backlogItemRepository)
{
this.backlogItemRepository = backlogItemRepository;
}

readonly IBacklogItemRepository backlogItemRepository;

// TODO: APIs for student assignment
}
}
27 changes: 27 additions & 0 deletions iddd_agilepm/Application/Products/InitiateDiscussionCommand.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SaaSOvation.AgilePM.Application.Products
{
public class InitiateDiscussionCommand
{
public InitiateDiscussionCommand()
{
}

public InitiateDiscussionCommand(string tenantId, string discussionId, string productId)
{
this.TenantId = tenantId;
this.DiscussionId = discussionId;
this.ProductId = productId;
}

public string TenantId { get; set; }

public string DiscussionId { get; set; }

public string ProductId { get; set; }
}
}
30 changes: 30 additions & 0 deletions iddd_agilepm/Application/Products/NewProductCommand.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SaaSOvation.AgilePM.Application.Products
{
public class NewProductCommand
{
public NewProductCommand()
{
}

public NewProductCommand(string tenantId, string productOwnerId, string name, string description)
{
this.TenantId = tenantId;
this.ProductOwnerId = productOwnerId;
this.Name = name;
this.Description = description;
}

public string TenantId { get; set; }

public string ProductOwnerId { get; set; }

public string Name { get; set; }

public string Description { get; set; }
}
}
Loading

0 comments on commit ff21967

Please sign in to comment.