Browse Source

Fix to web engine content type; server manager color scheme

Kenric Nugteren 2 years ago
parent
commit
0252bc10a0

+ 8 - 8
prs.server/Engines/WebEngine/WebListener.cs

@@ -379,8 +379,8 @@ namespace PRSServer
 
             return request.Respond()
                 .Cookie(new Cookie("SessionID", newSessionID.ToString(), LoginExpiry)) // Expires after 30 minutes
-                .Type(new FlexibleContentType(ContentType.ApplicationJson))
                 .Content(new ResourceContent(Resource.FromString(responseString).Build()))
+                .Type(new FlexibleContentType(ContentType.ApplicationJson))
                 .Status(ResponseStatus.OK);
         }
 
@@ -723,8 +723,8 @@ Model.LoadModel(
             if (model.Response != null) return model.Response;
 
             var response = model.Request.Respond()
-                .Type(new FlexibleContentType(ContentType.TextHtml))
-                .Content(compiledHTML);
+                .Content(compiledHTML)
+                .Type(new FlexibleContentType(ContentType.TextHtml));
             foreach (var (key, value) in model.Cookies)
             {
                 response.Cookie(new Cookie(key, value));
@@ -950,8 +950,8 @@ Model.LoadModel(
             var returnJSON = Serialization.Serialize(SerializeEntityForEditing(entityType, entity));
 
             return request.Respond()
-                .Type(FlexibleContentType.Get(ContentType.ApplicationJson))
                 .Content(new ResourceContent(Resource.FromString(returnJSON).Build()))
+                .Type(FlexibleContentType.Get(ContentType.ApplicationJson))
                 .Status(ResponseStatus.OK);
         }
 
@@ -1040,8 +1040,8 @@ Model.LoadModel(
                 var responseString = Serialization.Serialize(imgs);
 
                 return request.Respond()
-                    .Type(new FlexibleContentType(ContentType.ImageJpg))
-                    .Content(new ResourceContent(Resource.FromString(responseString).Build()));
+                    .Content(new ResourceContent(Resource.FromString(responseString).Build()))
+                    .Type(new FlexibleContentType(ContentType.ImageJpg));
             }
 
             var contentType = extension switch
@@ -1051,8 +1051,8 @@ Model.LoadModel(
                 _ => ContentType.TextPlain
             };
             return request.Respond()
-                .Type(new FlexibleContentType(contentType))
-                .Content(new ByteArrayResource(document.Data, document.FileName, FlexibleContentType.Get(contentType), null));
+                .Content(new ByteArrayResource(document.Data, document.FileName, FlexibleContentType.Get(contentType), null))
+                .Type(new FlexibleContentType(contentType));
         }
 
         #endregion

+ 21 - 1
prs.server/Forms/Configuration.xaml.cs

@@ -2,12 +2,15 @@ using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Diagnostics;
+using System.Drawing;
 using System.IO;
 using System.Linq;
 using System.Reflection;
 using System.Windows;
+using System.Windows.Media;
 using Comal.Classes;
 using Comal.Stores;
+using InABox.Clients;
 using InABox.Configuration;
 using InABox.Core;
 using InABox.DynamicGrid;
@@ -16,9 +19,11 @@ using InABox.Reports;
 using InABox.Scripting;
 using InABox.Wpf;
 using InABox.WPF;
+using InABox.WPF.Themes;
 using PRS.Shared;
-using RestSharp;
 using Syncfusion.Licensing;
+using Color = System.Windows.Media.Color;
+using ColorConverter = System.Windows.Media.ColorConverter;
 
 namespace PRSServer
 {
@@ -31,6 +36,21 @@ namespace PRSServer
 
         public Configuration()
         {
+            ThemeManager.BaseColor = Colors.CornflowerBlue;
+            var database = PRSService.GetConfiguration().LoadAll().FirstOrDefault(x => x.Value.Type == ServerType.Database).Value;
+            if(database is not null)
+            {
+                var properties = (database.DeserializeServerProperties() as DatabaseServerProperties)!;
+                
+                try
+                {
+                    ThemeManager.BaseColor = (Color)ColorConverter.ConvertFromString(properties.ColorScheme);
+                }
+                catch
+                {
+                }
+            }
+
             Progress.DisplayImage = Properties.Resources.appstore.AsBitmapImage(200, 200);
 
             Progress.ShowModal("Starting...", progress =>