Пример #1
0
        private void SaveChanges()
        {
            payment payment = paymentViewSource.View.CurrentItem as payment;

            foreach (payment_detail payment_detail in payment.payment_detail)
            {
                if (PaymentDB.payment_schedual.Where(x => x.id_payment_detail == payment_detail.id_payment_detail).FirstOrDefault() != null)
                {
                    payment_schedual payment_schedual = PaymentDB.payment_schedual.Where(x => x.id_payment_detail == payment_detail.id_payment_detail).FirstOrDefault();
                    if (payment_detail.value != payment_schedual.credit)
                    {
                        payment_schedual.credit = payment_detail.value;
                    }
                }
                if (PaymentDB.app_account_detail.Where(x => x.id_payment_detail == payment_detail.id_payment_detail).FirstOrDefault() != null)
                {
                    app_account_detail app_account_detail = PaymentDB.app_account_detail.Where(x => x.id_payment_detail == payment_detail.id_payment_detail).FirstOrDefault();
                    if (payment_detail.value != app_account_detail.credit)
                    {
                        app_account_detail.credit = payment_detail.value;
                    }
                }
            }

            lblCancel_MouseDown(null, null);
        }
Пример #2
0
        private void PendingCommand_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            app_account_detail app_account_detail = app_accountapp_account_detailViewSource.View.CurrentItem as app_account_detail;

            app_account_detail.status = Status.Documents_General.Pending;

            app_accountapp_account_detailViewSource.View.Refresh();
        }
Пример #3
0
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            //Main Account DataGrid.
            app_accountViewSource = (CollectionViewSource)this.FindResource("app_accountViewSource");
            db.app_account
            .Where(a => a.id_company == CurrentSession.Id_Company).Take(100).Load();
            app_accountViewSource.Source            = db.app_account.Local;
            app_accountapp_account_detailViewSource = this.FindResource("app_accountapp_account_detailViewSource") as CollectionViewSource;

            app_account_listViewSource        = this.FindResource("app_account_listViewSource") as CollectionViewSource;
            app_account_listViewSource.Source =
                db.app_account.Where(a => a.is_active == true && a.id_account_type == app_account.app_account_type.Terminal && a.id_company == CurrentSession.Id_Company).ToList();

            CollectionViewSource app_accountDestViewSource = this.FindResource("app_accountDestViewSource") as CollectionViewSource;

            app_accountDestViewSource.Source = db.app_account.Where(a => a.is_active == true && a.id_company == CurrentSession.Id_Company).ToList();
            //Payment Type
            CollectionViewSource payment_typeViewSource = this.FindResource("payment_typeViewSource") as CollectionViewSource;

            payment_typeViewSource.Source = db.payment_type.Where(a => a.is_active == true && a.id_company == CurrentSession.Id_Company).ToList();

            //CurrencyFx
            CollectionViewSource app_currencyfxViewSource = this.FindResource("app_currencyfxViewSource") as CollectionViewSource;

            db.app_currencyfx.Where(a => a.is_active == true && a.id_company == CurrentSession.Id_Company).Load();
            app_currencyfxViewSource.Source = db.app_currencyfx.Local;

            //For Adjust Tab.
            app_account_detail_adjustViewSource = this.FindResource("app_account_detail_adjustViewSource") as CollectionViewSource;
            db.app_account_detail.Where(a => a.id_company == CurrentSession.Id_Company && a.id_company == CurrentSession.Id_Company).Load();
            app_account_detail_adjustViewSource.Source      = db.app_account_detail.Local;
            app_account_detail_adjustViewSource.View.Filter = item =>
            {
                app_account_detail objAcDetail = item as app_account_detail;
                if (objAcDetail.id_account_detail == 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            };

            //Transfer
            listTransferAmt                  = new List <Class.clsTransferAmount>();
            amount_transferViewSource        = this.FindResource("amount_transferViewSource") as CollectionViewSource;
            amount_transferViewSource.Source = listTransferAmt;
        }
Пример #4
0
        public void ReceivePayment(ref dbContext _entity, payment_schedual payment_schedual, int id_range, int id_currencyfx, int id_payment_type,
                                   int id_purchase_return, int id_sales_return, decimal value, string comment, int id_account, DateTime trans_date)
        {
            payment payment = new payment();

            if (id_sales_return > 0)
            {
                payment.id_contact = payment_schedual.contact.id_contact;

                if (id_range != null)
                {
                    payment.id_range = id_range;
                    if (_entity.db.app_document_range.Where(x => x.id_range == payment.id_range).FirstOrDefault() != null)
                    {
                        payment.app_document_range = _entity.db.app_document_range.Where(x => x.id_range == payment.id_range).FirstOrDefault();
                    }
                }


                payment_detail payment_detailreturn = new payment_detail();
                if (_entity.db.app_currencyfx.Where(x => x.id_currencyfx == id_currencyfx).FirstOrDefault() != null)
                {
                    payment_detailreturn.app_currencyfx = _entity.db.app_currencyfx.Where(x => x.id_currencyfx == id_currencyfx).FirstOrDefault();
                }

                payment_detailreturn.id_currencyfx   = id_currencyfx;
                payment_detailreturn.id_payment_type = id_payment_type;

                payment_detailreturn.id_purchase_return = id_purchase_return;
                payment_detailreturn.id_sales_return    = id_sales_return;

                payment_detailreturn.value   = value;
                payment_detailreturn.comment = comment;
                payment_schedual _payment_schedualreturn = new payment_schedual();

                _payment_schedualreturn.credit              = Convert.ToDecimal(value);
                _payment_schedualreturn.parent              = payment_schedual;
                _payment_schedualreturn.expire_date         = payment_schedual.expire_date;
                _payment_schedualreturn.status              = payment_schedual.status;
                _payment_schedualreturn.id_contact          = payment_schedual.id_contact;
                _payment_schedualreturn.id_currencyfx       = payment_schedual.id_currencyfx;
                _payment_schedualreturn.id_purchase_invoice = payment_schedual.id_purchase_invoice;
                _payment_schedualreturn.id_purchase_order   = payment_schedual.id_purchase_order;
                _payment_schedualreturn.id_purchase_return  = payment_schedual.id_purchase_return;
                _payment_schedualreturn.id_sales_invoice    = payment_schedual.id_sales_invoice;
                _payment_schedualreturn.id_sales_order      = payment_schedual.id_sales_order;
                _payment_schedualreturn.id_sales_return     = id_sales_return;
                _payment_schedualreturn.trans_date          = trans_date;
                payment_detailreturn.payment_schedual.Add(_payment_schedualreturn);
                payment.payment_detail.Add(payment_detailreturn);
            }
            else
            {
                payment.id_contact = payment_schedual.contact.id_contact;

                if (id_range > 0)
                {
                    payment.id_range = id_range;
                    if (_entity.db.app_document_range.Where(x => x.id_range == payment.id_range).FirstOrDefault() != null)
                    {
                        payment.app_document_range = _entity.db.app_document_range.Where(x => x.id_range == payment.id_range).FirstOrDefault();
                    }
                }



                payment_detail payment_detail = new payment_detail();
                payment_detail.id_account = id_account;
                if (_entity.db.app_currencyfx.Where(x => x.id_currencyfx == id_currencyfx).FirstOrDefault() != null)
                {
                    payment_detail.app_currencyfx = _entity.db.app_currencyfx.Where(x => x.id_currencyfx == id_currencyfx).FirstOrDefault();
                }
                payment_detail.id_currencyfx   = id_currencyfx;
                payment_detail.id_payment_type = id_payment_type;

                payment_detail.id_purchase_return = id_purchase_return;
                payment_detail.id_sales_return    = id_sales_return;

                payment_detail.value   = value;
                payment_detail.comment = comment;
                payment_schedual _payment_schedual = new payment_schedual();

                _payment_schedual.credit              = Convert.ToDecimal(value);
                _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.id_purchase_order   = payment_schedual.id_purchase_order;
                _payment_schedual.id_purchase_return  = payment_schedual.id_purchase_return;
                _payment_schedual.id_sales_invoice    = payment_schedual.id_sales_invoice;
                _payment_schedual.id_sales_order      = payment_schedual.id_sales_order;
                _payment_schedual.id_sales_return     = payment_schedual.id_sales_return;
                _payment_schedual.trans_date          = trans_date;


                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.
                if (_entity.db.payment_type.Where(x => x.id_payment_type == id_payment_type).FirstOrDefault().payment_behavior == payment_type.payment_behaviours.Normal)
                {
                    app_account_detail app_account_detail = new app_account_detail();
                    if (_entity.db.app_account_session.Where(x => x.id_account == id_account && x.is_active).FirstOrDefault() != null)
                    {
                        app_account_detail.id_session = _entity.db.app_account_session.Where(x => x.id_account == id_account && x.is_active).FirstOrDefault().id_session;
                    }
                    app_account_detail.id_account      = id_account;
                    app_account_detail.id_currencyfx   = payment_detail.id_currencyfx;
                    app_account_detail.id_payment_type = id_payment_type;
                    app_account_detail.trans_date      = trans_date;
                    app_account_detail.debit           = 0;
                    app_account_detail.credit          = Convert.ToDecimal(value);
                    _entity.db.app_account_detail.Add(app_account_detail);
                }
            }


            _entity.db.payments.Add(payment);



            IEnumerable <DbEntityValidationResult> validationresult = _entity.db.GetValidationErrors();

            if (validationresult.Count() == 0)
            {
                _entity.SaveChanges();

                entity.Brillo.Document.Start.Automatic(payment, payment.app_document_range);
            }
        }
Пример #5
0
        private void btnTransfer_Click(object sender, RoutedEventArgs e)
        {
            if (cbxAccountDestination.SelectedItem != null)
            {
                app_account idOriginAccount = ((app_accountViewSource.View.CurrentItem) as app_account); //Credit Account
                app_account idDestiAccount  = cbxAccountDestination.SelectedItem as app_account;         //Debit Account

                if (idOriginAccount.id_account == idDestiAccount.id_account)
                {
                    MessageBox.Show("Please select a different Destination", "Cognitivo ERP", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }

                foreach (Class.clsTransferAmount TransferAmount in listTransferAmt)
                {
                    payment_type payment_type = db.payment_type.Where(x => x.id_payment_type == TransferAmount.id_payment_type).FirstOrDefault();

                    if (idOriginAccount != null && idDestiAccount != null && payment_type != null)
                    {
                        app_account_detail objOriginAcDetail = new app_account_detail();
                        if (db.app_account_session.Where(x => x.id_account == idOriginAccount.id_account && x.is_active).FirstOrDefault() != null)
                        {
                            objOriginAcDetail.id_session = db.app_account_session.Where(x => x.id_account == idOriginAccount.id_account && x.is_active).FirstOrDefault().id_session;
                        }

                        objOriginAcDetail.id_account      = idOriginAccount.id_account;
                        objOriginAcDetail.id_currencyfx   = TransferAmount.id_currencyfx;
                        objOriginAcDetail.id_payment_type = TransferAmount.id_payment_type;
                        objOriginAcDetail.credit          = 0;
                        objOriginAcDetail.debit           = TransferAmount.amount;
                        objOriginAcDetail.comment         = "Transfered to " + idDestiAccount.name + ".";
                        objOriginAcDetail.trans_date      = DateTime.Now;

                        app_account_detail objDestinationAcDetail = new app_account_detail();
                        if (db.app_account_session.Where(x => x.id_account == idDestiAccount.id_account && x.is_active).FirstOrDefault() != null)
                        {
                            objDestinationAcDetail.id_session = db.app_account_session.Where(x => x.id_account == idDestiAccount.id_account && x.is_active).FirstOrDefault().id_session;
                        }

                        objDestinationAcDetail.id_account      = idDestiAccount.id_account;
                        objDestinationAcDetail.id_currencyfx   = TransferAmount.id_currencyfx;
                        objDestinationAcDetail.id_payment_type = TransferAmount.id_payment_type;
                        objDestinationAcDetail.credit          = TransferAmount.amount;
                        objDestinationAcDetail.debit           = 0;
                        objDestinationAcDetail.comment         = "Transfered from " + idOriginAccount.name + ".";
                        objDestinationAcDetail.trans_date      = DateTime.Now;

                        bool is_direct = payment_type.is_direct;
                        if (is_direct)
                        {
                            objOriginAcDetail.status      = entity.Status.Documents_General.Approved;
                            objDestinationAcDetail.status = entity.Status.Documents_General.Approved;
                        }
                        else
                        {
                            objOriginAcDetail.status      = entity.Status.Documents_General.Pending;
                            objDestinationAcDetail.status = entity.Status.Documents_General.Pending;
                        }

                        db.app_account_detail.Add(objOriginAcDetail);
                        db.app_account_detail.Add(objDestinationAcDetail);
                        db.SaveChanges();

                        //Reload Data.
                        cbxAccountDestination.SelectedIndex = 0;
                    }
                }

                listTransferAmt.Clear();
                amount_transferViewSource.View.Refresh();
                app_accountViewSource.View.Refresh();
                app_accountapp_account_detailViewSource.View.Refresh();
                app_account_detail_adjustViewSource.View.Refresh();
                MessageBox.Show("Transfer Completed Successfully!", "Cognitivo ERP", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
Пример #6
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);
                }
            }
        }
Пример #7
0
        public void add_paymnet_detail(db db, sales_invoice sales_invoice, object SALDOCUOTA, object IMPORTE)
        {
            if (!(SALDOCUOTA is DBNull))
            {
                decimal      SALDOCUOTAValue = Convert.ToDecimal(SALDOCUOTA);
                payment_type payment_type;
                if (SALDOCUOTAValue < sales_invoice.GrandTotal)
                {
                    if (db.payment_type.Where(x => x.is_default).FirstOrDefault() == null)
                    {
                        payment_type = GenerateDefaultPaymentType();
                        db.payment_type.Add(payment_type);
                        db.SaveChanges();
                    }
                    else
                    {
                        payment_type = db.payment_type.Where(x => x.is_default).FirstOrDefault();
                    }

                    if (IMPORTE is DBNull)
                    {
                        if (sales_invoice.payment_schedual.FirstOrDefault() != null)
                        {
                            payment_schedual payment_schedual = sales_invoice.payment_schedual.FirstOrDefault();
                            decimal          invoice_total    = sales_invoice.GrandTotal;

                            if (invoice_total > 0)
                            {
                                payment_detail payment_detail = new payment_detail();
                                payment_detail.value = invoice_total;

                                if (db.app_account.Where(x => x.id_account_type == app_account.app_account_type.Terminal).FirstOrDefault() != null)
                                {
                                    app_account app_account = db.app_account.Where(x => x.id_account_type == app_account.app_account_type.Terminal).FirstOrDefault();
                                    payment_detail.id_account = app_account.id_account;
                                }
                                else
                                {
                                    app_account app_account = GenerateDefaultApp_Account();
                                    db.app_account.Add(app_account);
                                    payment_detail.app_account = app_account;
                                    payment_detail.id_account  = app_account.id_account;
                                }

                                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;

                                    payment_detail.id_payment_type = payment_type.id_payment_type;
                                    payment_detail.payment_type    = payment_type;
                                }

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

                                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 (db.app_account_session.Where(x => x.id_account == payment_detail.id_account && x.is_active).FirstOrDefault() != null)
                                {
                                    app_account_detail.id_session = 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.payment_type    = payment_type;
                                app_account_detail.debit           = 0;
                                app_account_detail.credit          = Convert.ToDecimal(payment_detail.value);
                                db.app_account_detail.Add(app_account_detail);

                                try
                                {
                                    db.payments.Add(payment);
                                }
                                catch (Exception ex)
                                {
                                    throw ex;
                                }
                            }
                        }
                    }
                }
            }
        }