Statistics
| Branch: | Revision:

root / trunk / Pithos.Client.WPF / Shell / AboutViewModel.cs @ 74d78c90

History | View | Annotate | Download (1.5 kB)

1 d53bbdf0 Panagiotis Kanavos
// -----------------------------------------------------------------------
2 d53bbdf0 Panagiotis Kanavos
// <copyright file="AboutViewModel.cs" company="Microsoft">
3 d53bbdf0 Panagiotis Kanavos
// TODO: Update copyright text.
4 d53bbdf0 Panagiotis Kanavos
// </copyright>
5 d53bbdf0 Panagiotis Kanavos
// -----------------------------------------------------------------------
6 d53bbdf0 Panagiotis Kanavos
7 d53bbdf0 Panagiotis Kanavos
using System.ComponentModel.Composition;
8 2f41824c Panagiotis Kanavos
using System.Diagnostics;
9 4b0a2fc0 Panagiotis Kanavos
using System.Reflection;
10 d53bbdf0 Panagiotis Kanavos
using Caliburn.Micro;
11 d53bbdf0 Panagiotis Kanavos
12 d53bbdf0 Panagiotis Kanavos
namespace Pithos.Client.WPF.Shell
13 d53bbdf0 Panagiotis Kanavos
{
14 d53bbdf0 Panagiotis Kanavos
    using System;
15 d53bbdf0 Panagiotis Kanavos
    using System.Collections.Generic;
16 d53bbdf0 Panagiotis Kanavos
    using System.Linq;
17 d53bbdf0 Panagiotis Kanavos
    using System.Text;
18 4b0a2fc0 Panagiotis Kanavos
    
19 d53bbdf0 Panagiotis Kanavos
    /// <summary>
20 d53bbdf0 Panagiotis Kanavos
    /// TODO: Update summary.
21 d53bbdf0 Panagiotis Kanavos
    /// </summary>
22 d53bbdf0 Panagiotis Kanavos
    [Export(typeof(AboutViewModel))]
23 d53bbdf0 Panagiotis Kanavos
    public class AboutViewModel:Screen
24 d53bbdf0 Panagiotis Kanavos
    {
25 d53bbdf0 Panagiotis Kanavos
        public string Version { get; set; }
26 4b0a2fc0 Panagiotis Kanavos
27 2f41824c Panagiotis Kanavos
        public DateTime Released { get; set; }
28 4b0a2fc0 Panagiotis Kanavos
29 4b0a2fc0 Panagiotis Kanavos
        public Uri SupportPage { get; set; }
30 4b0a2fc0 Panagiotis Kanavos
31 d17258c2 Panagiotis Kanavos
        public string Bits { get; set; }
32 d17258c2 Panagiotis Kanavos
33 4b0a2fc0 Panagiotis Kanavos
        public AboutViewModel()
34 d53bbdf0 Panagiotis Kanavos
        {
35 2f41824c Panagiotis Kanavos
            Assembly assembly = Assembly.GetExecutingAssembly();
36 4b0a2fc0 Panagiotis Kanavos
37 2f41824c Panagiotis Kanavos
            var attributes=assembly.GetCustomAttributes(false);
38 2f41824c Panagiotis Kanavos
            var versionAtt = attributes.OfType<AssemblyInformationalVersionAttribute>().First();
39 2f41824c Panagiotis Kanavos
            Released = DateTime.Parse(versionAtt.InformationalVersion);
40 2f41824c Panagiotis Kanavos
            
41 2f41824c Panagiotis Kanavos
            var fileVersion = FileVersionInfo.GetVersionInfo(assembly.Location);                        
42 2f41824c Panagiotis Kanavos
            Version = fileVersion.FileVersion;
43 d17258c2 Panagiotis Kanavos
44 d17258c2 Panagiotis Kanavos
            Bits = Environment.Is64BitProcess ? "64 bit" : "32 bit";
45 d53bbdf0 Panagiotis Kanavos
        }
46 d53bbdf0 Panagiotis Kanavos
47 3ddbb7b8 Panagiotis Kanavos
        public void CloseAbout()
48 d53bbdf0 Panagiotis Kanavos
        {
49 4b0a2fc0 Panagiotis Kanavos
            this.TryClose();
50 d53bbdf0 Panagiotis Kanavos
        }
51 d53bbdf0 Panagiotis Kanavos
    }
52 d53bbdf0 Panagiotis Kanavos
}