aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Notifications/MessageBoxWindow.xaml
blob: 8f951223653271822a3bfbfcd784bdaf429f29e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<Window x:Class="Tango.MachineStudio.UI.Notifications.MessageBoxWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Tango.MachineStudio.UI.Notifications"
        xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
        xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
        xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
        mc:Ignorable="d"
        Title="Machine Studio" MinHeight="220" MaxHeight="600" SizeToContent="Height" Width="570" Opacity="0" AllowsTransparency="True" WindowStyle="None" WindowStartupLocation="CenterOwner" Background="Transparent" ShowInTaskbar="False">

    <Window.Resources>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"></BooleanToVisibilityConverter>
    </Window.Resources>

    <Grid>
        <Border Background="White" CornerRadius="10" Padding="10" Margin="20">
            <Border.Effect>
                <DropShadowEffect ShadowDepth="0" BlurRadius="10"></DropShadowEffect>
            </Border.Effect>
            <DockPanel LastChildFill="True">
                <StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" HorizontalAlignment="Right" DockPanel.Dock="Bottom">
                    <Button Style="{StaticResource MaterialDesignFlatButton}" IsDefault="True" Margin="0 8 8 0" Click="OnOKClicked">
                        ACCEPT
                    </Button>
                    <Button Visibility="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=HasCancel,Converter={StaticResource BooleanToVisibilityConverter}}" Style="{StaticResource MaterialDesignFlatButton}" IsCancel="False" Margin="0 8 8 0" Click="OnCancelClicked">
                        CANCEL
                    </Button>
                </StackPanel>
                <Grid>
                    <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Margin="0 30 0 0">
                        <materialDesign:PackIcon Kind="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=IconKind}" VerticalAlignment="Top" Width="50" Height="50" Foreground="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=IconColor}" />
                        <TextBlock Padding="0 10 0 0" TextWrapping="Wrap" Margin="10 0 0 0" VerticalAlignment="Top" FontSize="14" Text="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=Message}" Width="400"></TextBlock>
                    </StackPanel>
                </Grid>
            </DockPanel>
        </Border>
    </Grid>
</Window>
w"> public void Login_and_check_for_updates() { //First test the more primitive web clients. IWebTransportClient client = new WebTransportClient(); //var res1 = client.PostJson<LoginRequest, LoginResponse>($"{address}/api/MachineStudio/Login", new LoginRequest() //{ // Email = "TestUser@twine-s.com", // Password = "ASJH_asdjkl1234", // Version = "1.0.0.0" //}).Result; String token = "1234"; client.AuthenticationToken = token; var res2 = client.PostJson<CheckForUpdatesRequest, CheckForUpdatesResponse>($"{address}/api/MachineStudio/CheckForUpdates", new CheckForUpdatesRequest() { Version = "1.0.0.0" }).ConfigureAwait(false).GetAwaiter().GetResult(); //Check updates are available.. Assert.IsTrue(res2.IsUpdateAvailable); //Now check the dedicated machine studio client. MachineStudioWebClient msClient = new MachineStudioWebClient(address, null); //Should throw an exception without login first (no token specified..) Assert.ThrowsException<AuthenticationException>(() => { var res3 = msClient.CheckForUpdates(new CheckForUpdatesRequest() { Version = "1.0.0.0" }).GetAwaiter().GetResult(); }); //Perform a login. var res4 = msClient.Login(new LoginRequest() { Email = "TestUser@twine-s.com", Password = "ASJH_asdjkl1234", Version = "1.0.0.0" }).Result; //Validate the data source received. using (ObservablesContext db = ObservablesContext.CreateDefault(res4.DataSource)) { var user = db.Users.Single(x => x.Email.ToLower() == "TestUser@twine-s.com"); } //Check updates are not available.. var res5 = msClient.CheckForUpdates(new CheckForUpdatesRequest() { Version = "100.0.0.0" }).Result; Assert.IsFalse(res5.IsUpdateAvailable); } [TestMethod] public void Login_with_new_user() { //LoadConfiguration(); Tango.MachineService.Controllers.MachineStudioController controller = new Tango.MachineService.Controllers.MachineStudioController(); controller.Login(new LoginRequest() { Email = "Mati@twine-s.com", Password = "Futo8985", }); } //private void LoadConfiguration() //{ // ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap(); // fileMap.ExeConfigFilename = @"web.config"; // Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); // foreach (var item in config.AppSettings.Settings.OfType<KeyValueConfigurationElement>()) // { // ConfigurationManager.AppSettings.Add(item.Key, item.Value); // } //} } }