From 68f0cec9d06d656cdc7aa82fcbe6c57b60618c89 Mon Sep 17 00:00:00 2001 From: Natlinux81 <97396587+Natlinux81@users.noreply.github.com> Date: Sat, 20 Aug 2022 01:41:56 +0200 Subject: [PATCH] ready for database --- Apollon.Domain/Apollon.Domain.csproj | 9 ++++ .../Commands/ICreateTournamentCommand.cs | 14 ++++++ .../Commands/IDeleteTournamentCommand .cs | 13 ++++++ .../Commands/IUpdateTournamentCommand .cs | 14 ++++++ .../Models/Tournament.cs | 2 +- .../Queries/IGetAllTournamentsQuery.cs | 14 ++++++ .../Apollon.EntityFramework.csproj | 18 ++++++++ .../Commands/CreateTournamentCommand.cs | 44 +++++++++++++++++++ .../Commands/DeleteTournamentCommand.cs | 35 +++++++++++++++ .../Commands/UpdateTournamentCommand.cs | 42 ++++++++++++++++++ Apollon.EntityFramework/DTOs/TournamentDto.cs | 20 +++++++++ .../Queries/GetAllTournamentsQuery.cs | 40 +++++++++++++++++ .../TournamentsDBContext.cs | 19 ++++++++ .../TournamentsDBContextFactory.cs | 24 ++++++++++ Apollon.WPF/Apollon.WPF.csproj | 4 ++ Apollon.WPF/App.xaml.cs | 23 +++++++++- Apollon.WPF/Commands/AddTournamentCommand.cs | 2 +- Apollon.WPF/Commands/EditTournamentCommand.cs | 2 +- .../Commands/OpenEditTournamentCommand.cs | 2 +- Apollon.WPF/Models/Competition.cs | 21 --------- .../Stores/SelectedTournamentsStore.cs | 2 +- Apollon.WPF/Stores/TournamentsStore.cs | 2 +- .../ViewModels/EditTournamentViewModel.cs | 2 +- .../ViewModels/OverviewDetailsViewModel.cs | 4 +- .../OverviewListingItemViewModel.cs | 2 +- .../ViewModels/OverviewListingViewModel.cs | 2 +- Apollon.WPF/ViewModels/OverviewViewModel.cs | 2 +- Apollon.sln | 14 +++++- 28 files changed, 356 insertions(+), 36 deletions(-) create mode 100644 Apollon.Domain/Apollon.Domain.csproj create mode 100644 Apollon.Domain/Commands/ICreateTournamentCommand.cs create mode 100644 Apollon.Domain/Commands/IDeleteTournamentCommand .cs create mode 100644 Apollon.Domain/Commands/IUpdateTournamentCommand .cs rename {Apollon.WPF => Apollon.Domain}/Models/Tournament.cs (96%) create mode 100644 Apollon.Domain/Queries/IGetAllTournamentsQuery.cs create mode 100644 Apollon.EntityFramework/Apollon.EntityFramework.csproj create mode 100644 Apollon.EntityFramework/Commands/CreateTournamentCommand.cs create mode 100644 Apollon.EntityFramework/Commands/DeleteTournamentCommand.cs create mode 100644 Apollon.EntityFramework/Commands/UpdateTournamentCommand.cs create mode 100644 Apollon.EntityFramework/DTOs/TournamentDto.cs create mode 100644 Apollon.EntityFramework/Queries/GetAllTournamentsQuery.cs create mode 100644 Apollon.EntityFramework/TournamentsDBContext.cs create mode 100644 Apollon.EntityFramework/TournamentsDBContextFactory.cs delete mode 100644 Apollon.WPF/Models/Competition.cs diff --git a/Apollon.Domain/Apollon.Domain.csproj b/Apollon.Domain/Apollon.Domain.csproj new file mode 100644 index 0000000..132c02c --- /dev/null +++ b/Apollon.Domain/Apollon.Domain.csproj @@ -0,0 +1,9 @@ + + + + net6.0 + enable + enable + + + diff --git a/Apollon.Domain/Commands/ICreateTournamentCommand.cs b/Apollon.Domain/Commands/ICreateTournamentCommand.cs new file mode 100644 index 0000000..8c28fa9 --- /dev/null +++ b/Apollon.Domain/Commands/ICreateTournamentCommand.cs @@ -0,0 +1,14 @@ +using Apollon.Domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.Domain.Commands +{ + public interface ICreateTournamentCommand + { + Task Execute(Tournament tournament); + } +} diff --git a/Apollon.Domain/Commands/IDeleteTournamentCommand .cs b/Apollon.Domain/Commands/IDeleteTournamentCommand .cs new file mode 100644 index 0000000..cf0710d --- /dev/null +++ b/Apollon.Domain/Commands/IDeleteTournamentCommand .cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.Domain.Commands +{ + public interface IDeleteTournamentCommand + { + Task Execute (Guid id); + } +} diff --git a/Apollon.Domain/Commands/IUpdateTournamentCommand .cs b/Apollon.Domain/Commands/IUpdateTournamentCommand .cs new file mode 100644 index 0000000..ad5cc00 --- /dev/null +++ b/Apollon.Domain/Commands/IUpdateTournamentCommand .cs @@ -0,0 +1,14 @@ +using Apollon.Domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.Domain.Commands +{ + public interface IUpdateTournamentCommand + { + Task Execute(Tournament tournament); + } +} diff --git a/Apollon.WPF/Models/Tournament.cs b/Apollon.Domain/Models/Tournament.cs similarity index 96% rename from Apollon.WPF/Models/Tournament.cs rename to Apollon.Domain/Models/Tournament.cs index 94741ba..76b89a9 100644 --- a/Apollon.WPF/Models/Tournament.cs +++ b/Apollon.Domain/Models/Tournament.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Apollon.WPF.Models +namespace Apollon.Domain.Models { public class Tournament { diff --git a/Apollon.Domain/Queries/IGetAllTournamentsQuery.cs b/Apollon.Domain/Queries/IGetAllTournamentsQuery.cs new file mode 100644 index 0000000..51f4243 --- /dev/null +++ b/Apollon.Domain/Queries/IGetAllTournamentsQuery.cs @@ -0,0 +1,14 @@ +using Apollon.Domain.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.Domain.Queries +{ + public interface IGetAllTournamentsQuery + { + Task> Execute(); + } +} diff --git a/Apollon.EntityFramework/Apollon.EntityFramework.csproj b/Apollon.EntityFramework/Apollon.EntityFramework.csproj new file mode 100644 index 0000000..6f467de --- /dev/null +++ b/Apollon.EntityFramework/Apollon.EntityFramework.csproj @@ -0,0 +1,18 @@ + + + + net6.0 + enable + disable + + + + + + + + + + + + diff --git a/Apollon.EntityFramework/Commands/CreateTournamentCommand.cs b/Apollon.EntityFramework/Commands/CreateTournamentCommand.cs new file mode 100644 index 0000000..a3c4bc0 --- /dev/null +++ b/Apollon.EntityFramework/Commands/CreateTournamentCommand.cs @@ -0,0 +1,44 @@ +using Apollon.Domain.Commands; +using Apollon.Domain.Models; +using Apollon.EntityFramework.DTOs; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.EntityFramework.Commands +{ + public class CreateTournamentCommand : ICreateTournamentCommand + + { + private readonly TournamentsDBContextFactory _contextFactory; + + public CreateTournamentCommand(TournamentsDBContextFactory contextFactory) + { + _contextFactory = contextFactory; + } + + public async Task Execute(Tournament tournament) + { + using (TournamentsDBContext context = _contextFactory.Create()) + { + TournamentDto tournamentDto = new TournamentDto() + { + Id = tournament.Id, + Organisation = tournament.Organisation, + TournamentName = tournament.TournamentName, + Competition = tournament.Competition, + StartDate = tournament.StartDate, + EndDate = tournament.EndDate, + Location = tournament.Location, + Rounds = tournament.Rounds, + }; + + context.Tournaments.Add(tournamentDto); + await context.SaveChangesAsync(); + } + } + } +} diff --git a/Apollon.EntityFramework/Commands/DeleteTournamentCommand.cs b/Apollon.EntityFramework/Commands/DeleteTournamentCommand.cs new file mode 100644 index 0000000..76f4adf --- /dev/null +++ b/Apollon.EntityFramework/Commands/DeleteTournamentCommand.cs @@ -0,0 +1,35 @@ +using Apollon.Domain.Commands; +using Apollon.Domain.Models; +using Apollon.EntityFramework.DTOs; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.EntityFramework.Commands +{ + public class DeleteTournamentCommand : IDeleteTournamentCommand + { + private readonly TournamentsDBContextFactory _contextFactory; + + public DeleteTournamentCommand(TournamentsDBContextFactory contextFactory) + { + _contextFactory = contextFactory; + } + + public async Task Execute(Guid id) + { + using (TournamentsDBContext context = _contextFactory.Create()) + { + TournamentDto tournamentDto = new TournamentDto() + { + Id = id, + }; + + context.Tournaments.Remove(tournamentDto); + await context.SaveChangesAsync(); + } + } + } +} diff --git a/Apollon.EntityFramework/Commands/UpdateTournamentCommand.cs b/Apollon.EntityFramework/Commands/UpdateTournamentCommand.cs new file mode 100644 index 0000000..26693f2 --- /dev/null +++ b/Apollon.EntityFramework/Commands/UpdateTournamentCommand.cs @@ -0,0 +1,42 @@ +using Apollon.Domain.Commands; +using Apollon.Domain.Models; +using Apollon.EntityFramework.DTOs; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.EntityFramework.Commands +{ + public class UpdateTournamentCommand : IUpdateTournamentCommand + { + private readonly TournamentsDBContextFactory _contextFactory; + + public UpdateTournamentCommand(TournamentsDBContextFactory contextFactory) + { + _contextFactory = contextFactory; + } + + public async Task Execute(Tournament tournament) + { + using (TournamentsDBContext context = _contextFactory.Create()) + { + TournamentDto tournamentDto = new TournamentDto() + { + Id = tournament.Id, + Organisation = tournament.Organisation, + TournamentName = tournament.TournamentName, + Competition = tournament.Competition, + StartDate = tournament.StartDate, + EndDate = tournament.EndDate, + Location = tournament.Location, + Rounds = tournament.Rounds, + }; + + context.Tournaments.Update(tournamentDto); + await context.SaveChangesAsync(); + } + } + } +} diff --git a/Apollon.EntityFramework/DTOs/TournamentDto.cs b/Apollon.EntityFramework/DTOs/TournamentDto.cs new file mode 100644 index 0000000..ce4602b --- /dev/null +++ b/Apollon.EntityFramework/DTOs/TournamentDto.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.EntityFramework.DTOs +{ + public class TournamentDto + { + public Guid Id { get; set; } + public string Organisation { get; set; } + public string TournamentName { get; set; } + public string Competition { get; set; } + public DateTime StartDate { get; set; } + public DateTime EndDate { get; set; } + public string Location { get; set; } + public int Rounds { get; set; } + } +} diff --git a/Apollon.EntityFramework/Queries/GetAllTournamentsQuery.cs b/Apollon.EntityFramework/Queries/GetAllTournamentsQuery.cs new file mode 100644 index 0000000..f0eb944 --- /dev/null +++ b/Apollon.EntityFramework/Queries/GetAllTournamentsQuery.cs @@ -0,0 +1,40 @@ +using Apollon.Domain.Models; +using Apollon.Domain.Queries; +using Apollon.EntityFramework.DTOs; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.EntityFramework.Queries +{ + public class GetAllTournamentsQuery : IGetAllTournamentsQuery + { + private readonly TournamentsDBContextFactory _contextFactory; + + public GetAllTournamentsQuery(TournamentsDBContextFactory contextFactory) + { + _contextFactory = contextFactory; + } + + public async Task> Execute() + { + using (TournamentsDBContext context = _contextFactory.Create()) + { + IEnumerable tournamentsDtos = await context.Tournaments.ToListAsync(); + + return tournamentsDtos.Select(y => new Tournament( + y.Id, + y.Organisation, + y.TournamentName, + y.Competition, + y.StartDate, + y.EndDate, + y.Location, + y.Rounds)); + } + } + } +} diff --git a/Apollon.EntityFramework/TournamentsDBContext.cs b/Apollon.EntityFramework/TournamentsDBContext.cs new file mode 100644 index 0000000..cf17785 --- /dev/null +++ b/Apollon.EntityFramework/TournamentsDBContext.cs @@ -0,0 +1,19 @@ +using Apollon.EntityFramework.DTOs; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.EntityFramework +{ + public class TournamentsDBContext : DbContext + { + public TournamentsDBContext(DbContextOptions options) : base(options) + { + } + + public DbSet Tournaments { get; set; } + } +} diff --git a/Apollon.EntityFramework/TournamentsDBContextFactory.cs b/Apollon.EntityFramework/TournamentsDBContextFactory.cs new file mode 100644 index 0000000..2a8250a --- /dev/null +++ b/Apollon.EntityFramework/TournamentsDBContextFactory.cs @@ -0,0 +1,24 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apollon.EntityFramework +{ + public class TournamentsDBContextFactory + { + private readonly DbContextOptions _options; + + public TournamentsDBContextFactory(DbContextOptions options) + { + _options = options; + } + + public TournamentsDBContext Create() + { + return new TournamentsDBContext(_options); + } + } +} diff --git a/Apollon.WPF/Apollon.WPF.csproj b/Apollon.WPF/Apollon.WPF.csproj index 145af72..13b16ca 100644 --- a/Apollon.WPF/Apollon.WPF.csproj +++ b/Apollon.WPF/Apollon.WPF.csproj @@ -12,4 +12,8 @@ + + + + diff --git a/Apollon.WPF/App.xaml.cs b/Apollon.WPF/App.xaml.cs index 332e434..9e4df1d 100644 --- a/Apollon.WPF/App.xaml.cs +++ b/Apollon.WPF/App.xaml.cs @@ -1,6 +1,12 @@ -using Apollon.WPF.Models; +using Apollon.Domain.Commands; +using Apollon.Domain.Models; +using Apollon.Domain.Queries; +using Apollon.EntityFramework; +using Apollon.EntityFramework.Commands; +using Apollon.EntityFramework.Queries; using Apollon.WPF.Stores; using Apollon.WPF.ViewModels; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Configuration; @@ -17,14 +23,27 @@ namespace Apollon.WPF public partial class App : Application { private readonly ModalNavigationStore _modalNavigationStore; + private readonly TournamentsDBContextFactory _tournamentsDBContextFactory; + private readonly IGetAllTournamentsQuery _getAllTournamentQuery; + private readonly ICreateTournamentCommand _createTournamentCommand; + private readonly IUpdateTournamentCommand _updateTournamentCommand; + private readonly IDeleteTournamentCommand _deleteTournamentCommand; private readonly TournamentsStore _tournamentStore; private readonly SelectedTournamentsStore _selectedTournamentStore; public App() { + string connectionString = "Server=NATHALIE-PC\NATLINUXDB;Database=OfficeOrganizer;Trusted_Connection=True;MultipleActiveResultSets=true\"; + _modalNavigationStore = new ModalNavigationStore(); - _tournamentStore = new TournamentsStore(); + _tournamentsDBContextFactory = new TournamentsDBContextFactory( + new DbContextOptionsBuilder().UseSqlServer(connectionString).Options); + _getAllTournamentQuery = new GetAllTournamentsQuery(); + _createTournamentCommand = new CreateTournamentCommand(); + _updateTournamentCommand = new UpdateTournamentCommand(); + _deleteTournamentCommand = new DeleteTournamentCommand(); + _tournamentStore = new TournamentsStore(_getAllTournamentQuery, _createTournamentCommand, _updateTournamentCommand, _deleteTournamentCommand); _selectedTournamentStore = new SelectedTournamentsStore(_tournamentStore); } protected override void OnStartup(StartupEventArgs e) diff --git a/Apollon.WPF/Commands/AddTournamentCommand.cs b/Apollon.WPF/Commands/AddTournamentCommand.cs index 6639e40..65e3c0e 100644 --- a/Apollon.WPF/Commands/AddTournamentCommand.cs +++ b/Apollon.WPF/Commands/AddTournamentCommand.cs @@ -1,4 +1,4 @@ -using Apollon.WPF.Models; +using Apollon.Domain.Models; using Apollon.WPF.Stores; using Apollon.WPF.ViewModels; using System; diff --git a/Apollon.WPF/Commands/EditTournamentCommand.cs b/Apollon.WPF/Commands/EditTournamentCommand.cs index 7cc3aa8..f36c4ef 100644 --- a/Apollon.WPF/Commands/EditTournamentCommand.cs +++ b/Apollon.WPF/Commands/EditTournamentCommand.cs @@ -1,4 +1,4 @@ -using Apollon.WPF.Models; +using Apollon.Domain.Models; using Apollon.WPF.Stores; using Apollon.WPF.ViewModels; using System; diff --git a/Apollon.WPF/Commands/OpenEditTournamentCommand.cs b/Apollon.WPF/Commands/OpenEditTournamentCommand.cs index fd47eb6..fbe54e1 100644 --- a/Apollon.WPF/Commands/OpenEditTournamentCommand.cs +++ b/Apollon.WPF/Commands/OpenEditTournamentCommand.cs @@ -1,4 +1,4 @@ -using Apollon.WPF.Models; +using Apollon.Domain.Models; using Apollon.WPF.Stores; using Apollon.WPF.ViewModels; using System; diff --git a/Apollon.WPF/Models/Competition.cs b/Apollon.WPF/Models/Competition.cs deleted file mode 100644 index 3f9fed6..0000000 --- a/Apollon.WPF/Models/Competition.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Apollon.WPF.Models -{ - public class Competition - { - public Competition(string competitionName, byte competitionImage) - { - CompetitionName = competitionName; - CompetitionImage = competitionImage; - } - - public string CompetitionName { get; set; } - - public byte CompetitionImage { get; set; } - } -} diff --git a/Apollon.WPF/Stores/SelectedTournamentsStore.cs b/Apollon.WPF/Stores/SelectedTournamentsStore.cs index 589b943..bedc804 100644 --- a/Apollon.WPF/Stores/SelectedTournamentsStore.cs +++ b/Apollon.WPF/Stores/SelectedTournamentsStore.cs @@ -1,4 +1,4 @@ -using Apollon.WPF.Models; +using Apollon.Domain.Models; using System; using System.Collections.Generic; using System.Linq; diff --git a/Apollon.WPF/Stores/TournamentsStore.cs b/Apollon.WPF/Stores/TournamentsStore.cs index 018b781..407ec94 100644 --- a/Apollon.WPF/Stores/TournamentsStore.cs +++ b/Apollon.WPF/Stores/TournamentsStore.cs @@ -1,4 +1,4 @@ -using Apollon.WPF.Models; +using Apollon.Domain.Models; using System; using System.Collections.Generic; using System.Linq; diff --git a/Apollon.WPF/ViewModels/EditTournamentViewModel.cs b/Apollon.WPF/ViewModels/EditTournamentViewModel.cs index 5aeb819..18ea5de 100644 --- a/Apollon.WPF/ViewModels/EditTournamentViewModel.cs +++ b/Apollon.WPF/ViewModels/EditTournamentViewModel.cs @@ -1,5 +1,5 @@ using Apollon.WPF.Commands; -using Apollon.WPF.Models; +using Apollon.Domain.Models; using Apollon.WPF.Stores; using System; using System.Collections.Generic; diff --git a/Apollon.WPF/ViewModels/OverviewDetailsViewModel.cs b/Apollon.WPF/ViewModels/OverviewDetailsViewModel.cs index 0d45cf3..57f0d88 100644 --- a/Apollon.WPF/ViewModels/OverviewDetailsViewModel.cs +++ b/Apollon.WPF/ViewModels/OverviewDetailsViewModel.cs @@ -1,4 +1,4 @@ -using Apollon.WPF.Models; +using Apollon.Domain.Models; using Apollon.WPF.Stores; using System; using System.Collections.Generic; @@ -40,7 +40,7 @@ namespace Apollon.WPF.ViewModels private void SelectedTournamentStore_SelectedTournamentChanged() { - //OnPropertyChanged(nameof(HasSelectedTournament)); + OnPropertyChanged(nameof(HasSelectedTournament)); OnPropertyChanged(nameof(Organisation)); OnPropertyChanged(nameof(TournamentName)); OnPropertyChanged(nameof(Competition)); diff --git a/Apollon.WPF/ViewModels/OverviewListingItemViewModel.cs b/Apollon.WPF/ViewModels/OverviewListingItemViewModel.cs index c1be2ed..729de5f 100644 --- a/Apollon.WPF/ViewModels/OverviewListingItemViewModel.cs +++ b/Apollon.WPF/ViewModels/OverviewListingItemViewModel.cs @@ -1,5 +1,5 @@ using Apollon.WPF.Commands; -using Apollon.WPF.Models; +using Apollon.Domain.Models; using Apollon.WPF.Stores; using System; using System.Collections.Generic; diff --git a/Apollon.WPF/ViewModels/OverviewListingViewModel.cs b/Apollon.WPF/ViewModels/OverviewListingViewModel.cs index d94fbd9..3443939 100644 --- a/Apollon.WPF/ViewModels/OverviewListingViewModel.cs +++ b/Apollon.WPF/ViewModels/OverviewListingViewModel.cs @@ -1,5 +1,5 @@ using Apollon.WPF.Commands; -using Apollon.WPF.Models; +using Apollon.Domain.Models; using Apollon.WPF.Stores; using System; using System.Collections.Generic; diff --git a/Apollon.WPF/ViewModels/OverviewViewModel.cs b/Apollon.WPF/ViewModels/OverviewViewModel.cs index 6eaff92..baec12d 100644 --- a/Apollon.WPF/ViewModels/OverviewViewModel.cs +++ b/Apollon.WPF/ViewModels/OverviewViewModel.cs @@ -1,5 +1,5 @@ using Apollon.WPF.Commands; -using Apollon.WPF.Models; +using Apollon.Domain.Models; using Apollon.WPF.Stores; using System; using System.Collections.Generic; diff --git a/Apollon.sln b/Apollon.sln index 2eb0166..548de71 100644 --- a/Apollon.sln +++ b/Apollon.sln @@ -3,7 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.2.32630.192 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apollon.WPF", "Apollon.WPF\Apollon.WPF.csproj", "{4153202B-6527-4AC9-97B2-B75E1C836141}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Apollon.WPF", "Apollon.WPF\Apollon.WPF.csproj", "{4153202B-6527-4AC9-97B2-B75E1C836141}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apollon.EntityFramework", "Apollon.EntityFramework\Apollon.EntityFramework.csproj", "{10CAC7FF-F7F7-4AC8-BFD3-7618A58A4F7F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apollon.Domain", "Apollon.Domain\Apollon.Domain.csproj", "{61741D2E-52A2-4FEA-B855-652F60820DFC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,6 +19,14 @@ Global {4153202B-6527-4AC9-97B2-B75E1C836141}.Debug|Any CPU.Build.0 = Debug|Any CPU {4153202B-6527-4AC9-97B2-B75E1C836141}.Release|Any CPU.ActiveCfg = Release|Any CPU {4153202B-6527-4AC9-97B2-B75E1C836141}.Release|Any CPU.Build.0 = Release|Any CPU + {10CAC7FF-F7F7-4AC8-BFD3-7618A58A4F7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {10CAC7FF-F7F7-4AC8-BFD3-7618A58A4F7F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {10CAC7FF-F7F7-4AC8-BFD3-7618A58A4F7F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {10CAC7FF-F7F7-4AC8-BFD3-7618A58A4F7F}.Release|Any CPU.Build.0 = Release|Any CPU + {61741D2E-52A2-4FEA-B855-652F60820DFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {61741D2E-52A2-4FEA-B855-652F60820DFC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {61741D2E-52A2-4FEA-B855-652F60820DFC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {61741D2E-52A2-4FEA-B855-652F60820DFC}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE