Kaynağa Gözat

morktM

样式分支
NXX 2 yıl önce
ebeveyn
işleme
38209bb81e
21 değiştirilmiş dosya ile 240 ekleme ve 383 silme
  1. BIN
     
  2. +1
    -1
      BPASmartClient.CustomResource/Pages/View/LoginView.xaml
  3. +1
    -1
      BPASmartClient.CustomResource/RecDictionarys/RecIcoButtonStyle.xaml
  4. +1
    -1
      BPASmartClient.CustomResource/Themes/MyStyle.xaml
  5. +1
    -1
      BPASmartClient.CustomResource/UserControls/IcoButton.cs
  6. +3
    -2
      BPASmartClient.MorkTSingle/Control_MORKJC.cs
  7. +4
    -4
      BPASmartClient.MorkTSingle/OrderLocInfo.cs
  8. +0
    -94
      BPASmartClient.MorkT_BarCounter/ViewModel/MonitorViewModel.cs
  9. +59
    -48
      BPASmartClient.MorkT_Container/Control_MorkT_Container.cs
  10. +0
    -92
      BPASmartClient.MorkT_Container/ViewModel/MonitorViewModel.cs
  11. +1
    -1
      BPASmartClient.SerialPort/SerialPortClient.cs
  12. +7
    -2
      BPASmartClient.ViewModel/ShopDeviceConfigViewModel.cs
  13. +1
    -0
      BPASmartClient/BPASmartClient.csproj
  14. +2
    -2
      BPASmartClient/Control/ShopDeviceConfigView.xaml
  15. +8
    -11
      BPASmartClient/Control/ShopDeviceConfigView.xaml.cs
  16. +8
    -8
      DosingSystem/App.xaml.cs
  17. +1
    -1
      DosingSystem/View/HardwareStatusView.xaml
  18. +1
    -1
      DosingSystem/View/RecipeSettingsView.xaml
  19. +7
    -6
      FryPot_DosingSystem/App.xaml
  20. +112
    -62
      FryPot_DosingSystem/View/RecipeSetView.xaml
  21. +22
    -45
      SmartClient.sln

+ 1
- 1
BPASmartClient.CustomResource/Pages/View/LoginView.xaml Dosyayı Görüntüle

@@ -14,8 +14,8 @@
Background="{x:Null}"
Topmost="False"
WindowStartupLocation="CenterScreen"
WindowStyle="None"
WindowState="Normal"
WindowStyle="None"
mc:Ignorable="d">

<Window.DataContext>


+ 1
- 1
BPASmartClient.CustomResource/RecDictionarys/RecIcoButtonStyle.xaml Dosyayı Görüntüle

@@ -39,7 +39,7 @@
<Setter Property="Background" Value="#2219b7ec" />
<Setter Property="BorderBrush" Value="#ff19b7ec" />
<Setter Property="BorderThickness" Value="2" />
<Setter Property="EnterBackground" Value="#2219b7ec" />
<Setter Property="EnterBackground" Value="#8819b7ec" />
</Style>

<Style x:Key="IcoTitleBarStyle" TargetType="local:IcoButton">


+ 1
- 1
BPASmartClient.CustomResource/Themes/MyStyle.xaml Dosyayı Görüntüle

@@ -834,7 +834,7 @@
<Style.Setters>
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/背景矢量/beijing.png"/>
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/背景矢量/beijing.png" />
</Setter.Value>
</Setter>
</Style.Setters>


+ 1
- 1
BPASmartClient.CustomResource/UserControls/IcoButton.cs Dosyayı Görüntüle

@@ -173,7 +173,7 @@ namespace BPASmartClient.CustomResource.UserControls

if (gr != null)
{
gr.MouseLeftButtonDown += Gr_MouseLeftButtonDown;
//gr.MouseLeftButtonDown += Gr_MouseLeftButtonDown;
gr.MouseEnter += Gr_MouseEnter;
gr.MouseLeave += Gr_MouseLeave;
}


+ 3
- 2
BPASmartClient.MorkTSingle/Control_MORKJC.cs Dosyayı Görüntüle

@@ -238,7 +238,7 @@ namespace BPASmartClient.MorkTSingle
bFirstTrig_Coffee = false;
morkT.MakeCoffeeFinish = true;
});
if (morkT.MakeCoffeeFinish != true && morkT.MakeCoffeeFinish == false)
if (morkT.MakeCoffeeFinish != true)
{
if (!bFirstTrig_Coffee)
{
@@ -279,7 +279,8 @@ namespace BPASmartClient.MorkTSingle
});
/*
string aa = calLrcCommon("01" + "05" + "0000000D");
string bb = ":01010001" + aa + "\r\n";*/
string bb = ":01010001" + aa + "\r\n";
*/
}
public static string calLrcCommon(string data)
{


+ 4
- 4
BPASmartClient.MorkTSingle/OrderLocInfo.cs Dosyayı Görüntüle

@@ -4,16 +4,16 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.MorkTM
namespace BPASmartClient.MorkTSingle
{
public class OrderLocInfo
{
public string SuborderId { get; set; }
public ushort Loc { get; set; }
public ushort RecipeNumber { get; set; }
public int BatchingId { get; set; }
public string GoodName { get; set; }

public Dictionary<int, float> GoodPushes { get; set; }
public string makeID { get; set; }

}



+ 0
- 94
BPASmartClient.MorkT_BarCounter/ViewModel/MonitorViewModel.cs Dosyayı Görüntüle

@@ -1,94 +0,0 @@
using BPASmartClient.Business;
using BPASmartClient.Helper;
using BPASmartClient.Model.乐白机器人;
using Microsoft.Toolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media;

namespace BPASmartClient.MorkT_BarCounter.ViewModel
{

public class MonitorViewModel: ObservableObject
{
#region 传感器
/// <summary>
/// 机器人夹爪传感器
/// </summary>
public bool RobotSenser { get { return _robotSenser; } set { _robotSenser = value; OnPropertyChanged(); } }
private bool _robotSenser;
/// <summary>
/// 冰淇淋出口传感器
/// </summary>
public bool IceCreamSenser { get { return _iceCreamSenser; } set { _iceCreamSenser = value; OnPropertyChanged(); } }
private bool _iceCreamSenser;
/// <summary>
/// 取餐口检测传感器
/// </summary>
public bool TakeMealSenser { get { return _takeMealSenser; } set { _takeMealSenser = value; OnPropertyChanged(); } }
private bool _takeMealSenser;

#endregion


/// <summary>
/// 设备ID
/// </summary>
int DeviceId;
public MonitorViewModel()
{
Plugin.GetInstance()?.GetPlugin<DeviceMgr>()?.GetDevices().ForEach(device =>
{
if (device.Name == "MorkT") DeviceId = device.DeviceId;

});
ThreadManage.GetInstance().StartLong(new Action(() =>
{
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetTCPInputEvent() { DeviceId = DeviceId, Pin = 1 },(res)=>
{
if(res != null&& res.Length>0&& res[0] is bool b)
{
RobotSenser = b;
}
});

EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetInputEvent() { DeviceId = DeviceId, Pin = 0 }, (res) =>
{
if (res != null && res.Length > 0 && res[0] is bool b)
{
TakeMealSenser = b;
}
});

EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetTCPInputEvent() { DeviceId = DeviceId, Pin = 3 }, (res) =>
{
if (res != null && res.Length > 0 && res[0] is bool b)
{
IceCreamSenser = b;
}
});
Thread.Sleep(500);
}), "MorkT-传感器监视");
}
}

public class BoolToColorConvert : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (bool) value? new SolidColorBrush(Color.FromRgb(144, 238, 144)) : new SolidColorBrush(Color.FromRgb(178, 34, 34));
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

}

+ 59
- 48
BPASmartClient.MorkT_Container/Control_MorkT_Container.cs Dosyayı Görüntüle

@@ -186,73 +186,84 @@ namespace BPASmartClient.MorkT_Container
DateTime delayTimeOut_Juice;
public override void MainTask()
{
EventBus.EventBus.GetInstance().Subscribe<DRCoffee_CoffeEndCookEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack)
{
if (morkTLebaiJC.IsHaveCoffeeCup && morkTLebaiJC.MakeCoffeeEnd != true)
morkTLebaiJC.MakeCoffeeEnd = true;
});
if (morkTLebaiJC.IsHaveCoffeeCup && morkTLebaiJC.MakeCoffeeEnd != true)
{
if (!bFirstTrig_Coffee)
if (morkTLebaiJC.morkOrderPushesCoffee.Count > 0 && morkTLebaiJC.IsHaveCoffeeCup)
{
EventBus.EventBus.GetInstance().Subscribe<DRCoffee_CoffeEndCookEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack)
{
bFirstTrig_Coffee = true;
delayTimeOut_Coffee = DateTime.Now;
}
else if (DateTime.Now.Subtract(delayTimeOut_Coffee).TotalSeconds > 180 && bFirstTrig_Coffee == true)
{
DeviceProcessLogShow("接咖啡超时,接咖啡结束,等待取咖啡");
bFirstTrig_Coffee = false;
if (morkTLebaiJC.IsHaveCoffeeCup)
if (morkTLebaiJC.IsHaveCoffeeCup && morkTLebaiJC.MakeCoffeeEnd != true)
{
morkTLebaiJC.MakeCoffeeEnd = true;
bFirstTrig_Coffee = false;
}
});
if (morkTLebaiJC.IsHaveCoffeeCup && morkTLebaiJC.MakeCoffeeEnd != true)
{
if (!bFirstTrig_Coffee)
{
bFirstTrig_Coffee = true;
delayTimeOut_Coffee = DateTime.Now;
}
else if (DateTime.Now.Subtract(delayTimeOut_Coffee).TotalSeconds > 180 && bFirstTrig_Coffee == true)
{
DeviceProcessLogShow("接咖啡超时,接咖啡结束,等待取咖啡");
bFirstTrig_Coffee = false;
if (morkTLebaiJC.IsHaveCoffeeCup)
morkTLebaiJC.MakeCoffeeEnd = true;
}
}
}

if (morkTLebaiJC.IsHaveJuiceCup && morkTLebaiJC.MakeJuiceEnd != true)
if (morkTLebaiJC.morkOrderPushesJuicer.Count > 0 && morkTLebaiJC.IsHaveJuiceCup)
{
var Juicestate = GetStatus<int[]>("GetDeviceStatus");
if (Juicestate != null)
if (morkTLebaiJC.IsHaveJuiceCup && morkTLebaiJC.MakeJuiceEnd != true)
{
if (Juicestate.Length > 0)
var Juicestate = GetStatus<int[]>("GetDeviceStatus");
if (Juicestate != null)
{
var Juicestate1 = Convert.ToString(Juicestate[0], 2);
var Juicestate2 = Juicestate[1];
if (Juicestate1.IndexOf("0") == 1 && Juicestate2 == 0)
if (Juicestate.Length > 0)
{
morkTLebaiJC.MakeJuiceEnd = true;
var Juicestate1 = Convert.ToString(Juicestate[0], 2);
var Juicestate2 = Juicestate[1];
if (Juicestate1.IndexOf("0") == 1 && Juicestate2 == 0)
{
morkTLebaiJC.MakeJuiceEnd = true;
bFirstTrig_Juice = false;
}
}
}
if (!morkTLebaiJC.MakeJuiceEnd)
{
//若无状态返回 则加延迟
if (!bFirstTrig_Juice)
{
bFirstTrig_Juice = true;
delayTimeOut_Juice = DateTime.Now;
}
else if (DateTime.Now.Subtract(delayTimeOut_Juice).TotalSeconds > 15 && bFirstTrig_Juice == true)
{
DeviceProcessLogShow("接果汁超时,接果汁结束,等待取果汁");
bFirstTrig_Juice = false;
morkTLebaiJC.MakeJuiceEnd = true;
}
}
}
if (!morkTLebaiJC.MakeJuiceEnd)
}
if ((morkTLebaiJC.morkOrderPushesTea.Count > 0 || morkTLebaiJC.morkOrderPushesWater.Count > 0) && morkTLebaiJC.IsHaveTeaWaterCup)
{
if (morkTLebaiJC.IsHaveTeaWaterCup && morkTLebaiJC.MakeTeaEnd != true)
{
//若无状态返回 则加延迟
if (!bFirstTrig_Juice)
if (!bFirstTrig_TeaWater)
{
bFirstTrig_Juice = true;
delayTimeOut_Juice = DateTime.Now;
bFirstTrig_TeaWater = true;
delayTimeOut_Water = DateTime.Now;//开启接水信号后,记录当前时间
}
else if (DateTime.Now.Subtract(delayTimeOut_Juice).TotalSeconds > 15 && bFirstTrig_Juice == true)
else if (DateTime.Now.Subtract(delayTimeOut_Water).TotalSeconds >= 50 && bFirstTrig_TeaWater == true)//接水超过50s后,启动接水完成标志,开启接水程序
{
DeviceProcessLogShow("接果汁超时,接果汁结束,等待取果汁");
bFirstTrig_Juice = false;
morkTLebaiJC.MakeJuiceEnd = true;
DeviceProcessLogShow("接茶或水延迟时间结束");
bFirstTrig_TeaWater = false;
morkTLebaiJC.MakeTeaEnd = true;
}
}
}
if (morkTLebaiJC.IsHaveTeaWaterCup && morkTLebaiJC.MakeTeaEnd != true)
{
if (!bFirstTrig_TeaWater)
{
bFirstTrig_TeaWater = true;
delayTimeOut_Water = DateTime.Now;//开启接水信号后,记录当前时间
}
else if (DateTime.Now.Subtract(delayTimeOut_Water).TotalSeconds >= 50 && bFirstTrig_TeaWater == true)//接水超过50s后,启动接水完成标志,开启接水程序
{
DeviceProcessLogShow("接茶或水延迟时间结束");
bFirstTrig_TeaWater = false;
morkTLebaiJC.MakeTeaEnd = true;
}
}
DoCoffee();
DoJuice();
DoBoiledTea();


+ 0
- 92
BPASmartClient.MorkT_Container/ViewModel/MonitorViewModel.cs Dosyayı Görüntüle

@@ -1,92 +0,0 @@
using BPASmartClient.Business;
using BPASmartClient.Helper;
using BPASmartClient.Model.乐白机器人;
using Microsoft.Toolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media;

namespace BPASmartClient.MorkT_Container.ViewModel
{

public class MonitorViewModel: ObservableObject
{
#region 传感器
/// <summary>
/// 机器人夹爪传感器
/// </summary>
public bool RobotSenser { get { return _robotSenser; } set { _robotSenser = value; OnPropertyChanged(); } }
private bool _robotSenser;
/// <summary>
/// 冰淇淋出口传感器
/// </summary>
public bool IceCreamSenser { get { return _iceCreamSenser; } set { _iceCreamSenser = value; OnPropertyChanged(); } }
private bool _iceCreamSenser;
/// <summary>
/// 取餐口检测传感器
/// </summary>
public bool TakeMealSenser { get { return _takeMealSenser; } set { _takeMealSenser = value; OnPropertyChanged(); } }
private bool _takeMealSenser;

#endregion
/// <summary>
/// 设备ID
/// </summary>
int DeviceId;
public MonitorViewModel()
{
Plugin.GetInstance()?.GetPlugin<DeviceMgr>()?.GetDevices().ForEach(device =>
{
if (device.Name == "MorkT") DeviceId = device.DeviceId;

});
ThreadManage.GetInstance().StartLong(new Action(() =>
{
EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetTCPInputEvent() { DeviceId = DeviceId, Pin = 1 },(res)=>
{
if(res != null&& res.Length>0&& res[0] is bool b)
{
RobotSenser = b;
}
});

EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetInputEvent() { DeviceId = DeviceId, Pin = 0 }, (res) =>
{
if (res != null && res.Length > 0 && res[0] is bool b)
{
TakeMealSenser = b;
}
});

EventBus.EventBus.GetInstance().Publish(new LebaiRobot_GetTCPInputEvent() { DeviceId = DeviceId, Pin = 3 }, (res) =>
{
if (res != null && res.Length > 0 && res[0] is bool b)
{
IceCreamSenser = b;
}
});
Thread.Sleep(500);
}), "MorkT-传感器监视");
}
}

public class BoolToColorConvert : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (bool) value? new SolidColorBrush(Color.FromRgb(144, 238, 144)) : new SolidColorBrush(Color.FromRgb(178, 34, 34));
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

}

+ 1
- 1
BPASmartClient.SerialPort/SerialPortClient.cs Dosyayı Görüntüle

@@ -143,7 +143,7 @@ namespace BPASmartClient.SerialPort
/// 判断是否有这个串口
/// </summary>
public bool IsHavePort => System.IO.Ports.SerialPort.GetPortNames().Contains(PortName);
/// <summary>
/// 打开端口
/// </summary>


+ 7
- 2
BPASmartClient.ViewModel/ShopDeviceConfigViewModel.cs Dosyayı Görüntüle

@@ -23,8 +23,10 @@ namespace BPASmartClient.ViewModel
string FileName => deviceConfig.Count > 0 ? deviceConfig[0].ShopName : string.Empty;
public static List<string> IDevices = new List<string>();
public static List<string> IPeripherals = new List<string>();
public static Action NewShop { get; set; }
public ShopDeviceConfigViewModel()
{
NewShop = null;
ActionManage.GetInstance.Register(new Action<object[]>((o) =>
{
if (o != null && o is string[] par)
@@ -43,10 +45,11 @@ namespace BPASmartClient.ViewModel
RemoveDeviceCommand = new RelayCommand<object>(RemoveDevice);
NewCommunicationCommand = new RelayCommand<object>(NewCommunication);
RemoveCommunicationCommand = new RelayCommand<object>(RemoveCommunication);
NewShopCommand = new RelayCommand(() => { NewShop?.Invoke(); });

DataListInit();

SaveData = new Action(() =>
SaveData = new RelayCommand(() =>
{
if (deviceConfig.Count > 0)
{
@@ -171,7 +174,9 @@ namespace BPASmartClient.ViewModel
/// </summary>
public RelayCommand<object> RemoveCommunicationCommand { get; set; }

public Action SaveData { get; set; }
public RelayCommand SaveData { get; set; }

public RelayCommand NewShopCommand { get; set; }
#endregion

#region 列表集合


+ 1
- 0
BPASmartClient/BPASmartClient.csproj Dosyayı Görüntüle

@@ -35,6 +35,7 @@
<ProjectReference Include="..\BPASmartClient.MorkS\BPASmartClient.MorkS.csproj" />
<ProjectReference Include="..\BPASmartClient.Morkt.JAKA.JC\BPASmartClient.MorkTJAKAJC.csproj" />
<ProjectReference Include="..\BPASmartClient.MorkT.Lebai.JC\BPASmartClient.MorkTLebaiJC.csproj" />
<ProjectReference Include="..\BPASmartClient.MorkTSingle\BPASmartClient.MorkTSingle.csproj" />
<ProjectReference Include="..\BPASmartClient.MorkT\BPASmartClient.MorkT.csproj" />
<ProjectReference Include="..\BPASmartClient.MorkT_BarCounter\BPASmartClient.MorkT_BarCounter.csproj" />
<ProjectReference Include="..\BPASmartClient.MorkT_Container\BPASmartClient.MorkT_Container.csproj" />


+ 2
- 2
BPASmartClient/Control/ShopDeviceConfigView.xaml Dosyayı Görüntüle

@@ -388,7 +388,7 @@
FontSize="16"
Foreground="{StaticResource TextBlockForeground}"
IcoText="&#xe626;"
MouseLeftButtonDown="IcoButton_MouseLeftButtonDown"
Command="{Binding NewShopCommand}"
Style="{StaticResource IcoButtonStyle}" />

<pry:IcoButton
@@ -399,7 +399,7 @@
Content="保存配置"
FontSize="16"
Foreground="{StaticResource TextBlockForeground}"
IcoText="&#xe626;"
IcoText="&#xe635;"
Style="{StaticResource IcoButtonStyle}" />

</Grid>


+ 8
- 11
BPASmartClient/Control/ShopDeviceConfigView.xaml.cs Dosyayı Görüntüle

@@ -30,22 +30,19 @@ namespace BPASmartClient.Control
public ShopDeviceConfigView()
{
InitializeComponent();
}

private void IcoButton_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
NewShopWindow newShopWindow = new NewShopWindow();
var res = newShopWindow.ShowDialog();

if (res != null && res == true)
ShopDeviceConfigViewModel.NewShop = new Action(() =>
{
VisibilityControl();
}
NewShopWindow newShopWindow = new NewShopWindow();
var res = newShopWindow.ShowDialog();
if (res != null && res == true)
{
VisibilityControl();
}
});
}

private void TreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{

Refresh();
}



+ 8
- 8
DosingSystem/App.xaml.cs Dosyayı Görüntüle

@@ -28,13 +28,13 @@ namespace BPASmartClient.DosingSystem
DataInit();

MainView mv = new MainView();
mv.Show();
//LoginView lv = new LoginView();
//var res = lv.ShowDialog();
//if (res != null && res == true)
// mv.Show();
//else
// mv.Close();
//mv.Show();
LoginView lv = new LoginView();
var res = lv.ShowDialog();
if (res != null && res == true)
mv.Show();
else
mv.Close();
MainWindow = mv;
}

@@ -71,7 +71,7 @@ namespace BPASmartClient.DosingSystem
MainMenuIcon = "&#xe683;",
MainMenuName = "配方管理",
Alias = "Recipe Management",
MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员 },
MainMenuPermission = new Permission[] { Permission.管理员 },
subMenumodels = RecipeManage,
});
#endregion


+ 1
- 1
DosingSystem/View/HardwareStatusView.xaml Dosyayı Görüntüle

@@ -182,7 +182,7 @@
Height="{Binding ElementName=gr, Path=ActualHeight}"
Margin="0,0,400,0"
ConveyorBeltWidth="70"
Direction="0"
Direction="1"
StrokeBrush="Red"
StrokeDashArray="1.5 1.5"
StrokeFillBrush="Red"


+ 1
- 1
DosingSystem/View/RecipeSettingsView.xaml Dosyayı Görüntüle

@@ -73,7 +73,7 @@
Content="保存配方"
FontSize="17"
Foreground="Aqua"
IcoText="&#xe936;"
IcoText="&#xe635;"
IsEnabled="True"
Style="{StaticResource IcoButtonStyle}" />
</StackPanel>


+ 7
- 6
FryPot_DosingSystem/App.xaml Dosyayı Görüntüle

@@ -1,9 +1,10 @@
<Application x:Class="FryPot_DosingSystem.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:FryPot_DosingSystem" xmlns:con="clr-namespace:System.Drawing;assembly=netstandard"
xmlns:con1="clr-namespace:BPASmartClient.CustomResource.Converters;assembly=BPASmartClient.CustomResource"
>
<Application
x:Class="FryPot_DosingSystem.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:con="clr-namespace:System.Drawing;assembly=netstandard"
xmlns:con1="clr-namespace:BPASmartClient.CustomResource.Converters;assembly=BPASmartClient.CustomResource"
xmlns:local="clr-namespace:FryPot_DosingSystem">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>


+ 112
- 62
FryPot_DosingSystem/View/RecipeSetView.xaml Dosyayı Görüntüle

@@ -1,15 +1,17 @@
<UserControl x:Class="FryPot_DosingSystem.View.RecipeSetView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:FryPot_DosingSystem.View"
xmlns:pry="clr-namespace:BPASmartClient.CustomResource.UserControls;assembly=BPASmartClient.CustomResource"
xmlns:vm="clr-namespace:FryPot_DosingSystem.ViewModel"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl
x:Class="FryPot_DosingSystem.View.RecipeSetView"
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:local="clr-namespace:FryPot_DosingSystem.View"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pry="clr-namespace:BPASmartClient.CustomResource.UserControls;assembly=BPASmartClient.CustomResource"
xmlns:vm="clr-namespace:FryPot_DosingSystem.ViewModel"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<UserControl.DataContext>
<vm:RecipeSetViewModel></vm:RecipeSetViewModel>
<vm:RecipeSetViewModel />
</UserControl.DataContext>
<UserControl.Resources>
<SolidColorBrush x:Key="BorderSolid" Color="#5523CACA" />
@@ -36,7 +38,7 @@
<Setter Property="BorderThickness" Value="0" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand"></Setter>
<Setter Property="Cursor" Value="Hand" />
</Trigger>
</Style.Triggers>
</Style>
@@ -44,57 +46,88 @@
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="55"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition Height="55" />
<RowDefinition Height="30" />
<RowDefinition />
</Grid.RowDefinitions>
<UniformGrid Columns="2">
<Image Source="../hbl.ico" HorizontalAlignment="Left"></Image>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Column="2">
<pry:IcoButton Content="新建配方"
Margin="80,15,10,0"
Width="150"
FontSize="16"
Foreground="Aqua"
IcoText="&#xe626;"
Cursor="Hand"
Style="{StaticResource IcoButtonStyle}"
Command="{Binding NewRecipe}">
</pry:IcoButton>
<Image HorizontalAlignment="Left" Source="../hbl.ico" />
<StackPanel
Grid.Column="2"
HorizontalAlignment="Right"
Orientation="Horizontal">
<pry:IcoButton
Content="保存配方" Margin="5,15,10,0"
Width="150"
FontSize="16"
Foreground="Aqua"
IcoText="&#xe626;"
Cursor="Hand"
Style="{StaticResource IcoButtonStyle}"
Command="{Binding SaveRecipe}">
</pry:IcoButton>
Width="150"
Margin="80,15,10,0"
Command="{Binding NewRecipe}"
Content="新建配方"
Cursor="Hand"
FontSize="16"
Foreground="Aqua"
IcoText="&#xe626;"
Style="{StaticResource IcoButtonStyle}" />
<pry:IcoButton
Width="150"
Margin="5,15,10,0"
Command="{Binding SaveRecipe}"
Content="保存配方"
Cursor="Hand"
FontSize="16"
Foreground="Aqua"
IcoText="&#xe626;"
Style="{StaticResource IcoButtonStyle}" />

</StackPanel>
</UniformGrid>
<!--<TextBlock Grid.Row="1" Text="配方信息" Foreground="Aquamarine" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" Margin="0,5" ></TextBlock>-->
<!--<Line Grid.Row="1" X1="0" Y1="5" X2="1920" Y2="10" Stroke="Aqua" VerticalAlignment="Center"></Line>-->
<Grid Grid.Row="1" Background="Cyan" Margin="0,5,0,0">
<Grid
Grid.Row="1"
Margin="0,5,0,0"
Background="Cyan">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.3*"/>
<ColumnDefinition Width="0.3*"/>
<ColumnDefinition Width="0.3*"/>
<ColumnDefinition Width="0.3*" />
<ColumnDefinition Width="0.3*" />
<ColumnDefinition Width="0.3*" />
<!--<ColumnDefinition/>-->
</Grid.ColumnDefinitions>
<!--<TextBlock Text="编号" FontSize="16" Foreground="Tomato" HorizontalAlignment="Center" VerticalAlignment="Center"/>-->
<TextBlock Grid.Column="0" Text="配方名称" FontSize="16" Foreground="Tomato" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<GridSplitter BorderThickness="0.5" BorderBrush="CadetBlue"/>
<TextBlock Grid.Column="1" Text="编辑配方" FontSize="16" Foreground="Tomato" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<GridSplitter Grid.Column="1" BorderThickness="0.5" BorderBrush="CadetBlue"></GridSplitter>
<TextBlock Grid.Column="2" Text="删除配方" FontSize="16" Foreground="Tomato" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock
Grid.Column="0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="16"
Foreground="Tomato"
Text="配方名称" />
<GridSplitter BorderBrush="CadetBlue" BorderThickness="0.5" />
<TextBlock
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="16"
Foreground="Tomato"
Text="编辑配方" />
<GridSplitter
Grid.Column="1"
BorderBrush="CadetBlue"
BorderThickness="0.5" />
<TextBlock
Grid.Column="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="16"
Foreground="Tomato"
Text="删除配方" />
</Grid>
<ScrollViewer Grid.Row="2" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" Padding="0,5,0,0">
<ScrollViewer
Grid.Row="2"
Padding="0,5,0,0"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden">
<ItemsControl ItemsSource="{Binding recipeModels}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel></StackPanel>
<StackPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
@@ -104,26 +137,43 @@
<ControlTemplate>
<Grid x:Name="gr">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.25*"></ColumnDefinition>
<ColumnDefinition Width="0.25*"></ColumnDefinition>
<ColumnDefinition Width="0.25*"></ColumnDefinition>
<ColumnDefinition Width="0.25*" />
<ColumnDefinition Width="0.25*" />
<ColumnDefinition Width="0.25*" />
<!--<ColumnDefinition Width="0.25*"></ColumnDefinition>-->
</Grid.ColumnDefinitions>
<!--<TextBlock Text="{Binding RecipeId}" Grid.Column="0" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center"
Foreground="Aqua"
Margin="5,0,0,5"></TextBlock>-->
<TextBlock Text="{Binding RecipeName}" Grid.Column="0" Margin="5,0,0,5"
HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Aqua" FontSize="16"></TextBlock>
<Button FontSize="16" Grid.Column="1"
Margin="5,0,0,5" Content="编辑" Style="{StaticResource buttonStyle}" Command="{Binding DataContext.EditRecipeCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ItemsControl}}"
CommandParameter="{Binding RecipeId}"></Button>
<Button Margin="5,0,0,5" FontSize="16" Grid.Column="2" Content="删除" Style="{StaticResource buttonStyle}" Command="{Binding DataContext.DeleteRecipeCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ItemsControl}}" CommandParameter="{Binding RecipeId}">
</Button>
<TextBlock
Grid.Column="0"
Margin="5,0,0,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="16"
Foreground="Aqua"
Text="{Binding RecipeName}" />

<Button
Grid.Column="1"
Margin="5,0,0,5"
Command="{Binding DataContext.EditRecipeCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ItemsControl}}"
CommandParameter="{Binding RecipeId}"
Content="编辑"
FontSize="16"
Style="{StaticResource buttonStyle}" />


<Button
Grid.Column="2"
Margin="5,0,0,5"
Command="{Binding DataContext.DeleteRecipeCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ItemsControl}}"
CommandParameter="{Binding RecipeId}"
Content="删除"
FontSize="16"
Style="{StaticResource buttonStyle}" />

</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">


+ 22
- 45
SmartClient.sln Dosyayı Görüntüle

@@ -96,8 +96,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkTHQ", "B
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.DosingSystem", "DosingSystem\BPASmartClient.DosingSystem.csproj", "{4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkTJuicer", "BPASmartClient.MorkTJuicer\BPASmartClient.MorkTJuicer.csproj", "{724087A3-E7E7-4494-B844-414FF5CD1D40}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.AGV", "BPASmartClient.AGV\BPASmartClient.AGV.csproj", "{507A30E2-246E-4AC9-82F4-BE8FBBC1C5B8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.IceMaker", "BPASmartClient.IceMaker\BPASmartClient.IceMaker.csproj", "{F61AC179-156D-4075-BFEB-355862231F48}"
@@ -116,7 +114,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestDemo", "TestDemo\TestDe
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.HubHelper", "BPASmartClient.HubHelper\BPASmartClient.HubHelper.csproj", "{099E047C-F40E-47A3-A5BA-81FC1500D5E8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkTM", "BPASmartClient.MorkTM\BPASmartClient.MorkTM.csproj", "{76B6B333-0109-4EE8-A9B2-3E53A7421D92}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkTSingle", "BPASmartClient.MorkTSingle\BPASmartClient.MorkTSingle.csproj", "{2366AC9B-B662-4550-9486-AF848B4D2961}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MilkWithTea", "BPASmartClient.MilkWithTea\BPASmartClient.MilkWithTea.csproj", "{BFA4E222-BBCC-4AC7-9EA4-4549AEF3174B}"
EndProject
@@ -898,26 +896,6 @@ Global
{4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|x64.Build.0 = Release|Any CPU
{4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|x86.ActiveCfg = Release|Any CPU
{4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|x86.Build.0 = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|Any CPU.Build.0 = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|ARM.ActiveCfg = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|ARM.Build.0 = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|ARM64.Build.0 = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|x64.ActiveCfg = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|x64.Build.0 = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|x86.ActiveCfg = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Debug|x86.Build.0 = Debug|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|Any CPU.ActiveCfg = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|Any CPU.Build.0 = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|ARM.ActiveCfg = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|ARM.Build.0 = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|ARM64.ActiveCfg = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|ARM64.Build.0 = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|x64.ActiveCfg = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|x64.Build.0 = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|x86.ActiveCfg = Release|Any CPU
{724087A3-E7E7-4494-B844-414FF5CD1D40}.Release|x86.Build.0 = Release|Any CPU
{507A30E2-246E-4AC9-82F4-BE8FBBC1C5B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{507A30E2-246E-4AC9-82F4-BE8FBBC1C5B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{507A30E2-246E-4AC9-82F4-BE8FBBC1C5B8}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -1098,26 +1076,26 @@ Global
{099E047C-F40E-47A3-A5BA-81FC1500D5E8}.Release|x64.Build.0 = Release|Any CPU
{099E047C-F40E-47A3-A5BA-81FC1500D5E8}.Release|x86.ActiveCfg = Release|Any CPU
{099E047C-F40E-47A3-A5BA-81FC1500D5E8}.Release|x86.Build.0 = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|ARM.ActiveCfg = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|ARM.Build.0 = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|ARM64.Build.0 = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|x64.ActiveCfg = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|x64.Build.0 = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|x86.ActiveCfg = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Debug|x86.Build.0 = Debug|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|Any CPU.ActiveCfg = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|Any CPU.Build.0 = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|ARM.ActiveCfg = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|ARM.Build.0 = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|ARM64.ActiveCfg = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|ARM64.Build.0 = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|x64.ActiveCfg = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|x64.Build.0 = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|x86.ActiveCfg = Release|Any CPU
{76B6B333-0109-4EE8-A9B2-3E53A7421D92}.Release|x86.Build.0 = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|ARM.ActiveCfg = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|ARM.Build.0 = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|ARM64.Build.0 = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|x64.ActiveCfg = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|x64.Build.0 = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|x86.ActiveCfg = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Debug|x86.Build.0 = Debug|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|Any CPU.Build.0 = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|ARM.ActiveCfg = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|ARM.Build.0 = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|ARM64.ActiveCfg = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|ARM64.Build.0 = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|x64.ActiveCfg = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|x64.Build.0 = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|x86.ActiveCfg = Release|Any CPU
{2366AC9B-B662-4550-9486-AF848B4D2961}.Release|x86.Build.0 = Release|Any CPU
{BFA4E222-BBCC-4AC7-9EA4-4549AEF3174B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BFA4E222-BBCC-4AC7-9EA4-4549AEF3174B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BFA4E222-BBCC-4AC7-9EA4-4549AEF3174B}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -1221,7 +1199,6 @@ Global
{C28A88B1-E449-484C-AC67-B5038FF2CA79} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD}
{00C17D87-A323-4A97-BC21-7039E55614DE} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F}
{4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB} = {8712125E-14CD-4E1B-A1CE-4BDE03805942}
{724087A3-E7E7-4494-B844-414FF5CD1D40} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F}
{507A30E2-246E-4AC9-82F4-BE8FBBC1C5B8} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625}
{F61AC179-156D-4075-BFEB-355862231F48} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD}
{048FED78-4BFA-4FCD-8FF2-905E9CA4D7DD} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F}
@@ -1231,7 +1208,7 @@ Global
{E7168B03-68E5-4285-BB95-5660F877577A} = {8712125E-14CD-4E1B-A1CE-4BDE03805942}
{A49E1C5A-9489-451C-9CE6-CEA586234B84} = {8712125E-14CD-4E1B-A1CE-4BDE03805942}
{099E047C-F40E-47A3-A5BA-81FC1500D5E8} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625}
{76B6B333-0109-4EE8-A9B2-3E53A7421D92} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F}
{2366AC9B-B662-4550-9486-AF848B4D2961} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F}
{BFA4E222-BBCC-4AC7-9EA4-4549AEF3174B} = {8712125E-14CD-4E1B-A1CE-4BDE03805942}
{75B55300-ABC3-4CA1-B9B6-DF954E6C7B44} = {8712125E-14CD-4E1B-A1CE-4BDE03805942}
{C0060FB3-7AEA-4D14-ADCE-DB78D3665D5B} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD}


Yükleniyor…
İptal
Kaydet