Esempio n. 1
0
        public void Calculate_SalesInvoice(ref sales_invoice SalesInvoice)
        {
            Invoice Invoice = new Invoice();

            Invoice.Contact    = SalesInvoice.contact;
            Invoice.Date       = SalesInvoice.trans_date;
            Invoice.GrandTotal = SalesInvoice.GrandTotal;

            foreach (sales_invoice_detail _Detail in SalesInvoice.sales_invoice_detail)
            {
                Detail Detail = new Detail();
                Detail.Item        = _Detail.item;
                Detail.Quantity    = _Detail.quantity;
                Detail.Price       = _Detail.unit_price;
                Detail.PriceVAT    = _Detail.UnitPrice_Vat;
                Detail.SubTotal    = _Detail.SubTotal;
                Detail.SubTotalVAT = _Detail.SubTotal_Vat;

                Invoice.Details.Add(Detail);
            }

            foreach (var Promo in SalesPromotionLIST)
            {
                BuyThis_GetThat(Promo, Invoice, SalesInvoice);
                BuyTag_GetThat(Promo, Invoice, SalesInvoice);
            }
        }
Esempio n. 2
0
        private void btnWithholding_Click(object sender, RoutedEventArgs e)
        {
            List <payment_schedual> PaymentSchedualList = payment_schedualViewSource.View.OfType <payment_schedual>().Where(x => x.IsSelected == true).ToList();

            if (PaymentSchedualList.Count > 0)
            {
                sales_invoice sales_invoice = PaymentSchedualList.FirstOrDefault().sales_invoice;

                if (sales_invoice.payment_withholding_details.Count() == 0)
                {
                    cntrl.VATWithholding VATWithholding = new cntrl.VATWithholding();

                    VATWithholding.invoiceList = new List <object>();
                    VATWithholding.invoiceList.Add(sales_invoice);
                    VATWithholding.PaymentDB        = PaymentDB;
                    VATWithholding.payment_schedual = PaymentSchedualList.FirstOrDefault();
                    VATWithholding.percentage       = sales_invoice.vatwithholdingpercentage;
                    crud_modal.Visibility           = System.Windows.Visibility.Visible;
                    crud_modal.Children.Add(VATWithholding);
                }
                else
                {
                    toolbar.msgWarning("Linked With Vat Holding...");
                }
            }
        }
Esempio n. 3
0
        private void sales_invoice_detailDataGrid_InitializingNewItem(object sender, InitializingNewItemEventArgs e)
        {
            sales_invoice_detail sales_invoice_detail = (sales_invoice_detail)e.NewItem;
            sales_invoice        sales_invoice        = (sales_invoice)sales_invoiceDataGrid.SelectedItem;

            sales_invoice_detail.sales_invoice = sales_invoice;
        }
Esempio n. 4
0
        private void calculate_vat(object sender, EventArgs e)
        {
            sales_invoice sales_invoice = (sales_invoice)sales_invoiceDataGrid.SelectedItem;

            if (sales_invoice != null)
            {
                sales_invoice.RaisePropertyChanged("GrandTotal");
                List <sales_invoice_detail> sales_invoice_detail = sales_invoice.sales_invoice_detail.ToList();
                if (sales_invoice_detail.Count > 0)
                {
                    var listvat = sales_invoice_detail
                                  .Join(SalesInvoiceDB.app_vat_group_details, ad => ad.id_vat_group, cfx => cfx.id_vat_group
                                        , (ad, cfx) => new { name = cfx.app_vat.name, value = ad.unit_price * cfx.app_vat.coefficient, id_vat = cfx.app_vat.id_vat, ad })
                                  .GroupBy(a => new { a.name, a.id_vat, a.ad })
                                  .Select(g => new
                    {
                        id_vat = g.Key.id_vat,
                        name   = g.Key.name,
                        value  = g.Sum(a => a.value * a.ad.quantity)
                    }).ToList();

                    dgvVAT.ItemsSource = listvat.GroupBy(x => x.id_vat).Select(g => new
                    {
                        id_vat = g.Max(y => y.id_vat),
                        name   = g.Max(y => y.name),
                        value  = g.Sum(a => a.value)
                    }).ToList();
                }
            }
        }
Esempio n. 5
0
        private void toolBar_btnCancel_Click(object sender)
        {
            SalesInvoiceDB.CancelAllChanges();
            sales_invoice sales_invoice = (sales_invoice)sales_invoiceDataGrid.SelectedItem;

            sales_invoice.State = EntityState.Unchanged;
        }
Esempio n. 6
0
        private void New_Sale_Payment()
        {
            ///Creating new SALES INVOICE for upcomming sale.
            ///TransDate = 0 because in Point of Sale we are assuming sale will always be done today.
            sales_invoice sales_invoice = SalesInvoiceDB.New(0, false);

            SalesInvoiceDB.sales_invoice.Add(sales_invoice);

            Dispatcher.BeginInvoke((Action)(() => {
                sales_invoiceViewSource = ((CollectionViewSource)(FindResource("sales_invoiceViewSource")));
                sales_invoiceViewSource.Source = SalesInvoiceDB.sales_invoice.Local;
                sales_invoiceViewSource.View.MoveCurrentTo(sales_invoice);
            }));

            PaymentDB = new PaymentDB();
            ///Creating new PAYMENT for upcomming sale.
            payment payment = PaymentDB.New(true);

            payment.id_currencyfx = sales_invoice.id_currencyfx;
            PaymentDB.payments.Add(payment);

            Dispatcher.BeginInvoke((Action)(() =>
            {
                paymentViewSource = ((CollectionViewSource)(FindResource("paymentViewSource")));
                paymentViewSource.Source = PaymentDB.payments.Local;
                paymentViewSource.View.MoveCurrentTo(payment);

                tabContact.Focus();
                sbxContact.Text = "";
            }));
        }
Esempio n. 7
0
        public accounting_journal Start(AccountingJournalDB AccountingJournalDB, sales_invoice sales_invoice)
        {
            if (sales_invoice != null &&
                sales_invoice.accounting_journal == null &&
                sales_invoice.status == entity.Status.Documents_General.Approved)
            {
                accounting_cycle accounting_cycledb = AccountingJournalDB.accounting_cycle
                                                      .Where(i =>
                                                             i.start_date <= sales_invoice.trans_date ||
                                                             i.end_date >= sales_invoice.trans_date &&
                                                             i.id_company == Properties.Settings.Default.company_ID)
                                                      .FirstOrDefault();

                if (accounting_cycledb == null)
                {
                    AccountingCycle AccCycle = new AccountingCycle();
                    int             id_cycle = AccCycle.Generate_Cycle(sales_invoice.trans_date).id_cycle;
                    accounting_cycledb = AccountingJournalDB.accounting_cycle.Where(x => x.id_cycle == id_cycle).FirstOrDefault();
                }

                //Check which Contract Detail has 0 Days == Cash
                return(calc(AccountingJournalDB, sales_invoice, accounting_cycledb));
            }
            return(null);
        }
Esempio n. 8
0
 private void lblCheckCredit(object sender, RoutedEventArgs e)
 {
     if (sales_invoiceViewSource != null)
     {
         sales_invoice     sales_invoice = sales_invoiceViewSource.View.CurrentItem as sales_invoice;
         Class.CreditLimit Limit         = new Class.CreditLimit();
         Limit.Check_CreditAvailability(sales_invoice);
     }
 }
Esempio n. 9
0
        private void BuyThis_GetThat(sales_promotion Promo, Invoice Invoice, sales_invoice SalesInvoice)
        {
            if (Promo.types == sales_promotion.Type.BuyThis_GetThat)
            {
                if (Invoice.Details.Where(x => x.Item.id_item == Promo.reference && x.Quantity >= Promo.quantity_step).Count() > 0)
                {
                    foreach (Detail _Detail in Invoice.Details.Where(x => x.Item.id_item == Promo.reference))
                    {
                        if (Promo.quantity_step > 0)
                        {
                            Promo _Promo = new Promo();
                            _Promo.Type   = sales_promotion.Type.BuyThis_GetThat;
                            _Promo.Shared = true;

                            _Detail.Promos.Add(_Promo);


                            List <sales_invoice_detail> sid = SalesInvoice.sales_invoice_detail.Where(x => x.id_item == Promo.reference_bonus && x.IsPromo).ToList();
                            //Prevent double clicking button and adding extra bonus to sale. find better way to implement. Short term code.
                            foreach (sales_invoice_detail _Detail_ in sid)
                            {
                                SalesInvoice.sales_invoice_detail.Remove(_Detail_);
                            }

                            sales_invoice_detail sales_invoice_detail = new sales_invoice_detail();

                            //Needed to calculate the discounts and unit prices further on.
                            sales_invoice_detail.State = System.Data.Entity.EntityState.Added;

                            using (db db = new db())
                            {
                                item item = db.items.Where(x => x.id_item == Promo.reference_bonus).FirstOrDefault();
                                if (item != null)
                                {
                                    sales_invoice_detail.id_vat_group     = item.id_vat_group;
                                    sales_invoice_detail.id_item          = item.id_item;
                                    sales_invoice_detail.item_description = item.name;
                                    //sales_invoice_detail.item = item;
                                }

                                item_price item_price = item.item_price.Where(x => x.item_price_list.is_default == true).FirstOrDefault();
                                if (item_price != null)
                                {
                                    sales_invoice_detail.unit_price = item_price.value;
                                    sales_invoice_detail.discount   = item_price.value;
                                }
                            }

                            sales_invoice_detail.IsPromo  = true;
                            sales_invoice_detail.quantity = Math.Floor(_Detail.Quantity / Promo.quantity_step);
                            SalesInvoice.sales_invoice_detail.Add(sales_invoice_detail);
                        }
                    }
                }
            }
        }
Esempio n. 10
0
        private void salesinvoice_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            Hyperlink     Hyperlink     = (Hyperlink)sender;
            sales_invoice sales_invoice = (sales_invoice)Hyperlink.Tag;

            if (sales_invoice != null)
            {
                entity.Brillo.Document.Start.Automatic(sales_invoice, sales_invoice.app_document_range);
            }
        }
Esempio n. 11
0
        private void btnTotalClean_Click(object sender)
        {
            sales_invoice sales_invoice = sales_invoiceViewSource.View.CurrentItem as sales_invoice;

            if (sales_invoice != null)
            {
                decimal TrailingDecimals = sales_invoice.GrandTotal - Math.Floor(sales_invoice.GrandTotal);
                sales_invoice.DiscountWithoutPercentage += TrailingDecimals;
            }
        }
Esempio n. 12
0
        private void btnNew_Click(object sender)
        {
            Settings      SalesSettings = new Settings();
            sales_invoice sales_invoice = SalesInvoiceDB.New(SalesSettings.TransDate_Offset, false);

            cbxCurrency.get_DefaultCurrencyActiveRate();

            SalesInvoiceDB.sales_invoice.Add(sales_invoice);

            sales_invoiceViewSource.View.MoveCurrentToLast();
        }
Esempio n. 13
0
 private void sales_invocieDatagrid_LoadingRowDetails(object sender, DataGridRowDetailsEventArgs e)
 {
     if (_entity.sales_invoice_detail.Count() > 0)
     {
         sales_invoice _sales_invoice                 = ((System.Windows.Controls.DataGrid)sender).SelectedItem as sales_invoice;
         int           id_purchase_invoice            = _sales_invoice.id_sales_invoice;
         System.Windows.Controls.DataGrid RowDataGrid = e.DetailsElement as System.Windows.Controls.DataGrid;
         var salesInvoice = _sales_invoice.sales_invoice_detail;
         RowDataGrid.ItemsSource = salesInvoice;
     }
 }
Esempio n. 14
0
 private void sbxContact_Select(object sender, RoutedEventArgs e)
 {
     if (sbxContact.ContactID > 0)
     {
         contact       contact       = SalesInvoiceDB.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault();
         sales_invoice sales_invoice = (sales_invoice)sales_invoiceViewSource.View.CurrentItem as sales_invoice;
         payment       payment       = (payment)paymentViewSource.View.CurrentItem as payment;
         sales_invoice.id_contact = contact.id_contact;
         sales_invoice.contact    = contact;
         payment.id_contact       = contact.id_contact;
     }
 }
Esempio n. 15
0
        private void btnAccountsRecievable_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            sales_invoice           sales_invoice        = sales_invoiceViewSource.View.CurrentItem as sales_invoice;
            List <payment_schedual> payment_schedualList = SalesInvoiceDB.payment_schedual
                                                           .Where(x => x.id_payment_detail == null && x.id_company == CurrentSession.Id_Company && x.id_contact == sales_invoice.id_contact &&
                                                                  (x.id_sales_invoice > 0 || x.id_sales_order > 0) && x.id_note == null &&
                                                                  (x.debit - (x.child.Count() > 0 ? x.child.Sum(y => y.credit) : 0)) > 0)
                                                           .OrderBy(x => x.expire_date).ToList();

            payment_schedualDataGrid.ItemsSource = payment_schedualList.GroupBy(x => x.id_currencyfx).Select(x => new { CustName = x.Max(s => s.contact.name), AccountReceivableBalance = x.Sum(y => y.AccountReceivableBalance), Currency = x.Max(z => z.app_currencyfx.app_currency.name) });
            crud_modalDuePaymnet.Visibility      = System.Windows.Visibility.Visible;
        }
Esempio n. 16
0
        private void toolBar_btnPrint_Click(object sender, MouseButtonEventArgs e)
        {
            sales_invoice sales_invoice = sales_invoiceDataGrid.SelectedItem as sales_invoice;

            if (sales_invoice != null)
            {
                entity.Brillo.Document.Start.Manual(sales_invoice, sales_invoice.app_document_range);
            }
            else
            {
                toolBar.msgWarning("Please select");
            }
        }
Esempio n. 17
0
        public void SalesOrder_Click(object sender)
        {
            sales_invoice _sales_invoice = (sales_invoice)sales_invoiceViewSource.View.CurrentItem;

            sbxContact.Text = pnlSalesOrder.selected_sales_order.FirstOrDefault().contact.name;
            foreach (sales_order sales_order in pnlSalesOrder.selected_sales_order)
            {
                _sales_invoice.State   = EntityState.Modified;
                _sales_invoice.contact = sales_order.contact;

                cbxContactRelation.ItemsSource = SalesInvoiceDB.contacts.Where(x => x.parent.id_contact == sales_order.contact.id_contact).ToList();

                _sales_invoice.id_contact     = sales_order.contact.id_contact;
                _sales_invoice.id_condition   = sales_order.id_condition;
                _sales_invoice.id_contract    = sales_order.id_contract;
                _sales_invoice.id_currencyfx  = sales_order.id_currencyfx;
                _sales_invoice.app_currencyfx = sales_order.app_currencyfx;
                _sales_invoice.id_sales_order = sales_order.id_sales_order;

                foreach (sales_order_detail _sales_order_detail in sales_order.sales_order_detail)
                {
                    sales_invoice_detail sales_invoice_detail = new sales_invoice_detail();

                    //There is an issue that the detail does not know of the currency previously selected. Maybe this can help.
                    sales_invoice_detail.CurrencyFX_ID = sales_order.app_currencyfx.id_currencyfx;

                    sales_invoice_detail.id_sales_order_detail = _sales_order_detail.id_sales_order_detail;
                    sales_invoice_detail.sales_order_detail    = _sales_order_detail;
                    sales_invoice_detail.Contact       = _sales_invoice.contact;
                    sales_invoice_detail.sales_invoice = _sales_invoice;
                    sales_invoice_detail.item          = _sales_order_detail.item;
                    sales_invoice_detail.id_item       = _sales_order_detail.id_item;
                    sales_invoice_detail.quantity      = _sales_order_detail.quantity - SalesInvoiceDB.sales_invoice_detail
                                                         .Where(x => x.id_sales_order_detail == _sales_order_detail.id_sales_order_detail)
                                                         .GroupBy(x => x.id_sales_order_detail)
                                                         .Select(x => x.Sum(y => y.quantity))
                                                         .FirstOrDefault();

                    sales_invoice_detail.unit_price = _sales_order_detail.unit_price;
                    _sales_invoice.sales_invoice_detail.Add(sales_invoice_detail);
                }

                SalesInvoiceDB.Entry(_sales_invoice).Entity.State = EntityState.Added;
                crud_modal.Children.Clear();
                crud_modal.Visibility = Visibility.Collapsed;
                sales_invoiceViewSource.View.Refresh();
                sales_invoicesales_invoice_detailViewSource.View.Refresh();
            }
            _sales_invoice.RaisePropertyChanged("GrandTotal");
        }
Esempio n. 18
0
 private void toolBar_btnEdit_Click(object sender)
 {
     if (sales_invoiceDataGrid.SelectedItem != null)
     {
         sales_invoice sales_invoice_old = (sales_invoice)sales_invoiceDataGrid.SelectedItem;
         sales_invoice_old.IsSelected = true;
         sales_invoice_old.State      = EntityState.Modified;
         SalesInvoiceDB.Entry(sales_invoice_old).State = EntityState.Modified;
     }
     else
     {
         toolBar.msgWarning("Please Select an Item");
     }
 }
Esempio n. 19
0
        private void GetExpenses_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            if (impexDataGrid.SelectedItem != null)
            {
                if (id_incotermComboBox.SelectedItem != null && pnlSalesInvoice.selected_sales_invoice.FirstOrDefault() != null)
                {
                    impex          impex          = impexDataGrid.SelectedItem as impex;
                    sales_invoice  sales_invoice  = pnlSalesInvoice.selected_sales_invoice.FirstOrDefault() as sales_invoice;
                    impex_incoterm impex_incoterm = id_incotermComboBox.SelectedItem as impex_incoterm;
                    List <impex_incoterm_detail> impex_incoterm_detail = null;

                    if (impex.impex_type == entity.impex._impex_type.Import)
                    {
                        //Only fetch buyer expence
                        impex_incoterm_detail = ImpexDB.impex_incoterm_detail.Where(i => i.id_incoterm == impex_incoterm.id_incoterm && i.buyer == true).ToList();
                    }

                    if (impex.impex_type == entity.impex._impex_type.Export)
                    {
                        //Only fetch seller expence
                        impex_incoterm_detail = ImpexDB.impex_incoterm_detail.Where(i => i.id_incoterm == impex_incoterm.id_incoterm && i.seller == true).ToList();
                    }


                    foreach (entity.Class.Impex_Products product in Impex_ProductsLIST)
                    {
                        foreach (var item in impex_incoterm_detail)
                        {
                            impex_expense impex_expense = new impex_expense();
                            if (ImpexDB.impex_incoterm_condition.Where(x => x.id_incoterm_condition == item.id_incoterm_condition).FirstOrDefault() != null)
                            {
                                impex_expense.impex_incoterm_condition = ImpexDB.impex_incoterm_condition.Where(x => x.id_incoterm_condition == item.id_incoterm_condition).FirstOrDefault();
                            }
                            impex_expense.id_incoterm_condition = item.id_incoterm_condition;
                            impex_expense.id_currencyfx         = sales_invoice.id_currencyfx;
                            impex_expense.id_purchase_invoice   = null;
                            impex_expense.id_item = (int)product.id_item;
                            impex.impex_expense.Add(impex_expense);
                        }
                    }

                    impeximpex_expenseViewSource.View.Refresh();
                    productDataGrid.SelectedIndex = 0;
                }
                else
                {
                    MessageBox.Show("Please select Incoterm, Type and Invoice to get expenses.", "Get Expences", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
        }
Esempio n. 20
0
        private void dgvPaymentDetail_InitializingNewItem(object sender, InitializingNewItemEventArgs e)
        {
            sales_invoice  sales_invoice  = sales_invoiceViewSource.View.CurrentItem as sales_invoice;
            payment        payment        = paymentViewSource.View.CurrentItem as payment;
            payment_detail payment_detail = e.NewItem as payment_detail;

            payment_detail.State         = EntityState.Added;
            payment_detail.IsSelected    = true;
            payment_detail.id_currencyfx = sales_invoice.id_currencyfx;
            payment_detail.id_currency   = sales_invoice.app_currencyfx.id_currency;

            payment_detail.id_payment = payment.id_payment;
            payment_detail.payment    = payment;
        }
Esempio n. 21
0
 private void lblGrandTotalsales_DataContextChanged(object sender, EventArgs e)
 {
     if (sales_invoiceViewSource != null && paymentViewSource != null)
     {
         if (sales_invoiceViewSource.View != null && paymentViewSource.View != null)
         {
             if (sales_invoiceViewSource.View.CurrentItem != null && paymentViewSource.View.CurrentItem != null)
             {
                 sales_invoice sales_invoice = sales_invoiceViewSource.View.CurrentItem as sales_invoice;
                 payment       payment       = paymentViewSource.View.CurrentItem as payment;
                 payment.GrandTotal = sales_invoice.GrandTotal;
             }
         }
     }
 }
Esempio n. 22
0
        private void sales_invoiceDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            sales_invoice        sales_invoice = sales_invoiceDataGrid.SelectedItem as sales_invoice;
            CollectionViewSource sales_invoicesales_invoice_detailsales_packinglist_relationViewSource = FindResource("sales_invoicesales_invoice_detailsales_packinglist_relationViewSource") as CollectionViewSource;

            if (sales_invoicesales_invoice_detailsales_packinglist_relationViewSource != null)
            {
                sales_invoicesales_invoice_detailsales_packinglist_relationViewSource.Source = SalesInvoiceDB.sales_packing_relation.Where(x => x.sales_invoice_detail.id_sales_invoice == sales_invoice.id_sales_invoice).ToList();
            }
            else
            {
                sales_invoicesales_invoice_detailsales_packinglist_relationViewSource.Source = null;
            }
            calculate_vat(sender, e);
        }
Esempio n. 23
0
        //Fill Methods
        public void Fill_BySales(sales_invoice sales_invoice)
        {
            this.Type        = entity.DebeHaber.TransactionTypes.Sales;
            this.TransDate   = sales_invoice.trans_date;
            this.CompanyName = sales_invoice.contact.name;

            this.PaymentCondition = sales_invoice.app_contract != null ? (sales_invoice.app_contract.app_contract_detail != null ? sales_invoice.app_contract.app_contract_detail.Max(x => x.interval) : 0) : 0;

            this.Gov_Code     = sales_invoice.contact.gov_code;
            this.Comment      = sales_invoice.comment;
            this.CurrencyName = sales_invoice.app_currencyfx != null ? sales_invoice.app_currencyfx.app_currency != null ? sales_invoice.app_currencyfx.app_currency.name : "" : "";

            this.DocNumber = sales_invoice.number;
            this.DocCode   = sales_invoice.app_document_range != null ? sales_invoice.app_document_range.code : "";
            this.DocExpiry = (sales_invoice.app_document_range != null ? (DateTime)sales_invoice.app_document_range.expire_date : DateTime.Now);
        }
Esempio n. 24
0
        private void cbxCurrency_LostFocus(object sender, RoutedEventArgs e)
        {
            sales_invoice sales_invoice = sales_invoiceViewSource.View.CurrentItem as sales_invoice;

            if (sales_invoice != null)
            {
                if (sales_invoice.id_currencyfx > 0)
                {
                    if (SalesInvoiceDB.app_currencyfx.Where(x => x.id_currencyfx == sales_invoice.id_currencyfx).FirstOrDefault() != null)
                    {
                        sales_invoice.app_currencyfx = SalesInvoiceDB.app_currencyfx.Where(x => x.id_currencyfx == sales_invoice.id_currencyfx).FirstOrDefault();
                    }
                }
            }
            calculate_vat(sender, e);
        }
Esempio n. 25
0
        public void Link_Click(object sender)
        {
            sales_invoice _sales_invoice = (sales_invoice)sales_invoiceViewSource.View.CurrentItem;

            foreach (sales_packing item in pnlPacking.selected_sales_packing)
            {
                sales_packing sales_packing = SalesInvoiceDB.sales_packing.Where(x => x.id_sales_packing == item.id_sales_packing).FirstOrDefault();

                foreach (sales_packing_detail _sales_packing_detail in sales_packing.sales_packing_detail)
                {
                    if (_sales_invoice.sales_invoice_detail.Where(x => x.id_item == _sales_packing_detail.id_item).Count() == 0)
                    {
                        sales_invoice_detail sales_invoice_detail = new sales_invoice_detail();
                        sales_invoice_detail.sales_invoice = _sales_invoice;
                        sales_invoice_detail.Contact       = SalesInvoiceDB.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault();// sbxContact.Contact;
                        sales_invoice_detail.item          = _sales_packing_detail.item;
                        sales_invoice_detail.id_item       = _sales_packing_detail.id_item;
                        sales_invoice_detail.quantity      = _sales_packing_detail.quantity;
                        // sales_invoice_detail.unit_price = 0;

                        sales_packing_relation sales_packing_relation = new sales_packing_relation();
                        sales_packing_relation.id_sales_packing_detail = _sales_packing_detail.id_sales_packing_detail;
                        sales_packing_relation.sales_packing_detail    = _sales_packing_detail;

                        sales_invoice_detail.sales_packing_relation.Add(sales_packing_relation);
                        _sales_invoice.sales_invoice_detail.Add(sales_invoice_detail);
                    }
                }

                CollectionViewSource sales_invoicesales_invoice_detailViewSource = FindResource("sales_invoicesales_invoice_detailViewSource") as CollectionViewSource;
                sales_invoicesales_invoice_detailViewSource.View.Refresh();
                sales_invoicesales_invoice_detailViewSource.View.MoveCurrentToFirst();
            }
            CollectionViewSource sales_invoicesales_invoice_detailsales_packinglist_relationViewSource = FindResource("sales_invoicesales_invoice_detailsales_packinglist_relationViewSource") as CollectionViewSource;

            if (sales_invoicesales_invoice_detailsales_packinglist_relationViewSource != null)
            {
                sales_invoicesales_invoice_detailsales_packinglist_relationViewSource.Source = SalesInvoiceDB.sales_packing_relation.Local.Where(x => x.sales_invoice_detail.id_sales_invoice == _sales_invoice.id_sales_invoice).ToList();
            }
            else
            {
                sales_invoicesales_invoice_detailsales_packinglist_relationViewSource.Source = null;
            }
            crud_modal.Children.Clear();
            crud_modal.Visibility = Visibility.Collapsed;
            _sales_invoice.RaisePropertyChanged("GrandTotal");
        }
Esempio n. 26
0
        private void toolBar_btnSearch_Click(object sender, string query)
        {
            if (!string.IsNullOrEmpty(query) && sales_invoiceViewSource != null)
            {
                try
                {
                    sales_invoiceViewSource.View.Filter = i =>
                    {
                        sales_invoice sales_invoice = i as sales_invoice;

                        if (sales_invoice != null)
                        {
                            //Protect the code against null values.
                            string number   = sales_invoice.number != null ? sales_invoice.number : "";
                            string customer = sales_invoice.contact != null ? sales_invoice.contact.name : "";
                            string gov_code = sales_invoice.contact != null ? sales_invoice.contact.gov_code : "";

                            if (
                                customer.ToLower().Contains(query.ToLower())
                                ||
                                number.Contains(query)
                                ||
                                gov_code.ToLower().Contains(query.ToLower()))
                            {
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    };
                }
                catch //(Exception ex)
                {
                    //throw ex;
                }
            }
            else
            {
                sales_invoiceViewSource.View.Filter = null;
            }
        }
Esempio n. 27
0
        private void btnPromotion_Click(object sender, EventArgs e)
        {
            sales_invoice sales_invoice = sales_invoiceViewSource.View.CurrentItem as sales_invoice;

            List <sales_invoice_detail> promoList = sales_invoice.sales_invoice_detail.Where(x => x.IsPromo).ToList();

            if (promoList.Count() > 0)
            {
                SalesInvoiceDB.sales_invoice_detail.RemoveRange(promoList);
            }

            StartPromo.Calculate_SalesInvoice(ref sales_invoice);

            CollectionViewSource sales_invoicesales_invoice_detailViewSource = (CollectionViewSource)this.FindResource("sales_invoicesales_invoice_detailViewSource");

            sales_invoicesales_invoice_detailViewSource.View.Refresh();
        }
Esempio n. 28
0
 private void btnDelete_Click(object sender)
 {
     try
     {
         if (MessageBox.Show("Are you sure want to Delete?", "Cognitivo", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
         {
             sales_invoice sales_invoice = (sales_invoice)sales_invoiceDataGrid.SelectedItem;
             sales_invoice.is_head    = false;
             sales_invoice.State      = EntityState.Deleted;
             sales_invoice.IsSelected = true;
         }
     }
     catch (Exception ex)
     {
         toolBar.msgError(ex);
     }
 }
Esempio n. 29
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            sales_invoice sales_invoice = (sales_invoice)sales_invoiceViewSource.View.CurrentItem as sales_invoice;
            payment       payment       = paymentViewSource.View.CurrentItem as payment;

            /// VALIDATIONS...
            ///
            /// Validates if Contact is not assigned, then it will take user to the Contact Tab.
            if (sales_invoice.contact == null)
            {
                tabContact.Focus();
                return;
            }

            /// Validates if Sales Detail has 0 rows, then take you to Sales Tab.
            if (sales_invoice.sales_invoice_detail.Count == 0)
            {
                tabSales.Focus();
                return;
            }

            /// Validate Payment <= Sales.GrandTotal
            //if (payment.GrandTotal >= payment.GrandTotal_Detail)
            //{
            if (payment.GrandTotalDetail < sales_invoice.GrandTotal)
            {
                tabPayment.Focus();
                return;
            }

            /// If all validation is met, then we can start Sales Process.
            if (sales_invoice.contact != null && sales_invoice.sales_invoice_detail.Count > 0)
            {
                ///Approve Sales Invoice.
                ///Note> Approve includes Save Logic. No need to seperately Save.
                ///Plus we are passing True as default because in Point of Sale, we will always discount Stock.
                SalesInvoiceDB.Approve(true);

                payment_schedual payment_schedual = SalesInvoiceDB.payment_schedual.Where(x => x.id_sales_invoice == sales_invoice.id_sales_invoice && x.debit > 0).FirstOrDefault();
                PaymentDB.Approve(payment_schedual.id_payment_schedual, (bool)chkreceipt.IsChecked);

                //Start New Sale
                New_Sale_Payment();
            }
        }
Esempio n. 30
0
 private void Clear_MouseDown(object sender, EventArgs e)
 {
     if (sales_invoiceViewSource != null && paymentViewSource != null)
     {
         if (sales_invoiceViewSource.View != null && paymentViewSource.View != null)
         {
             if (sales_invoiceViewSource.View.CurrentItem != null && paymentViewSource.View.CurrentItem != null)
             {
                 sales_invoice sales_invoice = sales_invoiceViewSource.View.CurrentItem as sales_invoice;
                 if (sales_invoice.GrandTotal > 0)
                 {
                     decimal TrailingDecimals = sales_invoice.GrandTotal - Math.Floor(sales_invoice.GrandTotal);
                     sales_invoice.DiscountWithoutPercentage += TrailingDecimals;
                 }
             }
         }
     }
 }