123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net;
- using System.Net.Sockets;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- namespace Cashier
- {
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window
- {
- public bool IsEnabledCashier = false;
- public MainWindow()
- {
- InitializeComponent();
- ManagerFrame.MainFrame = this.MainFrame;
- ManagerFrame.MainFrame.Navigate(new StartWorkPage());
- }
- private void MainFrame_ContentRendered(object sender, EventArgs e)
- {
- BtnEndWorkShift.Visibility = ManagerFrame.MainFrame.CanGoBack ? Visibility.Visible : Visibility.Collapsed;
- BtnStartWorkShift.Visibility = ManagerFrame.MainFrame.CanGoBack ? Visibility.Visible : Visibility.Collapsed;
- BtnBlockCashier.Visibility = ManagerFrame.MainFrame.CanGoBack ? Visibility.Visible : Visibility.Collapsed;
- }
- private void BtnBack_Click(object sender, RoutedEventArgs e)
- {
- ManagerFrame.MainFrame.GoBack();
- }
- private void BtnEndWorkShift_Click(object sender, RoutedEventArgs e)
- {
- EndWorkShift(Helper.IDStore.ToString(), $"End work shift ={Helper.IDCashier}");
- ManagerFrame.MainFrame.GoBack();
- }
- public async void EndWorkShift(string IDStore, string Message)
- {
- try
- {
- if (IDStore.Length == 1) IDStore = IDStore.Insert(0, "0");
- IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), Convert.ToInt32("102" + IDStore));
- Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- socket.Connect(iPEndPoint);
- byte[] data = Encoding.UTF8.GetBytes(Message);
- socket.Send(data);
- Helper.WorkShiftID = null;
- BtnEndWorkShift.IsEnabled = false;
- BtnStartWorkShift.IsEnabled = true;
- socket.Shutdown(SocketShutdown.Both);
- socket.Close();
- }
- catch (Exception)
- {
- Helper.ErrorMessage("Нет ответа от сервера");
- }
- }
- public async void StartWorkShift(string IDStore, string Message)
- {
- try
- {
- if (IDStore.Length == 1) IDStore = IDStore.Insert(0, "0");
- IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), Convert.ToInt32("102" + IDStore));
- Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- socket.Connect(iPEndPoint);
- byte[] data = Encoding.UTF8.GetBytes(Message);
- socket.Send(data);
- data = new byte[256];
- int byts = 0;
- StringBuilder builder = new StringBuilder();
- do
- {
- byts = socket.Receive(data, data.Length, 0);
- builder.Append(Encoding.UTF8.GetString(data, 0, byts));
- } while (socket.Available > 0);
- string response = builder.ToString();
- Helper.WorkShiftID = Convert.ToInt32(response);
- BtnEndWorkShift.IsEnabled = true;
- BtnStartWorkShift.IsEnabled = false;
- socket.Shutdown(SocketShutdown.Both);
- socket.Close();
- }
- catch (Exception)
- {
- Helper.ErrorMessage("Нет ответа от сервера");
- }
- }
- private void BtnStartWorkShift_Click(object sender, RoutedEventArgs e)
- {
- StartWorkShift(Helper.IDStore.ToString(), $"Start work shift ={Helper.IDCashier}");
- }
- private void BtnBlockCashier_Click(object sender, RoutedEventArgs e)
- {
- if (IsEnabledCashier == false)
- {
- BtnBlockCashier.Content = "Разблокировать кассу";
- MainFrame.IsEnabled = false;
- BtnStartWorkShift.IsEnabled = false;
- BtnEndWorkShift.IsEnabled = false;
- IsEnabledCashier = true;
- return;
- }
- EnabledCashierWindow enabledCashierWindow = new EnabledCashierWindow();
- if (enabledCashierWindow.ShowDialog()== true)
- {
- if (Helper.WorkShiftID == null)
- {
- BtnStartWorkShift.IsEnabled = true;
- }
- BtnBlockCashier.Content = "Заблокировать кассу";
- MainFrame.IsEnabled = true;
- BtnEndWorkShift.IsEnabled = true;
- IsEnabledCashier = false;
- }
-
- }
- }
- }
|