ソースを参照

Info-Funktion begonnen!

Arne Diekmann 8 年 前
コミット
a4b5391a6b

+ 1 - 1
GreenTree.Nachtragsmanagement.Core/AppendixVersion.cs

@@ -15,7 +15,7 @@ namespace GreenTree.Nachtragsmanagement.Core
         {
             get
             {
-                return "1.0.0";
+                return "0.9.0.0";
             }
         }
     }

+ 6 - 6
GreenTree.Nachtragsmanagement.Core/Properties/AssemblyInfo.cs

@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
 // Allgemeine Informationen über eine Assembly werden über die folgenden
 // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
 // die einer Assembly zugeordnet sind.
-[assembly: AssemblyTitle("GreenTree.Nachtragsmanagement.Core")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyTitle("Nachtragsmanagement 2.0 Core")]
+[assembly: AssemblyDescription("Core Bibliothek für Basisfunktionen der Anwendung")]
 [assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("GreenTree.Nachtragsmanagement.Core")]
+[assembly: AssemblyCompany("GreenTree Studios")]
+[assembly: AssemblyProduct("Schweerbau Nachtragsmanagement 2.0 Core")]
 [assembly: AssemblyCopyright("Copyright ©  2017")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
 // indem Sie "*" wie unten gezeigt eingeben:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.9.0.0")]
+[assembly: AssemblyFileVersion("0.9.0.0")]

+ 6 - 6
GreenTree.Nachtragsmanagement.Data/Properties/AssemblyInfo.cs

@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
 // Allgemeine Informationen über eine Assembly werden über die folgenden
 // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
 // die einer Assembly zugeordnet sind.
-[assembly: AssemblyTitle("GreenTree.Nachtragsmanagement.Data")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyTitle("Nachtragsmanagement 2.0 Data")]
+[assembly: AssemblyDescription("Data Bibliothek für die Datenverbindung der Anwendung zum eingestellten Datenprovider")]
 [assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("GreenTree.Nachtragsmanagement.Data")]
+[assembly: AssemblyCompany("GreenTree Studios")]
+[assembly: AssemblyProduct("Schweerbau Nachtragsmanagement 2.0 Data")]
 [assembly: AssemblyCopyright("Copyright ©  2017")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
 // indem Sie "*" wie unten gezeigt eingeben:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.9.0.0")]
+[assembly: AssemblyFileVersion("0.9.0.0")]

+ 6 - 6
GreenTree.Nachtragsmanagement.Services/Properties/AssemblyInfo.cs

@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
 // Allgemeine Informationen über eine Assembly werden über die folgenden
 // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
 // die einer Assembly zugeordnet sind.
-[assembly: AssemblyTitle("GreenTree.Nachtragsmanagement.Services")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyTitle("Nachtragsmanagement 2.0 Services")]
+[assembly: AssemblyDescription("Service Bibliothek für allgemeine Funktionen der Anwendung")]
 [assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("GreenTree.Nachtragsmanagement.Services")]
+[assembly: AssemblyCompany("GreenTree Studios")]
+[assembly: AssemblyProduct("Schweerbau Nachtragsmanagement 2.0 Service")]
 [assembly: AssemblyCopyright("Copyright ©  2017")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
 // indem Sie "*" wie unten gezeigt eingeben:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.9.0.0")]
+[assembly: AssemblyFileVersion("0.9.0.0")]

+ 6 - 6
GreenTree.Nachtragsmanagement.Web.Framework/Properties/AssemblyInfo.cs

@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
 // Allgemeine Informationen über eine Assembly werden über die folgenden
 // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
 // die einer Assembly zugeordnet sind.
-[assembly: AssemblyTitle("GreenTree.Nachtragsmanagement.Web.Framework")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyTitle("Nachtragsmanagement 2.0 Web Framework")]
+[assembly: AssemblyDescription("Framework Bibliothek für die eigentlich Web GUI Anwendung")]
 [assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("GreenTree.Nachtragsmanagement.Web.Framework")]
+[assembly: AssemblyCompany("GreenTree Studios")]
+[assembly: AssemblyProduct("Schweerbau Nachtragsmanagement 2.0 Web Framework")]
 [assembly: AssemblyCopyright("Copyright ©  2017")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
 // indem Sie "*" wie unten gezeigt eingeben:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.9.0.0")]
+[assembly: AssemblyFileVersion("0.9.0.0")]

+ 24 - 0
GreenTree.Nachtragsmanagement.Web/App_Start/FunctionConfig.cs

@@ -146,6 +146,30 @@ namespace GreenTree.Nachtragsmanagement.Web.App_Start
                     Plugin = "System"
                 },
                 new Function
+                {
+                    Name = "Administration-AppInfo",
+                    Description = "Anwendungsinformationen",
+                    ImageUrl = "~/Content/Images/function-Administration-AppInfo-32.png",
+                    GroupName = "Administration",
+                    RouteName = "GreenTree.Nachtragsmanagement.Web.Administration.AppInfo",
+                    IsMenuMember = true,
+                    Plugin = "System",
+                    BaseWidth = 1000,
+                    MinWidth = 700,
+                    BaseHeight = 600,
+                    MinHeight = 400,
+                    AllowMaximize = true,
+                    MaximizedOnStart = true
+                },
+                new Function
+                {
+                    Name = "Administration-AppInfo-Update",
+                    Description = "Updates installieren",
+                    GroupName = "Administration-AppInfo",
+                    IsMenuMember = false,
+                    Plugin = "System"
+                },
+                new Function
                 {
                     Name = "Site",
                     Description = "Baustellen",

+ 14 - 0
GreenTree.Nachtragsmanagement.Web/App_Start/RouteConfig.cs

@@ -62,6 +62,20 @@ namespace GreenTree.Nachtragsmanagement.Web
                }
             );
 
+            routes.MapRoute(
+                "GreenTree.Nachtragsmanagement.Web.Administration.AppInfo",
+                "admin/viewappinfo",
+               new
+               {
+                   controller = "Admin",
+                   action = "ViewAppInfo"
+               },
+               new[]
+               {
+                   "GreenTree.Nachtragsmanagement.Web.Controllers"
+               }
+            );
+
             routes.MapRoute(
                 "GreenTree.Nachtragsmanagement.Web.Deviation.Deviations",
                 "deviation/viewdeviations",

BIN
GreenTree.Nachtragsmanagement.Web/Content/Images/appInfo.png


BIN
GreenTree.Nachtragsmanagement.Web/Content/Images/function-Administration-AppInfo-32-contrast.png


BIN
GreenTree.Nachtragsmanagement.Web/Content/Images/function-Administration-AppInfo-32.png


+ 57 - 0
GreenTree.Nachtragsmanagement.Web/Controllers/AdminController.cs

@@ -13,6 +13,8 @@ using GreenTree.Nachtragsmanagement.Core.Plugins;
 using GreenTree.Nachtragsmanagement.Web.Framework.Authorization;
 using GreenTree.Nachtragsmanagement.Services.Logging;
 using GreenTree.Nachtragsmanagement.Web.Models.Admin.Plugins;
+using GreenTree.Nachtragsmanagement.Web.Models.Admin.AppInfo;
+using System.Reflection;
 
 namespace GreenTree.Nachtragsmanagement.Web.Controllers
 {
@@ -477,5 +479,60 @@ namespace GreenTree.Nachtragsmanagement.Web.Controllers
         }
 
         #endregion
+
+        #region AppInfo
+
+        /// <summary>
+        /// Basic appInfo view function
+        /// </summary>
+        public ActionResult ViewAppInfo()
+        {
+            var assemblies = AppDomain.CurrentDomain.GetAssemblies()
+                .Select(a => new AssemblyDataModel
+                {
+                    Name = a.GetName().Name,
+                    Version = a.GetName().Version.ToString(),
+                    Manufacturer =
+                        a.GetCustomAttributes<AssemblyCompanyAttribute>().Any()
+                            ? a.GetCustomAttributes<AssemblyCompanyAttribute>()
+                                .FirstOrDefault().Company
+                            : "Unbekannt"
+                })
+                .OrderBy(a => a.Manufacturer)
+                .ThenBy(a => a.Name)
+                .ToArray();
+
+            var model = new AppInfoDataModel
+            {
+                Assemblies = assemblies,
+                BaseDirectory = AppDomain.CurrentDomain.BaseDirectory
+            };
+
+            return View("~/Views/Admin/AppInfo/View.cshtml", model);
+        }
+
+        /// <summary>
+        /// Update check
+        /// </summary>
+        [HttpPost]
+        public ActionResult CheckUpdate()
+        {
+            var model = new AppUpdateDataModel
+            {
+                CurrentVersion = AppendixVersion.CurrentVersion
+            };
+
+            System.Threading.Thread.Sleep(2000);
+
+            model.UpdateDescription = "Test";
+            model.UpdateVersion = "0.9.0.1";
+
+            return new JsonResult
+            {
+                Data = model
+            };
+        }
+
+        #endregion
     }
 }

+ 7 - 0
GreenTree.Nachtragsmanagement.Web/GreenTree.Nachtragsmanagement.Web.csproj

@@ -169,6 +169,8 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
+    <Content Include="Content\Images\appInfo.png" />
+    <Content Include="Content\Images\function-Administration-AppInfo-32-contrast.png" />
     <Content Include="Content\Images\function-Misc-HelpPages-32.png" />
     <Content Include="Content\devex.css" />
     <Content Include="Content\function.css" />
@@ -208,6 +210,7 @@
     <Content Include="Content\Images\function-Site-Sites-32.png" />
     <Content Include="Content\Images\function-Misc-32.png" />
     <Content Include="Content\Images\function-Misc-MailNotifications-32.png" />
+    <Content Include="Content\Images\function-Administration-AppInfo-32.png" />
     <Content Include="Content\Images\logo.png" />
     <Content Include="Content\Images\maximize-16.png" />
     <Content Include="Content\Images\minimize-16.png" />
@@ -356,6 +359,7 @@
     <Content Include="Views\Misc\_HelpPageViewPartial.cshtml" />
     <Content Include="Views\Misc\_HelpPageHtmlEditPartial.cshtml" />
     <Content Include="Views\Config\_ConfigItemReferenceEditPartial.cshtml" />
+    <Content Include="Views\Admin\AppInfo\View.cshtml" />
     <None Include="Web.Debug.config">
       <DependentUpon>Web.config</DependentUpon>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -375,6 +379,9 @@
     <Compile Include="Extensions\ControlHelper.cs" />
     <Compile Include="Extensions\MVCxGridViewGeneratorHelper.cs" />
     <Compile Include="Extensions\MVCxGridViewState.cs" />
+    <Compile Include="Models\Admin\AppInfo\AppInfoDataModel.cs" />
+    <Compile Include="Models\Admin\AppInfo\AppUpdateDataModel.cs" />
+    <Compile Include="Models\Admin\AppInfo\AssemblyDataModel.cs" />
     <Compile Include="Models\Admin\Plugins\PluginDataModel.cs" />
     <Compile Include="Models\Appendix\OrderInvoiceCreatedDataModel.cs" />
     <Compile Include="Models\Config\ConfigItemDataModel.cs" />

+ 14 - 0
GreenTree.Nachtragsmanagement.Web/Models/Admin/AppInfo/AppInfoDataModel.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Web;
+
+namespace GreenTree.Nachtragsmanagement.Web.Models.Admin.AppInfo
+{
+    public class AppInfoDataModel
+    {
+        public AssemblyDataModel[] Assemblies { get; set; }
+        public string BaseDirectory { get; set; }
+    }
+}

+ 14 - 0
GreenTree.Nachtragsmanagement.Web/Models/Admin/AppInfo/AppUpdateDataModel.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace GreenTree.Nachtragsmanagement.Web.Models.Admin.AppInfo
+{
+    public class AppUpdateDataModel
+    {
+        public string CurrentVersion { get; set; }
+        public string UpdateVersion { get; set; }
+        public string UpdateDescription { get; set; }
+    }
+}

+ 14 - 0
GreenTree.Nachtragsmanagement.Web/Models/Admin/AppInfo/AssemblyDataModel.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace GreenTree.Nachtragsmanagement.Web.Models.Admin.AppInfo
+{
+    public class AssemblyDataModel
+    {
+        public string Name { get; set; }
+        public string Manufacturer { get; set; }
+        public string Version { get; set; }
+    }
+}

+ 7 - 7
GreenTree.Nachtragsmanagement.Web/Properties/AssemblyInfo.cs

@@ -5,12 +5,12 @@ 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("GreenTree.Nachtragsmanagement.Web")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyTitle("Nachtragsmanagement 2.0 Web")]
+[assembly: AssemblyDescription("Web GUI Anwendung zur Verwaltung von Nachträgen im Tief- und Gleisbaubereich")]
 [assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("GreenTree.Nachtragsmanagement.Web")]
-[assembly: AssemblyCopyright("Copyright ? 2017")]
+[assembly: AssemblyCompany("GreenTree Studios")]
+[assembly: AssemblyProduct("Schweerbau Nachtragsmanagement 2.0 Web")]
+[assembly: AssemblyCopyright("Copyright ©  2017")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
 //
 // You can specify all the values or you can default the Revision and Build Numbers 
 // by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.9.0.0")]
+[assembly: AssemblyFileVersion("0.9.0.0")]

+ 84 - 0
GreenTree.Nachtragsmanagement.Web/Views/Admin/AppInfo/View.cshtml

@@ -0,0 +1,84 @@
+@using GreenTree.Nachtragsmanagement.Web.Models.Global;
+
+@{
+    Layout = "~/Views/Shared/_FunctionLayout.cshtml";
+}
+
+@{ 
+	var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext();
+}
+
+@model GreenTree.Nachtragsmanagement.Web.Models.Admin.AppInfo.AppInfoDataModel
+
+<script>
+
+	function checkUpdate() {
+		devLoadingPanelUpdate.Show();
+		$.ajax({
+			method: "POST",
+			url: '@Url.Action("CheckUpdate", "Admin")',
+			success: function (response) {
+				devLoadingPanelUpdate.Hide();
+			},
+			error: function () {
+				 alert("error occured");
+			}
+		});
+	}
+
+</script>
+
+<img src="@Url.Content("~/Content/Images/appInfo.png")" style="width: 90%; margin: 38px 5%" />
+
+<table style="margin: 0 5%; width: 90%">
+	<tbody>
+		<tr>
+			<td style="width: 49%">
+				<div style="margin-bottom: 6px; vertical-align: top">
+					<b>Verwendete Bibliotheken</b>
+				</div>
+				@Html.DevExpress().ListBox(t =>
+				{
+					t.Name = "devListBoxAssemblies";
+					t.Width = new Unit(100, UnitType.Percentage);
+					t.Height = new Unit(260, UnitType.Pixel);
+					t.Properties.Columns.Add("Manufacturer", "Hersteller", new Unit(75, UnitType.Percentage));
+					t.Properties.Columns.Add("Name", "Bibliothek", new Unit(75, UnitType.Percentage));
+					t.Properties.Columns.Add("Version", "Version", new Unit(25, UnitType.Percentage));
+				}).BindList(Model.Assemblies).GetHtml()
+			</td>
+			<td style="width: 51%; padding-left: 18px; vertical-align: top">
+				<div style="padding-bottom: 3px; margin-bottom: 3px; vertical-align: top; border-bottom: 1px solid #009688">
+					<b>Sonstige Informationen</b>
+				</div>
+				Basisverzeichnis:<br/>
+				<i>@Model.BaseDirectory</i>
+				<div style="width: 90%; margin: 0 5%; text-align: center">
+					<h3 style="color: #009688">
+						Aktuelle Programmpaketversion
+					</h3>
+					<div style="font-size: 40px; margin: 12px 0">
+						@GreenTree.Nachtragsmanagement.Core.AppendixVersion.CurrentVersion
+					</div>
+					@if (userContext.CurrentUser.HasFunction("Administration-AppInfo-Update"))
+					{
+						Html.DevExpress().Button(t =>
+						{
+							t.Name = "devButtonUpdate";
+							t.Text = "Auf Update prüfen";
+							t.ClientSideEvents.Click = "function (s, e) { checkUpdate(); }";
+						}).GetHtml();
+					}
+				</div>
+			</td>
+		</tr>
+	</tbody>
+</table>
+
+@Html.DevExpress().LoadingPanel(t =>
+{
+	t.Name = "devLoadingPanelUpdate";
+	t.Text = "Es wird nach Updates geprüft... bitte warten!";
+	t.Modal = true;
+	t.Styles.LoadingDiv.Opacity = 0;
+}).GetHtml()