Example #1
0
        private void RemoveItem(bool force = false)
        {
            int index = MyDataGridView.Items.IndexOf(MyDataGridView.SelectedItem);

            Invoices_Items[] _items = new Invoices_Items[MyDataGridView.Items.Count];
            MyDataGridView.Items.CopyTo(_items, 0);
            foreach (Invoices_Items item in _items)
            {
                if (!force && MyDataGridView.Items.IndexOf(item) == index)
                {
                    continue;
                }

                if (item.Id <= 0 && item.IsNewInvoiceItem)
                {
                    context.Invoices_Items.Remove(item);
                    MyDataGridView.UpdateLayout();
                }
            }
        }
Example #2
0
 private bool AddNewItem()
 {
     if (invoicesViewSource.View.CurrentItem is Invoices invoice)
     {
         if (invoicesInvoices_ItemsViewSource.View.CurrentItem == null || !(invoicesInvoices_ItemsViewSource.View.CurrentItem as Invoices_Items).IsNewInvoiceItem)
         {
             Invoices_Items nitem = new Invoices_Items
             {
                 IsNewInvoiceItem = true,
                 Invoice_Id       = invoice.InvoiceId,
                 Quantity         = 1,
             };
             // context.Invoices_Items.Add(nitem);
             invoice.Invoices_Items.Add(nitem);
             invoicesInvoices_ItemsViewSource.View.Refresh();
             invoicesInvoices_ItemsViewSource.View.MoveCurrentTo(nitem);
             return(true);
         }
     }
     return(false);
 }
Example #3
0
        public bool SaveItem(bool ForInvoice = false)
        {
            decimal price;
            decimal qty;

            if (!ForInvoice && invoicesViewSource.View == null || !(invoicesViewSource.View.CurrentItem is Invoices invoice))
            {
                MessageBox.Show("Please create a new Invoice first!", "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
            if (InvoicedateTimePicker.SelectedDate == null || !InvoicedateTimePicker.SelectedDate.HasValue)// || !DateTime.TryParse(InvoicedateTimePicker.Text, out DateTime invoiceDT))
            {
                MessageBox.Show("Please select a valid Invoice date and Time!", "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
            else if (ItemIdCBox.SelectedIndex == -1)
            {
                MessageBox.Show("Please select a valid Item ID!", "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
            else if (ItemCodeCBox.SelectedIndex == -1)
            {
                MessageBox.Show("Please select a valid Item Barcode!", "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
            else if (ItemNameCBox.SelectedIndex == -1)
            {
                MessageBox.Show("Please select a valid Item Name!", "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
            else if (!decimal.TryParse(QtyTBox.Text, out qty) || qty <= 0)
            {
                MessageBox.Show("Please enter a valid Quantity!", "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
            else if (!decimal.TryParse(PriceTBox.Text, out price) || price <= 0)
            {
                MessageBox.Show("Please enter a valid Price!", "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }

            if (invoicesInvoices_ItemsViewSource.View == null || !(invoicesInvoices_ItemsViewSource.View.CurrentItem is Invoices_Items item))
            {
                item = new Invoices_Items
                {
                    Invoice_Id         = invoice.InvoiceId,
                    InvItem_SalesPrice = price,
                    Quantity           = qty,
                    Item_Id            = (int)ItemIdCBox.SelectedValue,
                    IsNewInvoiceItem   = true
                };
                //context.Invoices_Items.Add(item);
                invoice.Invoices_Items.Add(item);
            }

            if (!ForInvoice)
            {
                if (!SaveInvoice(false))
                {
                    return(false);
                }
            }
            try
            {
                context.SaveChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.ToString());
                return(false);
            }
            item.IsNewInvoiceItem = false;

            if (!ForInvoice)
            {
                //invoicesViewSource.View.Refresh();
                invoicesInvoices_ItemsViewSource.View.Refresh();
                AddNewItem();
            }
            return(true);
        }