finskayMagazin/TovarV2/AddTovar.axaml.cs
2025-06-05 11:22:50 +03:00

94 lines
2.8 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Avalonia.Controls;
using System.Linq;
using System;
using System.IO;
using System.Windows;
using Avalonia.Media.Imaging;
using Avalonia.Skia.Helpers;
using System.Drawing.Imaging;
using System.Drawing;
using System.Threading.Tasks;
using Bitmap = Avalonia.Media.Imaging.Bitmap;
using Image = System.Drawing.Image;
using Avalonia.Threading;
namespace TovarV2
{
public partial class AddTovar : Window
{
public string path;
public Bitmap bitmapToBind;
public TextBox GetNameTov => nameTov;
public TextBox GetPriceTov => priceTov;
public TextBox GetQuantityTov => quantityTov;
public TextBlock GetErrorMsg => errorMsg;
public Avalonia.Controls.Image GetImagePath => ImagePath;
public static bool IsOpen { get; private set; }
public AddTovar()
{
InitializeComponent();
this.Opened += (_, _) => IsOpen = true;
this.Closed += (_, _) => IsOpen = false;
}
public async void AddTovarImg_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
OpenFileDialog _openFileDialog = new OpenFileDialog();
var result = await _openFileDialog.ShowAsync(this);
if (result == null) return;
string path = string.Join("", result);
if (result != null)
{
bitmapToBind = new Bitmap(path);
}
ImagePath.Source = bitmapToBind;
}
public void AddTovarOk_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
errorMsg.Text = string.Empty;
bool checkListProdContainsThisName = false;
foreach (Product prod in ListPr.ListProd)
{
if (nameTov.Text == prod.nameProd)
{
checkListProdContainsThisName = true;
}
}
if (checkListProdContainsThisName)
{
errorMsg.Text = "Товар с таким именем уже имеется в каталоге";
}
else
{
ListPr.ListProd.Add(new Product()
{
Id = ListPr.b,
nameProd = nameTov.Text,
priceProd = Convert.ToInt32(priceTov.Text),
quantityProd = Convert.ToInt32(quantityTov.Text),
bitmapProd = bitmapToBind
});
ListPr.b++;
ProductEdit productEdit = new ProductEdit();
productEdit.Show();
this.Close();
}
}
}
}