diff options
author | marcinzelent <marcin@zelent.net> | 2017-02-01 00:23:21 +0100 |
---|---|---|
committer | marcinzelent <marcin@zelent.net> | 2017-02-01 00:23:21 +0100 |
commit | 59d096530c18f8dae73b9252cc95a8423fb08d24 (patch) | |
tree | 2f82601164484ef6767edc216017d308c0a23f21 | |
parent | 06d365da5666d887a29b012f15887da6a1e2fc6f (diff) |
Initial commit. Added catalogs and classes.
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 Binary files differnew file mode 100644 index 0000000..735f57a --- /dev/null +++ b/EventMaker/EventMaker/Assets/LockScreenLogo.scale-200.png diff --git a/EventMaker/EventMaker/Assets/SplashScreen.scale-200.png b/EventMaker/EventMaker/Assets/SplashScreen.scale-200.png Binary files differnew file mode 100644 index 0000000..023e7f1 --- /dev/null +++ b/EventMaker/EventMaker/Assets/SplashScreen.scale-200.png diff --git a/EventMaker/EventMaker/Assets/Square150x150Logo.scale-200.png b/EventMaker/EventMaker/Assets/Square150x150Logo.scale-200.png Binary files differnew file mode 100644 index 0000000..af49fec --- /dev/null +++ b/EventMaker/EventMaker/Assets/Square150x150Logo.scale-200.png diff --git a/EventMaker/EventMaker/Assets/Square44x44Logo.scale-200.png b/EventMaker/EventMaker/Assets/Square44x44Logo.scale-200.png Binary files differnew file mode 100644 index 0000000..ce342a2 --- /dev/null +++ b/EventMaker/EventMaker/Assets/Square44x44Logo.scale-200.png diff --git a/EventMaker/EventMaker/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/EventMaker/EventMaker/Assets/Square44x44Logo.targetsize-24_altform-unplated.png Binary files differnew file mode 100644 index 0000000..f6c02ce --- /dev/null +++ b/EventMaker/EventMaker/Assets/Square44x44Logo.targetsize-24_altform-unplated.png diff --git a/EventMaker/EventMaker/Assets/StoreLogo.png b/EventMaker/EventMaker/Assets/StoreLogo.png Binary files differnew file mode 100644 index 0000000..7385b56 --- /dev/null +++ b/EventMaker/EventMaker/Assets/StoreLogo.png diff --git a/EventMaker/EventMaker/Assets/Wide310x150Logo.scale-200.png b/EventMaker/EventMaker/Assets/Wide310x150Logo.scale-200.png Binary files differnew file mode 100644 index 0000000..288995b --- /dev/null +++ b/EventMaker/EventMaker/Assets/Wide310x150Logo.scale-200.png 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)' < '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 |