using Microsoft.Win32;
using Namordnik.Class;
using System;
using System.Collections.Generic;
using System.Linq;
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 Namordnik.Pages
{
///
/// Логика взаимодействия для CreateOrUpdatePage.xaml
///
public partial class CreateOrUpdatePage : Page
{
List PT = BaseClass.Base.ProductType.ToList();
List M = BaseClass.Base.Material.ToList();
List PrSale = BaseClass.Base.ProductSale.ToList();
Product PROD = new Product();
string path;
bool flag;
bool artnum;
bool del;
public CreateOrUpdatePage()
{
InitializeComponent();
flag = true;
CBTypePr.Items.Add("Выберите тип");
for (int i = 0; i < PT.Count; i++)
{
CBTypePr.Items.Add(PT[i].Title);
}
CBTypePr.SelectedIndex = 0;
for (int i = 0; i < M.Count; i++)
{
CBMaterial.Items.Add(M[i].Title);
}
}
public CreateOrUpdatePage(Product PrUpdate)
{
InitializeComponent();
if (flag == false)
{
BtnDel.Visibility = Visibility.Visible;
}
CBTypePr.Items.Add("Выберите тип");
for (int i = 0; i < PT.Count; i++)
{
CBTypePr.Items.Add(PT[i].Title);
}
PROD = PrUpdate;
CBTypePr.SelectedIndex = (int)PrUpdate.ProductTypeID;
TBNamePr.Text = PrUpdate.Title;
TBArct.Text = PrUpdate.ArticleNumber;
TBKolvo.Text = Convert.ToString(PrUpdate.ProductionPersonCount);
TBNumder.Text = Convert.ToString(PrUpdate.ProductionWorkshopNumber);
TBMinCost.Text = Convert.ToString(PrUpdate.MinCostForAgent);
path = PrUpdate.Image;
if (path!=null)
{
BitmapImage BI = new BitmapImage(new Uri(path, UriKind.RelativeOrAbsolute));
ImagePr.Source = BI;
}
}
private void BtnSetPhoto_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog OFD = new OpenFileDialog();
OFD.ShowDialog();
path = OFD.FileName;
int n = path.IndexOf("products");
path ="\\" + path.Substring(n);
if (path != null)
{
BitmapImage BI = new BitmapImage(new Uri(path, UriKind.RelativeOrAbsolute));
ImagePr.Source = BI;
}
}
private void BtnAddRed_Click(object sender, RoutedEventArgs e)
{
try
{
int IdType = 0;
if (CBTypePr.SelectedIndex != 0)
{
IdType = CBTypePr.SelectedIndex;
}
PROD.ProductTypeID = IdType;
PROD.Title = TBNamePr.Text;
PROD.ArticleNumber = TBArct.Text;
PROD.ProductionPersonCount = Convert.ToInt32(TBKolvo.Text);
PROD.ProductionWorkshopNumber = Convert.ToInt32(TBNumder.Text);
PROD.MinCostForAgent = Convert.ToInt32(TBMinCost.Text);
PROD.Image = path;
if (artnum == true)
{
MessageBox.Show("Данные не записаны:\nАртикул не может повторяться");
}
else if (Convert.ToInt32(TBMinCost.Text) < 0)
{
MessageBox.Show("Данные не записаны:\nЦена не может быть отрицательной");
}
else
{
if (flag == true)
{
BaseClass.Base.Product.Add(PROD);
}
BaseClass.Base.SaveChanges();
MessageBox.Show("Данные записаны");
FrameClass.FrameMain.Navigate(new MainPage());
}
}
catch
{
MessageBox.Show("Данные не записаны");
}
}
private void BtnDel_Click(object sender, RoutedEventArgs e)
{
foreach(ProductSale item in PrSale)
{
if(PROD.ID == item.ProductID)
{
del = true;
}
}
if(del == true)
{
MessageBox.Show("Данные не записаны:\nТовар продан агентом");
}
else
{
int ind = PROD.ID;
Product PrDel = BaseClass.Base.Product.FirstOrDefault(y => y.ID == ind);
BaseClass.Base.Product.Remove(PrDel);
BaseClass.Base.SaveChanges();
MessageBox.Show("Запись удалена");
FrameClass.FrameMain.Navigate(new MainPage());
}
}
}
}