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); }
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(); }
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; }
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); } }
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); } }
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); } } }
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; } } } } } } }