Esempio n. 1
0
        private void toolIcon_Click(object sender, RoutedEventArgs e)
        {
            entity.Brillo.Logic.Document Document = new entity.Brillo.Logic.Document();
            contact contact = (contact)listContacts.SelectedItem;

            Document.Document_PrintCarnetContact(contact);
        }
Esempio n. 2
0
 private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (cmbdocument.SelectedValue != null)
     {
         entity.Brillo.Logic.Document _Document          = new entity.Brillo.Logic.Document();
         app_document_range           app_document_range = (app_document_range)cmbdocument.SelectedItem;
         _number = entity.Brillo.Logic.Range.calc_Range(app_document_range, false);
     }
 }
Esempio n. 3
0
        private void salesorder_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            Hyperlink   Hyperlink   = (Hyperlink)sender;
            sales_order sales_order = (sales_order)Hyperlink.Tag;

            if (sales_order != null)
            {
                entity.Brillo.Logic.Document Document = new entity.Brillo.Logic.Document();
                Document.Document_PrintOrder(0, sales_order, true);
            }
        }
Esempio n. 4
0
        private void purchaseorder_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            Hyperlink      Hyperlink      = (Hyperlink)sender;
            purchase_order purchase_order = (purchase_order)Hyperlink.Tag;

            if (purchase_order != null)
            {
                entity.Brillo.Logic.Document Document = new entity.Brillo.Logic.Document();
                Document.Document_PrintPurchaseOrder(0, purchase_order);
            }
        }
Esempio n. 5
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (purchase_invoice != null)
            {
                if (dbContext.db.payment_schedual.Where(a => a.id_purchase_invoice == purchase_invoice.id_purchase_invoice && a.id_contact == purchase_invoice.id_contact).FirstOrDefault() != null)
                {
                    payment_schedual payment_schedual = dbContext.db.payment_schedual.Where(a => a.id_purchase_invoice == purchase_invoice.id_purchase_invoice && a.id_contact == purchase_invoice.id_contact).FirstOrDefault();

                    if (invoice_total > 0)
                    {
                        payment_detail payment_detail = new payment_detail();
                        payment_detail.value      = invoice_total;
                        payment_detail.id_account = (int)app_accountComboBox.SelectedValue;
                        payment payment = new payment();
                        if (payment_schedual != null)
                        {
                            payment.id_contact           = payment_schedual.id_contact;
                            payment.contact              = payment_schedual.contact;
                            payment_detail.id_currencyfx = payment_schedual.id_currencyfx;

                            if (dbContext.db.payment_type.Where(x => x.is_default).FirstOrDefault() != null)
                            {
                                payment_detail.id_payment_type = dbContext.db.payment_type.Where(x => x.is_default).FirstOrDefault().id_payment_type;
                            }
                            else
                            {
                                MessageBox.Show("Please insert paymnent Type");
                                return;
                            }
                        }

                        payment_detail.App_Name = global::entity.App.Names.PurchaseInvoice;

                        payment_schedual _payment_schedual = new payment_schedual();
                        _payment_schedual.debit                    = invoice_total;
                        _payment_schedual.parent                   = payment_schedual;
                        _payment_schedual.expire_date              = payment_schedual.expire_date;
                        _payment_schedual.status                   = payment_schedual.status;
                        _payment_schedual.id_contact               = payment_schedual.id_contact;
                        _payment_schedual.id_currencyfx            = payment_schedual.id_currencyfx;
                        _payment_schedual.id_purchase_invoice      = payment_schedual.id_purchase_invoice;
                        _payment_schedual.trans_date               = DateTime.Now;
                        _payment_schedual.AccountReceivableBalance = invoice_total;

                        payment_detail.payment_schedual.Add(_payment_schedual);
                        payment.payment_detail.Add(payment_detail);

                        //Add Account Logic. With IF FUnction if payment type is Basic Behaviour. If not ignore.
                        app_account_detail app_account_detail = new app_account_detail();
                        if (dbContext.db.app_account_session.Where(x => x.id_account == payment_detail.id_account && x.is_active).FirstOrDefault() != null)
                        {
                            app_account_detail.id_session = dbContext.db.app_account_session.Where(x => x.id_account == payment_detail.id_account && x.is_active).FirstOrDefault().id_session;
                        }
                        app_account_detail.id_account      = (int)payment_detail.id_account;
                        app_account_detail.id_currencyfx   = payment_schedual.id_currencyfx;
                        app_account_detail.id_payment_type = payment_detail.id_payment_type;
                        app_account_detail.debit           = Convert.ToDecimal(payment_detail.value);
                        app_account_detail.credit          = 0;
                        dbContext.db.app_account_detail.Add(app_account_detail);

                        dbContext.db.payments.Add(payment);

                        IEnumerable <DbEntityValidationResult> validationresult = dbContext.db.GetValidationErrors();
                        if (validationresult.Count() == 0)
                        {
                            dbContext.db.SaveChanges();

                            entity.Brillo.Logic.Document Document = new entity.Brillo.Logic.Document();
                            Document.Document_PrintPaymentReceipt(payment);

                            imgCancel_MouseDown(null, null);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Please Save and Approve invoice first to Make Payment.", "Cognitivo", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                }
            }
            if (sales_invoice != null)
            {
                PaymentDB PaymentDB = new entity.PaymentDB();

                if (PaymentDB.payment_schedual.Where(a => a.id_sales_invoice == sales_invoice.id_sales_invoice && a.id_contact == sales_invoice.id_contact).FirstOrDefault() != null)
                {
                    payment_schedual payment_schedual = PaymentDB.payment_schedual.Where(a => a.id_sales_invoice == sales_invoice.id_sales_invoice && a.id_contact == sales_invoice.id_contact).FirstOrDefault();

                    if (invoice_total > 0)
                    {
                        payment_detail payment_detail = new payment_detail();
                        payment_detail.value      = invoice_total;
                        payment_detail.id_account = (int)app_accountComboBox.SelectedValue;
                        payment payment = new payment();
                        if (payment_schedual != null)
                        {
                            payment.id_contact           = payment_schedual.id_contact;
                            payment.contact              = payment_schedual.contact;
                            payment_detail.id_currencyfx = payment_schedual.id_currencyfx;
                            if (PaymentDB.payment_type.Where(x => x.is_default).FirstOrDefault() != null)
                            {
                                payment_detail.id_payment_type = PaymentDB.payment_type.Where(x => x.is_default).FirstOrDefault().id_payment_type;
                            }
                            else
                            {
                                MessageBox.Show("Please insert paymnent Type");
                                return;
                            }
                        }

                        payment_detail.IsSelected = true;
                        payment_detail.App_Name   = global::entity.App.Names.SalesInvoice;
                        payment.payment_detail.Add(payment_detail);

                        //payment_schedual _payment_schedual = new payment_schedual();
                        //_payment_schedual.credit = invoice_total;
                        //_payment_schedual.parent = payment_schedual;
                        //_payment_schedual.expire_date = payment_schedual.expire_date;
                        //_payment_schedual.status = payment_schedual.status;
                        //_payment_schedual.id_contact = payment_schedual.id_contact;
                        //_payment_schedual.id_currencyfx = payment_schedual.id_currencyfx;
                        //_payment_schedual.id_sales_invoice = payment_schedual.id_sales_invoice;
                        //_payment_schedual.trans_date = payment_schedual.trans_date;
                        //_payment_schedual.AccountReceivableBalance = invoice_total;

                        //payment_detail.payment_schedual.Add(_payment_schedual);
                        //payment.payment_detail.Add(payment_detail);

                        ////Add Account Logic. With IF FUnction if payment type is Basic Behaviour. If not ignore.
                        //app_account_detail app_account_detail = new app_account_detail();
                        //if (dbContext.db.app_account_session.Where(x => x.id_account == payment_detail.id_account && x.is_active).FirstOrDefault() != null)
                        //{
                        //    app_account_detail.id_session = dbContext.db.app_account_session.Where(x => x.id_account == payment_detail.id_account && x.is_active).FirstOrDefault().id_session;
                        //}
                        //app_account_detail.id_account = (int)payment_detail.id_account;
                        //app_account_detail.id_currencyfx = payment_schedual.id_currencyfx;
                        //app_account_detail.id_payment_type = payment_detail.id_payment_type;
                        //app_account_detail.debit = 0;
                        //app_account_detail.credit = Convert.ToDecimal(payment_detail.value);
                        //dbContext.db.app_account_detail.Add(app_account_detail);

                        PaymentDB.payments.Add(payment);
                        PaymentDB.MakePayment(payment_schedual, payment, true);
                        imgCancel_MouseDown(null, null);
                    }
                }
                else
                {
                    MessageBox.Show("Please Save and Approve invoice first to Make Payment.", "Cognitivo", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                }
            }
        }
Esempio n. 6
0
        private void toolIcon_Click_1(object sender, RoutedEventArgs e)
        {
            entity.Brillo.Logic.Document Document = new entity.Brillo.Logic.Document();

            Document.Document_PrintCarnetContact();
        }
Esempio n. 7
0
        private void toolBar_btnApprove_Click(object sender)
        {
            item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;

            if ((item_transfer.number == null || item_transfer.number == string.Empty) && item_transfer.app_document_range != null)
            {
                entity.Brillo.Logic.Document _Document = new entity.Brillo.Logic.Document();
                if (item_transfer.id_branch > 0)
                {
                    if (dbContext.app_branch.Where(x => x.id_branch == item_transfer.id_branch).FirstOrDefault() != null)
                    {
                        entity.Brillo.Logic.Range.branch_Code = dbContext.app_branch.Where(x => x.id_branch == item_transfer.id_branch).FirstOrDefault().code;
                    }
                }
                if (item_transfer.id_terminal > 0)
                {
                    if (dbContext.app_terminal.Where(x => x.id_terminal == item_transfer.id_terminal).FirstOrDefault() != null)
                    {
                        entity.Brillo.Logic.Range.terminal_Code = dbContext.app_terminal.Where(x => x.id_terminal == item_transfer.id_terminal).FirstOrDefault().code;
                    }
                }
                if (item_transfer.id_user > 0)
                {
                    if (dbContext.security_user.Where(x => x.id_user == item_transfer.id_user).FirstOrDefault() != null)
                    {
                        entity.Brillo.Logic.Range.user_Code = dbContext.security_user.Where(x => x.id_user == item_transfer.id_user).FirstOrDefault().code;
                    }
                }
                if (item_transfer.id_project > 0)
                {
                    if (dbContext.projects.Where(x => x.id_project == item_transfer.id_project).FirstOrDefault() != null)
                    {
                        entity.Brillo.Logic.Range.project_Code = dbContext.projects.Where(x => x.id_project == item_transfer.id_project).FirstOrDefault().code;
                    }
                }

                app_document_range app_document_range = item_transfer.app_document_range;
                item_transfer.number = entity.Brillo.Logic.Range.calc_Range(app_document_range, true);
            }

            item_transfer.user_requested = dbContext.security_user.Where(x => x.id_user == CurrentSession.Id_User).FirstOrDefault();
            item_transfer.user_given     = dbContext.security_user.Where(x => x.id_user == CurrentSession.Id_User).FirstOrDefault();
            item_transfer.status         = Status.Transfer.Approved;

            dbContext.SaveChanges();

            for (int i = 0; i < item_transfer_detailDataGrid.Items.Count; i++)
            {
                entity.Brillo.Logic.Stock stock = new entity.Brillo.Logic.Stock();

                item_transfer_detail item_transfer_detail = (item_transfer_detail)item_transfer_detailDataGrid.Items[i];

                List <entity.Brillo.StockList> Items_InStockLIST;
                app_currencyfx app_currencyfx = ProductMovementDB.app_currencyfx.Where(x => x.app_currency.is_active).FirstOrDefault();
                app_location   app_location   = item_transfer_detail.item_transfer.app_location_origin;

                if (itemMovement.item_movement != null)
                {
                    entity.Brillo.Stock stockBrillo = new entity.Brillo.Stock();
                    Items_InStockLIST = stockBrillo.ScalarMovement(itemMovement.item_movement);
                }
                else
                {
                    entity.Brillo.Stock stockBrillo = new entity.Brillo.Stock();
                    Items_InStockLIST = stockBrillo.List(app_location.app_branch, app_location, item_transfer_detail.item_product);
                }

                ///Debit Movement from Origin.
                List <item_movement> item_movement_originList;
                item_movement_originList = stock.DebitOnly_MovementLIST(ProductMovementDB, Items_InStockLIST, Status.Stock.InStock, entity.App.Names.Movement, item_transfer_detail.id_transfer, item_transfer_detail.id_transfer_detail, app_currencyfx, item_transfer_detail.item_product, app_location,
                                                                        item_transfer_detail.quantity_origin, item_transfer_detail.item_transfer.trans_date, stock.comment_Generator(entity.App.Names.Movement, item_transfer_detail.item_transfer.number != null ? item_transfer_detail.item_transfer.number.ToString() : "", ""));

                ProductMovementDB.item_movement.AddRange(item_movement_originList);

                //Credit Movement to Destination
                item_movement item_movement_dest;
                item_movement parent_item_movement = item_movement_originList.FirstOrDefault();

                List <item_movement_dimension> DimensionList = null;

                if (item_movement_originList.FirstOrDefault().item_movement_dimension.Count() > 0)
                {
                    DimensionList = new List <item_movement_dimension>();
                    foreach (item_movement_dimension item_movement_dimension in item_movement_originList.FirstOrDefault().item_movement_dimension)
                    {
                        item_movement_dimension _item_movement_dimension = new item_movement_dimension();
                        _item_movement_dimension.id_dimension = item_movement_dimension.id_dimension;
                        _item_movement_dimension.value        = item_movement_dimension.value;
                        DimensionList.Add(_item_movement_dimension);
                    }
                }

                item_movement_dest =
                    stock.CreditOnly_Movement(
                        Status.Stock.InStock,
                        entity.App.Names.Movement,
                        item_transfer_detail.id_transfer,
                        item_transfer_detail.id_transfer_detail,
                        app_currencyfx,
                        item_transfer_detail.item_product,
                        item_transfer_detail.item_transfer.app_location_destination,
                        item_transfer_detail.quantity_destination,
                        item_transfer_detail.item_transfer.trans_date,
                        item_movement_originList.Sum(x => (x.item_movement_value.Sum(y => y.unit_value) / (x.item_movement_value.Count() != 0 ? x.item_movement_value.Count() : 1))),
                        stock.comment_Generator(entity.App.Names.Movement, item_transfer_detail.item_transfer.number != null ? item_transfer_detail.item_transfer.number.ToString() : "", ""),
                        DimensionList
                        );
                //item_movement_dest._parent = Items_InStockLIST.FirstOrDefault();
                ProductMovementDB.item_movement.Add(item_movement_dest);
                item_transfer.status = Status.Transfer.Approved;
            }

            if (item_transfer.status == Status.Transfer.Approved && item_transfer.app_document_range != null)
            {
                entity.Brillo.Document.Start.Automatic(item_transfer, item_transfer.app_document_range);
            }

            if (ProductMovementDB.SaveChanges() > 0)
            {
                toolBar.msgSaved(ProductMovementDB.NumberOfRecords);
                itemMovement = new Configs.itemMovement();
            }
        }