aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarcinzelent <marcin@zelent.net>2017-02-01 00:23:21 +0100
committermarcinzelent <marcin@zelent.net>2017-02-01 00:23:21 +0100
commit59d096530c18f8dae73b9252cc95a8423fb08d24 (patch)
tree2f82601164484ef6767edc216017d308c0a23f21
parent06d365da5666d887a29b012f15887da6a1e2fc6f (diff)
Initial commit. Added catalogs and classes.
-rw-r--r--.gitattributes63
-rw-r--r--EventMaker/EventMaker.sln40
-rw-r--r--EventMaker/EventMaker/App.xaml8
-rw-r--r--EventMaker/EventMaker/App.xaml.cs96
-rw-r--r--EventMaker/EventMaker/Assets/LockScreenLogo.scale-200.pngbin0 -> 1430 bytes
-rw-r--r--EventMaker/EventMaker/Assets/SplashScreen.scale-200.pngbin0 -> 7700 bytes
-rw-r--r--EventMaker/EventMaker/Assets/Square150x150Logo.scale-200.pngbin0 -> 2937 bytes
-rw-r--r--EventMaker/EventMaker/Assets/Square44x44Logo.scale-200.pngbin0 -> 1647 bytes
-rw-r--r--EventMaker/EventMaker/Assets/Square44x44Logo.targetsize-24_altform-unplated.pngbin0 -> 1255 bytes
-rw-r--r--EventMaker/EventMaker/Assets/StoreLogo.pngbin0 -> 1451 bytes
-rw-r--r--EventMaker/EventMaker/Assets/Wide310x150Logo.scale-200.pngbin0 -> 3204 bytes
-rw-r--r--EventMaker/EventMaker/Common/RelayArgCommand.cs69
-rw-r--r--EventMaker/EventMaker/Common/RelayCommand.cs69
-rw-r--r--EventMaker/EventMaker/Converter/DateTimeConverter.cs12
-rw-r--r--EventMaker/EventMaker/EventMaker.csproj156
-rw-r--r--EventMaker/EventMaker/Handler/EventHandler.cs12
-rw-r--r--EventMaker/EventMaker/Model/Event.cs13
-rw-r--r--EventMaker/EventMaker/Model/EventCatalogSingleton.cs37
-rw-r--r--EventMaker/EventMaker/Package.appxmanifest49
-rw-r--r--EventMaker/EventMaker/Persistency/PersistencyService.cs39
-rw-r--r--EventMaker/EventMaker/Properties/AssemblyInfo.cs29
-rw-r--r--EventMaker/EventMaker/Properties/Default.rd.xml31
-rw-r--r--EventMaker/EventMaker/View/CreateEventPage.xaml13
-rw-r--r--EventMaker/EventMaker/View/CreateEventPage.xaml.cs30
-rw-r--r--EventMaker/EventMaker/View/EventPage.xaml13
-rw-r--r--EventMaker/EventMaker/View/EventPage.xaml.cs30
-rw-r--r--EventMaker/EventMaker/ViewModel/EventViewModel.cs12
-rw-r--r--EventMaker/EventMaker/project.json17
28 files changed, 838 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..1ff0c42
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,63 @@
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+* text=auto
+
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg binary
+#*.png binary
+#*.gif binary
+
+###############################################################################
+# diff behavior for common document formats
+#
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the
+# entries below.
+###############################################################################
+#*.doc diff=astextplain
+#*.DOC diff=astextplain
+#*.docx diff=astextplain
+#*.DOCX diff=astextplain
+#*.dot diff=astextplain
+#*.DOT diff=astextplain
+#*.pdf diff=astextplain
+#*.PDF diff=astextplain
+#*.rtf diff=astextplain
+#*.RTF diff=astextplain
diff --git a/EventMaker/EventMaker.sln b/EventMaker/EventMaker.sln
new file mode 100644
index 0000000..b59177a
--- /dev/null
+++ b/EventMaker/EventMaker.sln
@@ -0,0 +1,40 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EventMaker", "EventMaker\EventMaker.csproj", "{9E8CD427-C53A-444D-A1EE-946AC995E288}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM = Debug|ARM
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|ARM = Release|ARM
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|ARM.ActiveCfg = Debug|ARM
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|ARM.Build.0 = Debug|ARM
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|ARM.Deploy.0 = Debug|ARM
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|x64.ActiveCfg = Debug|x64
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|x64.Build.0 = Debug|x64
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|x64.Deploy.0 = Debug|x64
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|x86.ActiveCfg = Debug|x86
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|x86.Build.0 = Debug|x86
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Debug|x86.Deploy.0 = Debug|x86
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|ARM.ActiveCfg = Release|ARM
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|ARM.Build.0 = Release|ARM
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|ARM.Deploy.0 = Release|ARM
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|x64.ActiveCfg = Release|x64
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|x64.Build.0 = Release|x64
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|x64.Deploy.0 = Release|x64
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|x86.ActiveCfg = Release|x86
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|x86.Build.0 = Release|x86
+ {9E8CD427-C53A-444D-A1EE-946AC995E288}.Release|x86.Deploy.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/EventMaker/EventMaker/App.xaml b/EventMaker/EventMaker/App.xaml
new file mode 100644
index 0000000..14e9c2e
--- /dev/null
+++ b/EventMaker/EventMaker/App.xaml
@@ -0,0 +1,8 @@
+<Application
+ x:Class="EventMaker.App"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:EventMaker"
+ RequestedTheme="Light">
+
+</Application>
diff --git a/EventMaker/EventMaker/App.xaml.cs b/EventMaker/EventMaker/App.xaml.cs
new file mode 100644
index 0000000..175a092
--- /dev/null
+++ b/EventMaker/EventMaker/App.xaml.cs
@@ -0,0 +1,96 @@
+using System;
+using Windows.ApplicationModel;
+using Windows.ApplicationModel.Activation;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Navigation;
+
+namespace EventMaker
+{
+ /// <summary>
+ /// Provides application-specific behavior to supplement the default Application class.
+ /// </summary>
+ sealed partial class App : Application
+ {
+ /// <summary>
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ /// </summary>
+ public App()
+ {
+ this.InitializeComponent();
+ this.Suspending += OnSuspending;
+ }
+
+ /// <summary>
+ /// Invoked when the application is launched normally by the end user. Other entry points
+ /// will be used such as when the application is launched to open a specific file.
+ /// </summary>
+ /// <param name="e">Details about the launch request and process.</param>
+ protected override void OnLaunched(LaunchActivatedEventArgs e)
+ {
+#if DEBUG
+ if (System.Diagnostics.Debugger.IsAttached)
+ {
+ this.DebugSettings.EnableFrameRateCounter = true;
+ }
+#endif
+ Frame rootFrame = Window.Current.Content as Frame;
+
+ // Do not repeat app initialization when the Window already has content,
+ // just ensure that the window is active
+ if (rootFrame == null)
+ {
+ // Create a Frame to act as the navigation context and navigate to the first page
+ rootFrame = new Frame();
+
+ rootFrame.NavigationFailed += OnNavigationFailed;
+
+ if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
+ {
+ //TODO: Load state from previously suspended application
+ }
+
+ // Place the frame in the current Window
+ Window.Current.Content = rootFrame;
+ }
+
+ if (e.PrelaunchActivated == false)
+ {
+ if (rootFrame.Content == null)
+ {
+ // When the navigation stack isn't restored navigate to the first page,
+ // configuring the new page by passing required information as a navigation
+ // parameter
+ rootFrame.Navigate(typeof(EventPage), e.Arguments);
+ }
+ // Ensure the current window is active
+ Window.Current.Activate();
+ }
+ }
+
+ /// <summary>
+ /// Invoked when Navigation to a certain page fails
+ /// </summary>
+ /// <param name="sender">The Frame which failed navigation</param>
+ /// <param name="e">Details about the navigation failure</param>
+ void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
+ {
+ throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
+ }
+
+ /// <summary>
+ /// Invoked when application execution is being suspended. Application state is saved
+ /// without knowing whether the application will be terminated or resumed with the contents
+ /// of memory still intact.
+ /// </summary>
+ /// <param name="sender">The source of the suspend request.</param>
+ /// <param name="e">Details about the suspend request.</param>
+ private void OnSuspending(object sender, SuspendingEventArgs e)
+ {
+ var deferral = e.SuspendingOperation.GetDeferral();
+ //TODO: Save application state and stop any background activity
+ deferral.Complete();
+ }
+ }
+}
diff --git a/EventMaker/EventMaker/Assets/LockScreenLogo.scale-200.png b/EventMaker/EventMaker/Assets/LockScreenLogo.scale-200.png
new file mode 100644
index 0000000..735f57a
--- /dev/null
+++ b/EventMaker/EventMaker/Assets/LockScreenLogo.scale-200.png
Binary files differ
diff --git a/EventMaker/EventMaker/Assets/SplashScreen.scale-200.png b/EventMaker/EventMaker/Assets/SplashScreen.scale-200.png
new file mode 100644
index 0000000..023e7f1
--- /dev/null
+++ b/EventMaker/EventMaker/Assets/SplashScreen.scale-200.png
Binary files differ
diff --git a/EventMaker/EventMaker/Assets/Square150x150Logo.scale-200.png b/EventMaker/EventMaker/Assets/Square150x150Logo.scale-200.png
new file mode 100644
index 0000000..af49fec
--- /dev/null
+++ b/EventMaker/EventMaker/Assets/Square150x150Logo.scale-200.png
Binary files differ
diff --git a/EventMaker/EventMaker/Assets/Square44x44Logo.scale-200.png b/EventMaker/EventMaker/Assets/Square44x44Logo.scale-200.png
new file mode 100644
index 0000000..ce342a2
--- /dev/null
+++ b/EventMaker/EventMaker/Assets/Square44x44Logo.scale-200.png
Binary files differ
diff --git a/EventMaker/EventMaker/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/EventMaker/EventMaker/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 0000000..f6c02ce
--- /dev/null
+++ b/EventMaker/EventMaker/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
Binary files differ
diff --git a/EventMaker/EventMaker/Assets/StoreLogo.png b/EventMaker/EventMaker/Assets/StoreLogo.png
new file mode 100644
index 0000000..7385b56
--- /dev/null
+++ b/EventMaker/EventMaker/Assets/StoreLogo.png
Binary files differ
diff --git a/EventMaker/EventMaker/Assets/Wide310x150Logo.scale-200.png b/EventMaker/EventMaker/Assets/Wide310x150Logo.scale-200.png
new file mode 100644
index 0000000..288995b
--- /dev/null
+++ b/EventMaker/EventMaker/Assets/Wide310x150Logo.scale-200.png
Binary files differ
diff --git a/EventMaker/EventMaker/Common/RelayArgCommand.cs b/EventMaker/EventMaker/Common/RelayArgCommand.cs
new file mode 100644
index 0000000..aab6319
--- /dev/null
+++ b/EventMaker/EventMaker/Common/RelayArgCommand.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Windows.Input;
+
+namespace EventMaker.Common
+{
+ public class RelayArgCommand : ICommand
+ {
+ private readonly Action _execute;
+ private readonly Func<bool> _canExecute;
+ /// <summary>
+ /// Raised when RaiseCanExecuteChanged is called.
+ /// </summary>
+ public event EventHandler CanExecuteChanged;
+ /// <summary>
+ /// Creates a new command that can always execute.
+ /// </summary>
+ /// <param name="execute">The execution logic.</param>
+ public RelayArgCommand(Action execute) : this(execute, null)
+ {
+ }
+ /// <summary>
+ /// Creates a new command.
+ /// </summary>
+ /// <param name="execute">The execution logic.</param>
+ /// <param name="canExecute">The execution status logic.</param>
+ public RelayArgCommand(Action execute, Func<bool> canExecute)
+ {
+ if (execute == null) throw new ArgumentNullException("execute");
+ _execute = execute;
+ _canExecute = canExecute;
+ }
+ /// <summary>
+ /// Determines whether this <see cref="RelayCommand"/> can execute in its current state.
+ /// </summary>
+ /// <param name="parameter">
+ /// Data used by the command. If the command does not require data to be passed, this object can be set to null.
+ /// </param>
+ /// <returns>true if this command can be executed; otherwise, false.</returns>
+ public bool CanExecute(object parameter)
+ {
+ return _canExecute == null ? true : _canExecute();
+ }
+ /// <summary>
+ /// Executes the <see cref="RelayCommand"/> on the current command target.
+ /// </summary>
+ /// <param name="parameter">
+ /// Data used by the command. If the command does not require data to be passed, this object can be set to null.
+ /// </param>
+ public void Execute(object parameter)
+ {
+ _execute();
+ }
+ /// <summary>
+ /// Method used to raise the <see cref="CanExecuteChanged"/> event
+ /// to indicate that the return value of the <see cref="CanExecute"/>
+ /// method has changed.
+ /// </summary>
+ public void RaiseCanExecuteChanged()
+ {
+ var handler = CanExecuteChanged;
+ if (handler != null)
+ {
+ handler(this, EventArgs.Empty);
+ }
+ }
+ }
+
+
+}
diff --git a/EventMaker/EventMaker/Common/RelayCommand.cs b/EventMaker/EventMaker/Common/RelayCommand.cs
new file mode 100644
index 0000000..eac6d67
--- /dev/null
+++ b/EventMaker/EventMaker/Common/RelayCommand.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Windows.Input;
+
+namespace EventMaker.Common
+{
+ public class RelayCommand : ICommand
+ {
+ private readonly Action _execute;
+ private readonly Func<bool> _canExecute;
+ /// <summary>
+ /// Raised when RaiseCanExecuteChanged is called.
+ /// </summary>
+ public event EventHandler CanExecuteChanged;
+ /// <summary>
+ /// Creates a new command that can always execute.
+ /// </summary>
+ /// <param name="execute">The execution logic.</param>
+ public RelayCommand(Action execute) : this(execute, null)
+ {
+ }
+ /// <summary>
+ /// Creates a new command.
+ /// </summary>
+ /// <param name="execute">The execution logic.</param>
+ /// <param name="canExecute">The execution status logic.</param>
+ public RelayCommand(Action execute, Func<bool> canExecute)
+ {
+ if (execute == null) throw new ArgumentNullException("execute");
+ _execute = execute;
+ _canExecute = canExecute;
+ }
+ /// <summary>
+ /// Determines whether this <see cref="RelayCommand"/> can execute in its current state.
+ /// </summary>
+ /// <param name="parameter">
+ /// Data used by the command. If the command does not require data to be passed, this object can be set to null.
+ /// </param>
+ /// <returns>true if this command can be executed; otherwise, false.</returns>
+ public bool CanExecute(object parameter)
+ {
+ return _canExecute == null ? true : _canExecute();
+ }
+ /// <summary>
+ /// Executes the <see cref="RelayCommand"/> on the current command target.
+ /// </summary>
+ /// <param name="parameter">
+ /// Data used by the command. If the command does not require data to be passed, this object can be set to null.
+ /// </param>
+ public void Execute(object parameter)
+ {
+ _execute();
+ }
+ /// <summary>
+ /// Method used to raise the <see cref="CanExecuteChanged"/> event
+ /// to indicate that the return value of the <see cref="CanExecute"/>
+ /// method has changed.
+ /// </summary>
+ public void RaiseCanExecuteChanged()
+ {
+ var handler = CanExecuteChanged;
+ if (handler != null)
+ {
+ handler(this, EventArgs.Empty);
+ }
+ }
+ }
+
+
+}
diff --git a/EventMaker/EventMaker/Converter/DateTimeConverter.cs b/EventMaker/EventMaker/Converter/DateTimeConverter.cs
new file mode 100644
index 0000000..020761a
--- /dev/null
+++ b/EventMaker/EventMaker/Converter/DateTimeConverter.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace EventMaker.Converter
+{
+ class DateTimeConverter
+ {
+ }
+}
diff --git a/EventMaker/EventMaker/EventMaker.csproj b/EventMaker/EventMaker/EventMaker.csproj
new file mode 100644
index 0000000..0503d76
--- /dev/null
+++ b/EventMaker/EventMaker/EventMaker.csproj
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <ProjectGuid>{9E8CD427-C53A-444D-A1EE-946AC995E288}</ProjectGuid>
+ <OutputType>AppContainerExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>EventMaker</RootNamespace>
+ <AssemblyName>EventMaker</AssemblyName>
+ <DefaultLanguage>en-US</DefaultLanguage>
+ <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
+ <TargetPlatformVersion>10.0.14393.0</TargetPlatformVersion>
+ <TargetPlatformMinVersion>10.0.10586.0</TargetPlatformMinVersion>
+ <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <PackageCertificateKeyFile>EventMaker_TemporaryKey.pfx</PackageCertificateKeyFile>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\x86\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+ <OutputPath>bin\x86\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\ARM\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>ARM</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
+ <OutputPath>bin\ARM\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>ARM</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\x64\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>x64</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <OutputPath>bin\x64\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x64</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <ItemGroup>
+ <!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
+ <None Include="project.json" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Common\RelayArgCommand.cs" />
+ <Compile Include="Common\RelayCommand.cs" />
+ <Compile Include="Converter\DateTimeConverter.cs" />
+ <Compile Include="Handler\EventHandler.cs" />
+ <Compile Include="Model\Event.cs" />
+ <Compile Include="Model\EventCatalogSingleton.cs" />
+ <Compile Include="Persistency\PersistencyService.cs" />
+ <Compile Include="ViewModel\EventViewModel.cs" />
+ <Compile Include="View\CreateEventPage.xaml.cs">
+ <DependentUpon>CreateEventPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="View\EventPage.xaml.cs">
+ <DependentUpon>EventPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <AppxManifest Include="Package.appxmanifest">
+ <SubType>Designer</SubType>
+ </AppxManifest>
+ <None Include="EventMaker_TemporaryKey.pfx" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Properties\Default.rd.xml" />
+ <Content Include="Assets\LockScreenLogo.scale-200.png" />
+ <Content Include="Assets\SplashScreen.scale-200.png" />
+ <Content Include="Assets\Square150x150Logo.scale-200.png" />
+ <Content Include="Assets\Square44x44Logo.scale-200.png" />
+ <Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
+ <Content Include="Assets\StoreLogo.png" />
+ <Content Include="Assets\Wide310x150Logo.scale-200.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </ApplicationDefinition>
+ <Page Include="View\CreateEventPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="View\EventPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ </ItemGroup>
+ <ItemGroup />
+ <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
+ <VisualStudioVersion>14.0</VisualStudioVersion>
+ </PropertyGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file
diff --git a/EventMaker/EventMaker/Handler/EventHandler.cs b/EventMaker/EventMaker/Handler/EventHandler.cs
new file mode 100644
index 0000000..d47466a
--- /dev/null
+++ b/EventMaker/EventMaker/Handler/EventHandler.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace EventMaker.Handler
+{
+ class EventHandler
+ {
+ }
+}
diff --git a/EventMaker/EventMaker/Model/Event.cs b/EventMaker/EventMaker/Model/Event.cs
new file mode 100644
index 0000000..35da990
--- /dev/null
+++ b/EventMaker/EventMaker/Model/Event.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace EventMaker.Model
+{
+ class Event
+ {
+ DateTime DateTime { get; set; }
+ int Id { get; set; }
+ string Description { get; set; }
+ string Name { get; set; }
+ string Place { get; set; }
+ }
+}
diff --git a/EventMaker/EventMaker/Model/EventCatalogSingleton.cs b/EventMaker/EventMaker/Model/EventCatalogSingleton.cs
new file mode 100644
index 0000000..44de27f
--- /dev/null
+++ b/EventMaker/EventMaker/Model/EventCatalogSingleton.cs
@@ -0,0 +1,37 @@
+using System.Collections.ObjectModel;
+
+namespace EventMaker.Model
+{
+ class EventCatalogSingleton
+ {
+ private static EventCatalogSingleton instance;
+ ObservableCollection<Event> Events;
+ private EventCatalogSingleton()
+ {
+ Events = new ObservableCollection<Event>();
+ }
+ public static EventCatalogSingleton Instance
+ {
+ get
+ {
+ if (instance == null)
+ {
+ instance = new EventCatalogSingleton();
+ }
+ return instance;
+ }
+ }
+ public void Add(Event newEvent)
+ {
+ Events.Add(newEvent);
+ }
+ public async void LoadEventsAsync()
+ {
+
+ }
+ public void Remove(Event eventToBeRemoved)
+ {
+ Events.Remove(eventToBeRemoved);
+ }
+ }
+}
diff --git a/EventMaker/EventMaker/Package.appxmanifest b/EventMaker/EventMaker/Package.appxmanifest
new file mode 100644
index 0000000..437eb5c
--- /dev/null
+++ b/EventMaker/EventMaker/Package.appxmanifest
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<Package
+ xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+ xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+ xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+ IgnorableNamespaces="uap mp">
+
+ <Identity
+ Name="f247422f-81c6-4fd4-82da-72b8ed9681a2"
+ Publisher="CN=Marcin"
+ Version="1.0.0.0" />
+
+ <mp:PhoneIdentity PhoneProductId="f247422f-81c6-4fd4-82da-72b8ed9681a2" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+
+ <Properties>
+ <DisplayName>EventMaker</DisplayName>
+ <PublisherDisplayName>Marcin</PublisherDisplayName>
+ <Logo>Assets\StoreLogo.png</Logo>
+ </Properties>
+
+ <Dependencies>
+ <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+ </Dependencies>
+
+ <Resources>
+ <Resource Language="x-generate"/>
+ </Resources>
+
+ <Applications>
+ <Application Id="App"
+ Executable="$targetnametoken$.exe"
+ EntryPoint="EventMaker.App">
+ <uap:VisualElements
+ DisplayName="EventMaker"
+ Square150x150Logo="Assets\Square150x150Logo.png"
+ Square44x44Logo="Assets\Square44x44Logo.png"
+ Description="EventMaker"
+ BackgroundColor="transparent">
+ <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png"/>
+ <uap:SplashScreen Image="Assets\SplashScreen.png" />
+ </uap:VisualElements>
+ </Application>
+ </Applications>
+
+ <Capabilities>
+ <Capability Name="internetClient" />
+ </Capabilities>
+</Package> \ No newline at end of file
diff --git a/EventMaker/EventMaker/Persistency/PersistencyService.cs b/EventMaker/EventMaker/Persistency/PersistencyService.cs
new file mode 100644
index 0000000..7d21b1c
--- /dev/null
+++ b/EventMaker/EventMaker/Persistency/PersistencyService.cs
@@ -0,0 +1,39 @@
+using EventMaker.Model;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.Storage;
+using Windows.Storage.Pickers;
+using Windows.Storage.Streams;
+using Windows.UI.Xaml.Controls;
+
+namespace EventMaker.Persistency
+{
+ class PersistencyService
+ {
+ private static StorageFolder localFolder = ApplicationData.Current.LocalFolder;
+ private static StorageFile eventsFile;
+ public static async void SaveEventsAsJsonAsync(ObservableCollection<Event> events)
+ {
+ eventsFile = await localFolder.CreateFileAsync("events.json");
+ File.WriteAllText(eventsFile.Path, JsonConvert.SerializeObject(events));
+ }
+ public static async Task<List<Event>> LoadEventsFromJsonAsync()
+ {
+ StorageFile eventsFile = await localFolder.GetFileAsync("events")
+ }
+ public static async void SerializeEventsFileAsync(string eventsString, string filename)
+ {
+
+ }
+ public static async Task<string> DeserializeEventsFileAsync(string fileName)
+ {
+
+ }
+ }
+}
diff --git a/EventMaker/EventMaker/Properties/AssemblyInfo.cs b/EventMaker/EventMaker/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..98fb272
--- /dev/null
+++ b/EventMaker/EventMaker/Properties/AssemblyInfo.cs
@@ -0,0 +1,29 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("EventMaker")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("EventMaker")]
+[assembly: AssemblyCopyright("Copyright © 2017")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/EventMaker/EventMaker/Properties/Default.rd.xml b/EventMaker/EventMaker/Properties/Default.rd.xml
new file mode 100644
index 0000000..80a960c
--- /dev/null
+++ b/EventMaker/EventMaker/Properties/Default.rd.xml
@@ -0,0 +1,31 @@
+<!--
+ This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most
+ developers. However, you can modify these parameters to modify the behavior of the .NET Native
+ optimizer.
+
+ Runtime Directives are documented at http://go.microsoft.com/fwlink/?LinkID=391919
+
+ To fully enable reflection for App1.MyClass and all of its public/private members
+ <Type Name="App1.MyClass" Dynamic="Required All"/>
+
+ To enable dynamic creation of the specific instantiation of AppClass<T> over System.Int32
+ <TypeInstantiation Name="App1.AppClass" Arguments="System.Int32" Activate="Required Public" />
+
+ Using the Namespace directive to apply reflection policy to all the types in a particular namespace
+ <Namespace Name="DataClasses.ViewModels" Seralize="All" />
+-->
+
+<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
+ <Application>
+ <!--
+ An Assembly element with Name="*Application*" applies to all assemblies in
+ the application package. The asterisks are not wildcards.
+ -->
+ <Assembly Name="*Application*" Dynamic="Required All" />
+
+
+ <!-- Add your application specific runtime directives here. -->
+
+
+ </Application>
+</Directives> \ No newline at end of file
diff --git a/EventMaker/EventMaker/View/CreateEventPage.xaml b/EventMaker/EventMaker/View/CreateEventPage.xaml
new file mode 100644
index 0000000..8f8b8fa
--- /dev/null
+++ b/EventMaker/EventMaker/View/CreateEventPage.xaml
@@ -0,0 +1,13 @@
+<Page
+ x:Class="EventMaker.CreateEventPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:EventMaker"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d">
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+
+ </Grid>
+</Page>
diff --git a/EventMaker/EventMaker/View/CreateEventPage.xaml.cs b/EventMaker/EventMaker/View/CreateEventPage.xaml.cs
new file mode 100644
index 0000000..d6653cd
--- /dev/null
+++ b/EventMaker/EventMaker/View/CreateEventPage.xaml.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
+
+namespace EventMaker
+{
+ /// <summary>
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ /// </summary>
+ public sealed partial class CreateEventPage : Page
+ {
+ public CreateEventPage()
+ {
+ this.InitializeComponent();
+ }
+ }
+}
diff --git a/EventMaker/EventMaker/View/EventPage.xaml b/EventMaker/EventMaker/View/EventPage.xaml
new file mode 100644
index 0000000..b9d31e7
--- /dev/null
+++ b/EventMaker/EventMaker/View/EventPage.xaml
@@ -0,0 +1,13 @@
+<Page
+ x:Class="EventMaker.EventPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:EventMaker"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d">
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+
+ </Grid>
+</Page>
diff --git a/EventMaker/EventMaker/View/EventPage.xaml.cs b/EventMaker/EventMaker/View/EventPage.xaml.cs
new file mode 100644
index 0000000..18d1039
--- /dev/null
+++ b/EventMaker/EventMaker/View/EventPage.xaml.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
+
+namespace EventMaker
+{
+ /// <summary>
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ /// </summary>
+ public sealed partial class EventPage : Page
+ {
+ public EventPage()
+ {
+ this.InitializeComponent();
+ }
+ }
+}
diff --git a/EventMaker/EventMaker/ViewModel/EventViewModel.cs b/EventMaker/EventMaker/ViewModel/EventViewModel.cs
new file mode 100644
index 0000000..1ef8296
--- /dev/null
+++ b/EventMaker/EventMaker/ViewModel/EventViewModel.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace EventMaker.ViewModel
+{
+ class EventViewModel
+ {
+ }
+}
diff --git a/EventMaker/EventMaker/project.json b/EventMaker/EventMaker/project.json
new file mode 100644
index 0000000..162fd69
--- /dev/null
+++ b/EventMaker/EventMaker/project.json
@@ -0,0 +1,17 @@
+{
+ "dependencies": {
+ "Microsoft.NETCore.UniversalWindowsPlatform": "5.3.0",
+ "Newtonsoft.Json": "9.0.1"
+ },
+ "frameworks": {
+ "uap10.0": {}
+ },
+ "runtimes": {
+ "win10-arm": {},
+ "win10-arm-aot": {},
+ "win10-x86": {},
+ "win10-x86-aot": {},
+ "win10-x64": {},
+ "win10-x64-aot": {}
+ }
+} \ No newline at end of file