Pelmen 8 ماه پیش
والد
کامیت
36dce1dd26

+ 2 - 1
UP43P_Krupina/Pages/MainUserPage.xaml

@@ -17,7 +17,8 @@
             <StackPanel DockPanel.Dock="Top">
                 <TextBlock x:Name="TBUser" HorizontalAlignment="Right" Margin="0,20,50,0" Foreground="#498c51"/>
                         <TextBlock x:Name="TBItems" HorizontalAlignment="Right" Margin="0,10,50,0" Foreground="#498c51"/>
-                <Button x:Name="BOrders" Content="Корзина" Height="25" Width="100" HorizontalAlignment="Left" Margin="30,0,0,20" Click="ShowOrders_Click"/>
+                <Button x:Name="BOrders" Content="Корзина" Height="25" Width="150" HorizontalAlignment="Left" Margin="30,0,0,5" Click="ShowOrders_Click"/>
+                <Button x:Name="BAddProduct" Content="Добавить товар" Height="25" Width="150" HorizontalAlignment="Left" Margin="30,0,0,20" Click="AddNewProduct_Click" Visibility="Collapsed"/>
                         <TextBox x:Name="TBSearch" Width="500" Height="20" TextChanged="Search_TextChanged"/>
                 <StackPanel Orientation="Horizontal" Margin="10" HorizontalAlignment="Center">
                     <TextBlock Text="Сортировка по ценовому диапозону:"/>

+ 13 - 0
UP43P_Krupina/Pages/MainUserPage.xaml.cs

@@ -44,6 +44,10 @@ namespace UP43P_Krupina.Pages
             {
                 BOrders.Visibility = Visibility.Visible;
             }
+            if (current_user.UserRole == 2)
+            {
+                BAddProduct.Visibility = Visibility.Visible;
+            }
         }
 
         private void DefaultData()
@@ -57,6 +61,7 @@ namespace UP43P_Krupina.Pages
             showed_items = products.Count;
             TBItems.Text = showed_items + "/" + all_items;
             BOrders.Visibility = Visibility.Collapsed;
+            TBSearch.Text = "";
         }
 
         private void Border_Loaded(object sender, RoutedEventArgs e)
@@ -185,6 +190,7 @@ namespace UP43P_Krupina.Pages
         {
             AddChangeProductWindow addChangeProductWindow = new AddChangeProductWindow((Product)LVProducts.SelectedItem);
             addChangeProductWindow.ShowDialog();
+            DefaultData();
         }
 
         private void DeleteProduct_Click(object sender, RoutedEventArgs e)
@@ -243,5 +249,12 @@ namespace UP43P_Krupina.Pages
             }
             catch { }
         }
+
+        private void AddNewProduct_Click(object sender, RoutedEventArgs e)
+        {
+            AddChangeProductWindow addChangeProductWindow = new AddChangeProductWindow();
+            addChangeProductWindow.ShowDialog();
+            DefaultData();
+        }
     }
 }

+ 17 - 4
UP43P_Krupina/Windows/AddChangeProductWindow.xaml.cs

@@ -28,10 +28,10 @@ namespace UP43P_Krupina.Windows
         public AddChangeProductWindow()
         {
             InitializeComponent();
+            isNew = true;
             new_product = new Product();
             DataLoaded();
             BAddChange.Content = "Добавить";
-            isNew = true;
         }
 
         public AddChangeProductWindow(Product product)
@@ -84,7 +84,7 @@ namespace UP43P_Krupina.Windows
 
         private bool CheckingData()
         {
-            if ((Base.MyBase.Product.FirstOrDefault(x=>x.ProductArticleNumber.ToString() == TBProductArticleNumber.Text) != null)&&(new_product.ProductArticleNumber.ToString()!=TBProductArticleNumber.Text))
+            if ((Base.MyBase.Product.FirstOrDefault(x=>x.ProductArticleNumber.ToString() == TBProductArticleNumber.Text) != null)&&(isNew))
             {
                 MessageBox.Show("Товар с таким артикулом уже существует!", "Невозможно внести изменения");
                 return false;
@@ -94,11 +94,20 @@ namespace UP43P_Krupina.Windows
                 MessageBox.Show("Все поля, кроме скидки и количества на складе должны быть заполнены!", "Невозможно внести изменения");
                 return false;
             }
-            if ((Convert.ToInt32(TBProductCost.Text)<=0)|| (Convert.ToInt32(TBProductInStock.Text) < 0)|| (Convert.ToDouble(TBProductDiscountAmount.Text) < 0))
+            if ((Convert.ToInt32(TBProductCost.Text)<=0))
             {
                 MessageBox.Show("Цена, размер скидки и количества на складе не могут быть отрицательны!", "Невозможно внести изменения");
                 return false;
             }
+            try
+            {
+                if ((Convert.ToInt32(TBProductInStock.Text) < 0) || (Convert.ToDouble(TBProductDiscountAmount.Text) < 0))
+                {
+                    MessageBox.Show("Цена, размер скидки и количества на складе не могут быть отрицательны!", "Невозможно внести изменения");
+                    return false;
+                }
+            }
+            catch { }
             return true;
         }
 
@@ -117,7 +126,11 @@ namespace UP43P_Krupina.Windows
                 new_product.ProductDiscountAmount = Convert.ToByte(TBProductDiscountAmount.Text);
             }
             catch { }
-            new_product.ProductQuantityInStock = Convert.ToInt32(TBProductInStock.Text);
+            try
+            {
+                new_product.ProductQuantityInStock = Convert.ToInt32(TBProductInStock.Text);
+            }
+            catch { }
         }
 
         private void AddChange_Click(object sender, RoutedEventArgs e)