private void select_Item(sales_return sales_return, item item) { if (sales_return.sales_return_detail.Where(a => a.id_item == item.id_item).FirstOrDefault() == null) { sales_return_detail _sales_return_detail = new sales_return_detail(); _sales_return_detail.State = EntityState.Added; _sales_return_detail.sales_return = sales_return; _sales_return_detail.Contact = sales_return.contact; _sales_return_detail.item_description = item.description; _sales_return_detail.item = item; _sales_return_detail.id_item = item.id_item; sales_return.sales_return_detail.Add(_sales_return_detail); } else { sales_return_detail sales_return_detail = sales_return.sales_return_detail.Where(a => a.id_item == item.id_item).FirstOrDefault(); sales_return_detail.quantity += 1; } Dispatcher.BeginInvoke((Action)(() => { sales_returnsales_return_detailViewSource.View.Refresh(); calculate_vat(null, null); })); }
private void salesreturnComboBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) { try { if (salesreturnComboBox.Data != null) { CollectionViewSource paymentpayment_detailViewSource = (CollectionViewSource)this.FindResource("paymentpayment_detailViewSource"); payment_detail payment_detail = paymentpayment_detailViewSource.View.CurrentItem as payment_detail; sales_return sales_return = (sales_return)salesreturnComboBox.Data; salesreturnComboBox.Text = sales_return.number; decimal return_value = (sales_return.GrandTotal - sales_return.payment_schedual.Where(x => x.id_sales_return == sales_return.id_sales_return).Sum(x => x.credit)); payment_detail.id_sales_return = sales_return.id_sales_return; if (payment_detail.value > return_value) { payment_detail.value = return_value; payment_detail.RaisePropertyChanged("value"); } else { payment_detail.value = payment_detail.value; payment_detail.RaisePropertyChanged("value"); } } } catch (Exception ex) { throw ex; } }
private void toolBar_btnSearch_Click(object sender, string query) { try { if (!string.IsNullOrEmpty(query)) { salesReturnViewSource.View.Filter = i => { sales_return sales_return = i as sales_return; if (sales_return.contact.name.ToLower().Contains(query.ToLower())) { return(true); } else { return(false); } }; } else { salesReturnViewSource.View.Filter = null; } } catch (Exception) { } }
private void sales_return_detailDataGrid_InitializingNewItem(object sender, InitializingNewItemEventArgs e) { sales_return_detail sales_return_detail = (sales_return_detail)e.NewItem; sales_return sales_return = (sales_return)sales_returnDataGrid.SelectedItem; sales_return_detail.sales_return = sales_return; }
private void toolBar_btnNew_Click(object sender) { ReturnSetting _pref_SalesReturn = new ReturnSetting(); sales_return objSalRtn = SalesReturnDB.New(); objSalRtn.trans_date = DateTime.Now.AddDays(_pref_SalesReturn.TransDate_OffSet); SalesReturnDB.sales_return.Add(objSalRtn); salesReturnViewSource.View.MoveCurrentToLast(); }
private void sales_returnDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { sales_return sales_return = (sales_return)sales_returnDataGrid.SelectedItem; if (sales_return != null) { calculate_vat(sender, e); } }
private void toolBar_btnPrint_Click(object sender, MouseButtonEventArgs e) { sales_return sales_return = sales_returnDataGrid.SelectedItem as sales_return; if (sales_return != null) { entity.Brillo.Document.Start.Manual(sales_return, sales_return.app_document_range); } else { toolBar.msgWarning("Please select"); } }
public void Fill_BySalesReturn(sales_return sales_return) { this.Type = entity.DebeHaber.TransactionTypes.SalesReturn; this.TransDate = sales_return.trans_date; this.CompanyName = sales_return.contact.name; this.Gov_Code = sales_return.contact.gov_code; this.Comment = sales_return.comment; this.CurrencyName = sales_return.app_currencyfx != null ? sales_return.app_currencyfx.app_currency != null ? sales_return.app_currencyfx.app_currency.name : "" : ""; this.DocNumber = sales_return.number; this.DocCode = sales_return.app_document_range != null ? sales_return.app_document_range.code : ""; this.DocExpiry = (sales_return.app_document_range != null ? (DateTime)sales_return.app_document_range.expire_date : DateTime.Now); }
private void item_Select(object sender, EventArgs e) { if (sbxItem.ItemID > 0) { sales_return sales_return = salesReturnViewSource.View.CurrentItem as sales_return; item item = SalesReturnDB.items.Where(x => x.id_item == sbxItem.ItemID).FirstOrDefault(); if (item != null && item.id_item > 0 && sales_return != null) { Task Thread = Task.Factory.StartNew(() => select_Item(sales_return, item)); } sales_return.RaisePropertyChanged("GrandTotal"); } }
private void toolBar_btnEdit_Click(object sender) { if (sales_returnDataGrid.SelectedItem != null) { sales_return sales_return = (sales_return)sales_returnDataGrid.SelectedItem; sales_return.IsSelected = true; sales_return.State = System.Data.Entity.EntityState.Modified; SalesReturnDB.Entry(sales_return).State = EntityState.Modified; } else { toolBar.msgWarning("Please Select A Record"); } }
private void calculate_vat(object sender, EventArgs e) { sales_return sales_return = (sales_return)sales_returnDataGrid.SelectedItem; sales_return.RaisePropertyChanged("GrandTotal"); //List<sales_return_detail> sales_return_detail = sales_return.sales_return_detail.ToList(); //dgvvat.ItemsSource = sales_return_detail // .Join(SalesReturnDB.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(); }
private void DeleteCommand_Executed(object sender, ExecutedRoutedEventArgs e) { try { MessageBoxResult result = MessageBox.Show("Are you sure want to Delete?", "Delete", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { sales_return sales_return = salesReturnViewSource.View.CurrentItem as sales_return; //DeleteDetailGridRow sales_return_detailDataGrid.CancelEdit(); SalesReturnDB.sales_return_detail.Remove(e.Parameter as sales_return_detail); sales_returnsales_return_detailViewSource.View.Refresh(); } } catch (Exception ex) { toolBar.msgError(ex); } }
private void btnSalesInvoice_Click(object sender, RoutedEventArgs e) { sales_return _sales_return = (sales_return)salesReturnViewSource.View.CurrentItem; if (_sales_return != null) { crud_modal.Visibility = Visibility.Visible; pnlSalesInvoice = new cntrl.PanelAdv.pnlSalesInvoice(); pnlSalesInvoice._entity = new ImpexDB(); if (sbxContact.ContactID > 0) { contact contact = SalesReturnDB.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault(); pnlSalesInvoice._contact = contact; } pnlSalesInvoice.SalesInvoice_Click += SalesInvoice_Click; crud_modal.Children.Add(pnlSalesInvoice); } }
private void set_ContactPref(object sender, EventArgs e) { try { if (sbxContact.ContactID > 0) { contact contact = SalesReturnDB.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault(); sales_return sales_return = (sales_return)sales_returnDataGrid.SelectedItem; sales_return.id_contact = contact.id_contact; sales_return.contact = contact; ///Start Thread to get Data. Task thread_SecondaryData = Task.Factory.StartNew(() => set_ContactPref_Thread(contact)); } } catch (Exception ex) { toolBar.msgError(ex); } }
public void Document_Print(int document_id, object obj) { app_document app_document; string PrinterName; string Content = ""; using (db db = new db()) { app_document = db.app_document.Where(x => x.id_document == document_id).FirstOrDefault(); PrinterName = app_document.app_document_range.FirstOrDefault().printer_name; if (app_document.id_application == App.Names.Movement) { item_transfer item_transfer = (item_transfer)obj; Content = ItemMovement(item_transfer); Print(Content, app_document, PrinterName); } else if (app_document.id_application == App.Names.SalesReturn) { sales_return sales_return = (sales_return)obj; Content = SalesReturn(sales_return); Print(Content, app_document, PrinterName); } else if (app_document.id_application == App.Names.SalesInvoice) { sales_invoice sales_invoice = (sales_invoice)obj; Content = SalesInvoice(sales_invoice); Print(Content, app_document, PrinterName); } else if (app_document.id_application == App.Names.PaymentUtility) { payment payment = (payment)obj; Content = Payment(payment); Print(Content, app_document, PrinterName); } } }
public List <payment_schedual> revert_Schedual(object obj_entity) { List <payment_schedual> payment_schedualList = new List <payment_schedual>(); //SALES INVOICE if (obj_entity as sales_invoice != null) { sales_invoice sales_invoice = (sales_invoice)obj_entity; if (sales_invoice.payment_schedual != null) { foreach (payment_schedual payment in sales_invoice.payment_schedual) { payment_schedualList.AddRange(update_Status(payment)); } } } //SALES ORDER else if (obj_entity as sales_order != null) { sales_order sales_order = (sales_order)obj_entity; if (sales_order.payment_schedual != null) { foreach (payment_schedual payment in sales_order.payment_schedual) { payment_schedualList.AddRange(update_Status(payment)); } } } //PURCHASE INVOICE else if (obj_entity as purchase_invoice != null) { purchase_invoice purchase_invoice = (purchase_invoice)obj_entity; if (purchase_invoice.payment_schedual != null) { foreach (payment_schedual payment in purchase_invoice.payment_schedual) { payment_schedualList.AddRange(update_Status(payment)); } } } //PURCHASE ORDER else if (obj_entity as purchase_order != null) { //If function to liberate paid amount purchase_order purchase_order = (purchase_order)obj_entity; if (purchase_order.payment_schedual != null) { foreach (payment_schedual payment in purchase_order.payment_schedual) { payment_schedualList.AddRange(update_Status(payment)); } } } //PURCHASE RETURN else if (obj_entity as purchase_return != null) { //If function to liberate paid amount purchase_return purchase_return = (purchase_return)obj_entity; if (purchase_return.payment_schedual != null) { foreach (payment_schedual payment in purchase_return.payment_schedual) { payment_schedualList.AddRange(update_Status(payment)); } } } //SALES RETURN else if (obj_entity as sales_return != null) { //If function to liberate paid amount sales_return sales_return = (sales_return)obj_entity; if (sales_return.payment_schedual != null) { foreach (payment_schedual payment in sales_return.payment_schedual) { payment_schedualList.AddRange(update_Status(payment)); } } } return(payment_schedualList); }
public List <payment_schedual> insert_Schedual(object obj_entity) { List <payment_schedual> payment_schedualList = new List <payment_schedual>(); //SALES INVOICE if (obj_entity as sales_invoice != null) { sales_invoice sales_invoice = (sales_invoice)obj_entity; foreach (app_contract_detail app_contract_detail in sales_invoice.app_contract.app_contract_detail.Where(x => x.is_order == false)) { payment_schedual payment_schedual = new payment_schedual(); payment_schedual.credit = 0; payment_schedual.debit = sales_invoice.GrandTotal * app_contract_detail.coefficient; payment_schedual.id_currencyfx = sales_invoice.id_currencyfx; payment_schedual.sales_invoice = sales_invoice; payment_schedual.trans_date = sales_invoice.trans_date; payment_schedual.expire_date = sales_invoice.trans_date.AddDays(app_contract_detail.interval); payment_schedual.status = entity.Status.Documents_General.Approved; payment_schedual.id_contact = sales_invoice.id_contact; payment_schedualList.Add(payment_schedual); ///Checks if selected Contract has Promissory Note created. if (sales_invoice.app_contract.is_promissory) { payment_promissory_note payment_promissory_note = new payment_promissory_note(); //Dates. Transactional (based on Sales Trans) and Expiry (based on Exp of Payment)... payment_promissory_note.trans_date = sales_invoice.trans_date; payment_promissory_note.expiry_date = sales_invoice.trans_date.AddDays(app_contract_detail.interval); //Navigational Properties... payment_promissory_note.id_branch = sales_invoice.id_branch; payment_promissory_note.id_terminal = sales_invoice.id_terminal; payment_promissory_note.id_company = sales_invoice.id_company; payment_promissory_note.id_contact = sales_invoice.id_contact; //Values... payment_promissory_note.value = sales_invoice.GrandTotal * app_contract_detail.coefficient; payment_promissory_note.id_currencyfx = sales_invoice.id_currencyfx; payment_promissory_note.status = entity.Status.Documents.Pending; //Create Payment to control the Promissory Note as Non-Calculated. payment_schedual payment_schedual_promise = new payment_schedual(); //Debit Credit payment_schedual_promise.credit = 0; payment_schedual_promise.debit = sales_invoice.GrandTotal * app_contract_detail.coefficient; //Nav Properties payment_schedual_promise.id_contact = sales_invoice.id_contact; payment_schedual_promise.id_currencyfx = sales_invoice.id_currencyfx; payment_schedual_promise.sales_invoice = sales_invoice; //Date payment_schedual_promise.trans_date = sales_invoice.trans_date; payment_schedual_promise.expire_date = sales_invoice.trans_date.AddDays(app_contract_detail.interval); payment_schedual_promise.can_calculate = false; //Pending so that we can Approve while Printing. payment_schedual_promise.status = entity.Status.Documents_General.Pending; //Adding Payment Schedual into PromissoryNote payment_promissory_note.payment_schedual.Add(payment_schedual_promise); payment_promissory_noteLIST.Add(payment_promissory_note); } } return(payment_schedualList); } //SALES RETURN else if (obj_entity as sales_return != null) { sales_return sales_return = (sales_return)obj_entity; payment_schedual payment_schedual = new payment_schedual(); payment_schedual.debit = sales_return.GrandTotal; payment_schedual.credit = 0; payment_schedual.id_currencyfx = sales_return.id_currencyfx; payment_schedual.sales_return = sales_return; payment_schedual.trans_date = sales_return.trans_date; payment_schedual.expire_date = sales_return.trans_date; payment_schedual.status = entity.Status.Documents_General.Approved; payment_schedual.id_contact = sales_return.id_contact; payment_schedual.can_calculate = false; payment_schedualList.Add(payment_schedual); return(payment_schedualList); } //PURCHASE RETURN else if (obj_entity as purchase_return != null) { purchase_return purchase_return = (purchase_return)obj_entity; payment_schedual payment_schedual = new payment_schedual(); payment_schedual.credit = purchase_return.GrandTotal; payment_schedual.debit = 0; payment_schedual.id_currencyfx = purchase_return.id_currencyfx; payment_schedual.purchase_return = purchase_return; payment_schedual.trans_date = purchase_return.trans_date; payment_schedual.expire_date = purchase_return.trans_date; payment_schedual.status = entity.Status.Documents_General.Approved; payment_schedual.id_contact = purchase_return.id_contact; payment_schedual.can_calculate = false; payment_schedualList.Add(payment_schedual); return(payment_schedualList); } //SALES ORDER else if (obj_entity as sales_order != null) { sales_order sales_order = (sales_order)obj_entity; foreach (app_contract_detail app_contract_detail in sales_order.app_contract.app_contract_detail.Where(x => x.is_order)) { payment_schedual payment_schedual = new payment_schedual(); payment_schedual.credit = 0; payment_schedual.debit = sales_order.GrandTotal * app_contract_detail.coefficient; payment_schedual.id_currencyfx = sales_order.id_currencyfx; payment_schedual.sales_order = sales_order; payment_schedual.trans_date = sales_order.trans_date; payment_schedual.expire_date = sales_order.trans_date.AddDays(app_contract_detail.interval); payment_schedual.status = entity.Status.Documents_General.Approved; payment_schedual.id_contact = sales_order.id_contact; payment_schedualList.Add(payment_schedual); } return(payment_schedualList); } //PURCHASE INVOICE else if (obj_entity as purchase_invoice != null) { purchase_invoice purchase_invoice = (purchase_invoice)obj_entity; foreach (app_contract_detail app_contract_detail in purchase_invoice.app_contract.app_contract_detail.Where(x => x.is_order == false)) { payment_schedual payment_schedual = new payment_schedual(); payment_schedual.credit = purchase_invoice.GrandTotal * app_contract_detail.coefficient; payment_schedual.debit = 0; payment_schedual.id_currencyfx = purchase_invoice.id_currencyfx; payment_schedual.purchase_invoice = purchase_invoice; payment_schedual.trans_date = purchase_invoice.trans_date; payment_schedual.expire_date = purchase_invoice.trans_date.AddDays(app_contract_detail.interval); payment_schedual.status = entity.Status.Documents_General.Pending; payment_schedual.id_contact = purchase_invoice.id_contact; payment_schedualList.Add(payment_schedual); } return(payment_schedualList); } //PURCHASE ORDER else if (obj_entity as purchase_order != null) { purchase_order purchase_order = (purchase_order)obj_entity; foreach (app_contract_detail app_contract_detail in purchase_order.app_contract.app_contract_detail.Where(x => x.is_order)) { payment_schedual payment_schedual = new payment_schedual(); payment_schedual.credit = purchase_order.GrandTotal * app_contract_detail.coefficient; payment_schedual.debit = 0; payment_schedual.id_currencyfx = purchase_order.id_currencyfx; payment_schedual.purchase_order = purchase_order; payment_schedual.trans_date = purchase_order.trans_date; payment_schedual.expire_date = purchase_order.trans_date.AddDays(app_contract_detail.interval); payment_schedual.status = entity.Status.Documents_General.Pending; payment_schedual.id_contact = purchase_order.id_contact; payment_schedualList.Add(payment_schedual); } return(payment_schedualList); } return(null); }
public void salesReturn() { string sql = " SELECT " + " DEVOLUCION.CODDEVOLUCION," + " CLIENTES.NOMBRE," + " VENTAS.NUMVENTA," + " DEVOLUCION.CODCOMPROBANTE," + " DEVOLUCION.CODVENTA," + " DEVOLUCION.NUMDEVOLUCION," + " DEVOLUCION.FECHADEVOLUCION, " + " DEVOLUCION.TOTALEXENTA," + " DEVOLUCION.TOTALGRAVADA," + " DEVOLUCION.TOTALIVA," + " DEVOLUCION.TOTALDEVOLUCION," + " DEVOLUCION.COTIZACION1," + " DEVOLUCION.FECGRA," + " DEVOLUCION.CODVENDEDOR, " + " DEVOLUCION.CODCOMPROBANTERECP," + " DEVOLUCION.COBRADO," + " DEVOLUCION.CODDEPOSITO," + " DEVOLUCION.ESTADO," + " DEVOLUCION.MOTIVOANULADO," + " DEVOLUCION.MOTIVODESCARTE, " + " DEVOLUCION.TOTALIVA5," + " DEVOLUCION.TOTALIVA10," + " DEVOLUCION.TIPODEVOLUCION," + " DEVOLUCION.DESCONTARMONTO," + " MONEDA.DESMONEDA," + " SUCURSAL.DESSUCURSAL," + " DEVOLUCION.SALDO, " + " VENDEDOR.DESVENDEDOR" + " FROM DEVOLUCION INNER JOIN" + " CLIENTES ON DEVOLUCION.CODCLIENTE = CLIENTES.CODCLIENTE INNER JOIN" + " MONEDA ON DEVOLUCION.CODMONEDA = MONEDA.CODMONEDA INNER JOIN" + " SUCURSAL ON DEVOLUCION.CODSUCURSAL = SUCURSAL.CODSUCURSAL LEFT OUTER JOIN" + " VENDEDOR ON DEVOLUCION.CODVENDEDOR = VENDEDOR.CODVENDEDOR LEFT OUTER JOIN" + " VENTAS ON CLIENTES.CODCLIENTE = VENTAS.CODCLIENTE AND DEVOLUCION.CODVENTA = VENTAS.CODVENTA "; SqlConnection conn = new SqlConnection(_connString); //Counts Total number of Rows we have to process SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); cmd.CommandText = "SELECT COUNT(*) FROM DEVOLUCION "; cmd.CommandType = CommandType.Text; int count = (int)cmd.ExecuteScalar(); conn.Close(); int value = 0; Dispatcher.BeginInvoke((Action)(() => salesReturnMaximum.Text = count.ToString())); Dispatcher.BeginInvoke((Action)(() => salesReturnValue.Text = value.ToString())); Dispatcher.BeginInvoke((Action)(() => progSalesReturn.Maximum = count)); Dispatcher.BeginInvoke((Action)(() => progSalesReturn.Value = value)); cmd = new SqlCommand(sql, conn); conn.Open(); cmd.CommandType = CommandType.Text; //SqlDataReader reader = cmd.ExecuteReader(); DataTable dt_salesReturn = exeDT(sql); foreach (DataRow reader in dt_salesReturn.Rows) { using (SalesReturnDB db = new SalesReturnDB()) { db.Configuration.AutoDetectChangesEnabled = false; sales_return sales_return = db.New(); sales_return.id_company = id_company; //if ((reader[6] is DBNull)) //{ // sales_invoice.is_accounted = false; //} //else //{ // sales_invoice.is_accounted = (Convert.ToByte(reader[23]) == 0) ? false : true; //} //sales_invoice.version = 1; sales_return.number = (reader["NUMDEVOLUCION"] is DBNull) ? null : reader["NUMDEVOLUCION"].ToString(); sales_return.trans_date = Convert.ToDateTime(reader["FECHADEVOLUCION"]); //Customer if (!(reader["NOMBRE"] is DBNull)) { string _customer = reader["NOMBRE"].ToString(); contact contact = db.contacts.Where(x => x.name == _customer && x.id_company == id_company).FirstOrDefault(); if (contact != null) { sales_return.id_contact = contact.id_contact; sales_return.contact = contact; } } //Condition (Cash or Credit) app_condition app_condition = db.app_condition.Where(x => x.name == "Contado").FirstOrDefault(); sales_return.id_condition = app_condition.id_condition; if (db.app_contract.Where(x => x.name == "0 Días").Count() == 0) { app_contract app_contract = GenerateDefaultContrat(app_condition, 0); db.app_contract.Add(app_contract); sales_return.app_contract = app_contract; sales_return.id_contract = app_contract.id_contract; } else { app_contract app_contract = db.app_contract.Where(x => x.name == "0 Días").FirstOrDefault(); sales_return.app_contract = app_contract; sales_return.id_contract = app_contract.id_contract; } int id_location = 0; app_location app_location = null; //Branch if (!(reader["DESSUCURSAL"] is DBNull)) { //Branch string _branch = reader["DESSUCURSAL"].ToString(); app_branch app_branch = db.app_branch.Where(x => x.name == _branch && x.id_company == id_company).FirstOrDefault(); sales_return.id_branch = app_branch.id_branch; //Location id_location = db.app_location.Where(x => x.id_branch == app_branch.id_branch && x.is_default).FirstOrDefault().id_location; app_location = db.app_location.Where(x => x.id_branch == app_branch.id_branch && x.is_default).FirstOrDefault(); //Terminal sales_return.id_terminal = db.app_terminal.Where(x => x.app_branch.id_branch == app_branch.id_branch).FirstOrDefault().id_terminal; } if (!(reader["NUMVENTA"] is DBNull)) { string _salesNumber = reader["NUMVENTA"].ToString(); sales_invoice sales_invoice = db.sales_invoice.Where(x => x.number == _salesNumber).FirstOrDefault(); sales_return.id_sales_invoice = sales_invoice.id_sales_invoice; // sales_return.sales_invoice = sales_invoice; } string _desMoneda = string.Empty; //Sales Invoice Detail string sqlDetail = "SELECT" + " dbo.PRODUCTOS.DESPRODUCTO," //0 + " dbo.DEVOLUCIONDETALLE.CANTIDADDEVUELTA," //1 + " dbo.DEVOLUCIONDETALLE.PRECIONETO, " //2 + " dbo.DEVOLUCIONDETALLE.COSTOPROMEDIO, " //4 + " dbo.DEVOLUCIONDETALLE.COSTOULTIMO, " //5 + " dbo.DEVOLUCIONDETALLE.IVA, " //6 + " dbo.DEVOLUCION.COTIZACION1 " //6 + " FROM dbo.DEVOLUCION LEFT OUTER JOIN" + " dbo.DEVOLUCIONDETALLE ON dbo.DEVOLUCION.CODDEVOLUCION = dbo.DEVOLUCIONDETALLE.CODDEVOLUCION LEFT OUTER JOIN" + " dbo.PRODUCTOS ON dbo.DEVOLUCIONDETALLE.CODPRODUCTO = dbo.PRODUCTOS.CODPRODUCTO" + " WHERE (dbo.DEVOLUCIONDETALLE.CODDEVOLUCION = " + reader["CODDEVOLUCION"].ToString() + ")"; DataTable dt = exeDT(sqlDetail); foreach (DataRow row in dt.Rows) { //db Related Insertion. sales_return.id_currencyfx = db.app_currencyfx.Where(x => x.is_active).FirstOrDefault().id_currencyfx; sales_return.app_currencyfx = db.app_currencyfx.Where(x => x.is_active).FirstOrDefault(); sales_return_detail sales_return_detail = new sales_return_detail(); string _prod_Name = row["DESPRODUCTO"].ToString(); item item = db.items.Where(x => x.name == _prod_Name && x.id_company == id_company).FirstOrDefault(); if (item != null) { sales_return_detail.id_item = item.id_item; } else { value += 1; Dispatcher.BeginInvoke((Action)(() => progSalesReturn.Value = value)); Dispatcher.BeginInvoke((Action)(() => salesReturnValue.Text = value.ToString())); continue; } sales_return_detail.id_item = item.id_item; sales_return_detail.quantity = Convert.ToDecimal(row["CANTIDADDEVUELTA"]); sales_return_detail.id_location = id_location; sales_return_detail.app_location = app_location; string _iva = row["IVA"].ToString(); if (_iva == "10.00") { sales_return_detail.id_vat_group = db.app_vat_group.Where(x => x.name == "10%").FirstOrDefault().id_vat_group; } else if (_iva == "5.00") { sales_return_detail.id_vat_group = db.app_vat_group.Where(x => x.name == "5%").FirstOrDefault().id_vat_group; } else { if (db.app_vat_group.Where(x => x.name == "Excento").FirstOrDefault() != null) { sales_return_detail.id_vat_group = db.app_vat_group.Where(x => x.name == "Excento").FirstOrDefault().id_vat_group; } } decimal cotiz1 = Convert.ToDecimal((row["COTIZACION1"] is DBNull) ? 1 : Convert.ToDecimal(row["COTIZACION1"])); sales_return_detail.unit_price = (Convert.ToDecimal(row["PRECIONETO"]) / sales_return_detail.quantity) / cotiz1; if (!(row["COSTOPROMEDIO"] is DBNull)) { sales_return_detail.unit_cost = Convert.ToDecimal(row["COSTOPROMEDIO"]); } //Commit Sales Invoice Detail sales_return.sales_return_detail.Add(sales_return_detail); } sales_return.return_type = Status.ReturnTypes.Bonus; if (sales_return.Error == null) { sales_return.State = System.Data.Entity.EntityState.Added; sales_return.IsSelected = true; db.sales_return.Add(sales_return); try { db.SaveChanges(); } catch (Exception ex) { throw ex; } if (!(reader["ESTADO"] is DBNull)) { int status = Convert.ToInt32(reader["ESTADO"]); if (status == 0) { sales_return.status = Status.Documents_General.Pending; if (!(reader[11] is DBNull)) { sales_return.comment = reader[11].ToString(); } } else if (status == 1) { sales_return.status = Status.Documents_General.Approved; if (!(reader[11] is DBNull)) { sales_return.comment = reader[11].ToString(); } db.Approve(); } else if (status == 2) { sales_return.status = Status.Documents_General.Annulled; if (!(reader[11] is DBNull)) { sales_return.comment = reader[11].ToString(); } db.Approve(); db.Anull(); } } value += 1; Dispatcher.BeginInvoke((Action)(() => progSalesReturn.Value = value)); Dispatcher.BeginInvoke((Action)(() => salesReturnValue.Text = value.ToString())); } else { //Add code to include error contacts into sales_return_ErrorList.Add(sales_return); } } } // reader.Close(); //cmd.Dispose(); conn.Close(); //_customer_Current = _customer_Max; }
public void SalesInvoice_Click(object sender) { sales_return _sales_return = (sales_return)salesReturnViewSource.View.CurrentItem; if (_sales_return != null) { sbxContact.Text = pnlSalesInvoice.selected_sales_invoice.FirstOrDefault().contact.name; foreach (sales_invoice sales_invoice in pnlSalesInvoice.selected_sales_invoice) { _sales_return.State = EntityState.Modified; _sales_return.id_condition = sales_invoice.id_condition; _sales_return.id_contract = sales_invoice.id_contract; _sales_return.id_currencyfx = sales_invoice.id_currencyfx; _sales_return.id_sales_invoice = sales_invoice.id_sales_invoice; contact contact = SalesReturnDB.contacts.Where(x => x.id_contact == sales_invoice.id_contact).FirstOrDefault(); _sales_return.id_contact = contact.id_contact; _sales_return.contact = contact; sbxContact.Text = contact.name; foreach (sales_invoice_detail _sales_invoice_detail in sales_invoice.sales_invoice_detail) { if (_sales_return.sales_return_detail.Where(x => x.id_item == _sales_invoice_detail.id_item).Count() == 0) { sales_return_detail sales_return_detail = new sales_return_detail(); sales_return_detail.id_sales_invoice_detail = _sales_invoice_detail.id_sales_invoice_detail; if (SalesReturnDB.sales_invoice_detail.Where(x => x.id_sales_invoice_detail == _sales_invoice_detail.id_sales_invoice_detail).FirstOrDefault() != null) { sales_return_detail.sales_invoice_detail = SalesReturnDB.sales_invoice_detail.Where(x => x.id_sales_invoice_detail == _sales_invoice_detail.id_sales_invoice_detail).FirstOrDefault(); } sales_return_detail.sales_return = _sales_return; if (SalesReturnDB.items.Where(x => x.id_item == _sales_invoice_detail.id_item).FirstOrDefault() != null) { sales_return_detail.item = SalesReturnDB.items.Where(x => x.id_item == _sales_invoice_detail.id_item).FirstOrDefault(); sales_return_detail.item_description = _sales_invoice_detail.item_description; } sales_return_detail.id_item = _sales_invoice_detail.id_item; sales_return_detail.quantity = _sales_invoice_detail.quantity - SalesReturnDB.sales_return_detail .Where(x => x.id_sales_invoice_detail == _sales_invoice_detail.id_sales_invoice_detail) .GroupBy(x => x.id_sales_invoice_detail).Select(x => x.Sum(y => y.quantity)).FirstOrDefault(); sales_return_detail.id_vat_group = _sales_invoice_detail.id_vat_group; sales_return_detail.unit_price = _sales_invoice_detail.unit_price; sales_return_detail.CurrencyFX_ID = _sales_return.id_currencyfx; _sales_return.sales_return_detail.Add(sales_return_detail); } SalesReturnDB.Entry(_sales_return).Entity.State = EntityState.Added; crud_modal.Children.Clear(); crud_modal.Visibility = Visibility.Collapsed; salesReturnViewSource.View.Refresh(); sales_returnsales_return_detailViewSource.View.Refresh(); } } } }
//Sales return public void Document_PrintSalesReturn(int document_id, sales_return sales_return) { app_document app_document; using (db db = new db()) { app_document = db.app_document.Where(x => x.id_document == document_id).FirstOrDefault(); } if (app_document != null) { if (app_document.style_reciept == true) { String header = app_document.reciept_header; string Mainheader = ""; foreach (sales_return_detail sales_return_detail in sales_return.sales_return_detail) { Mainheader += header.Replace("<<item>>", sales_return_detail.item.name); Mainheader += header.Replace("<<Location>>", sales_return_detail.app_location.name); Mainheader += header.Replace("<<debit>>", sales_return_detail.quantity.ToString()); Mainheader += header.Replace("<<Credit>>", "0"); Mainheader += header.Replace("<<Transcation>>", sales_return.trans_date.ToString()); Mainheader += "\n"; } String footer = app_document.reciept_footer; string Mainfooter = ""; foreach (sales_return_detail sales_return_detail in sales_return.sales_return_detail) { Mainfooter += footer.Replace("<<item>>", sales_return_detail.item.name); Mainfooter += footer.Replace("<<Location>>", sales_return_detail.app_location.name); Mainfooter += footer.Replace("<<debit>>", sales_return_detail.quantity.ToString()); Mainfooter += footer.Replace("<<Credit>>", "0"); Mainfooter += footer.Replace("<<Transcation>>", sales_return.trans_date.ToString()); Mainfooter += "\n"; } String body = app_document.reciept_body; string Mainbody = ""; foreach (sales_return_detail sales_return_detail in sales_return.sales_return_detail) { Mainbody += body.Replace("<<item>>", sales_return_detail.item.name); Mainbody += body.Replace("<<Location>>", sales_return_detail.app_location.name); Mainbody += body.Replace("<<debit>>", sales_return_detail.quantity.ToString()); Mainbody += body.Replace("<<Credit>>", "0"); Mainbody += body.Replace("<<Transcation>>", sales_return.trans_date.ToString()); Mainbody += "\n"; } PrintDialog pd = new PrintDialog(); FlowDocument doc = new FlowDocument(new Paragraph(new Run(Mainheader + "\n\n" + Mainbody + "\n\n" + Mainfooter))); doc.Name = "FlowDoc"; IDocumentPaginatorSource idpSource = doc; pd.PrintDocument(idpSource.DocumentPaginator, Mainheader + "\n\n" + Mainbody + "\n\n" + Mainfooter); } else if (app_document.style_printer == true) { if (sales_return.app_document_range.printer_name != null) { DocumentViewr MainWindow = new DocumentViewr(); MainWindow.loadSalesReturnReport(sales_return.id_sales_return); } else { DocumentViewr MainWindow = new DocumentViewr(); MainWindow.loadSalesReturnReport(sales_return.id_sales_return); Window window = new Window { Title = "Report", Content = MainWindow }; window.ShowDialog(); } } } }
public string SalesReturn(sales_return sales_return) { string Header = string.Empty; string Detail = string.Empty; string Footer = string.Empty; string CompanyName = string.Empty; app_company app_company = null; if (sales_return.app_company != null) { CompanyName = sales_return.app_company.name; } else { using (db db = new db()) { if (db.app_company.Where(x => x.id_company == sales_return.id_company).FirstOrDefault() != null) { app_company = db.app_company.Where(x => x.id_company == sales_return.id_company).FirstOrDefault(); CompanyName = app_company.name; } } } string UserGiven = ""; if (sales_return.security_user != null) { UserGiven = sales_return.security_user.name; } else { using (db db = new db()) { if (db.security_user.Where(x => x.id_user == sales_return.id_user).FirstOrDefault() != null) { security_user security_user = db.security_user.Where(x => x.id_user == sales_return.id_user).FirstOrDefault(); UserGiven = security_user.name; } } } string TransNumber = sales_return.number; DateTime TransDate = sales_return.trans_date; string BranchName = sales_return.app_branch.name; Header = CompanyName + "\n" + "RUC:" + app_company.gov_code + "\n" + app_company.address + "\n" + "***" + app_company.alias + "***" + "\n" + "Timbrado: " + sales_return.app_document_range.code + " Vto: " + sales_return.app_document_range.expire_date + "\n" + "--------------------------------" + "Descripcion, Cantiad, Precio" + "\n" + "--------------------------------" + "\n" + "\n"; foreach (sales_return_detail d in sales_return.sales_return_detail) { string ItemName = d.item.name; string ItemCode = d.item.code; decimal?Qty = d.quantity; string TaskName = d.item_description; decimal?UnitPrice_Vat = Math.Round(d.UnitPrice_Vat, 2); Detail = Detail + ItemName + "\n" + Qty.ToString() + "\t" + ItemCode + "\t" + UnitPrice_Vat + "\n"; } Footer = "--------------------------------" + "\n"; Footer += "Total " + sales_return.app_currencyfx.app_currency.name + ": " + sales_return.GrandTotal + "\n"; Footer += "Fecha & Hora: " + sales_return.trans_date + "\n"; Footer += "Numero de Factura: " + sales_return.number + "\n"; Footer += "-------------------------------" + "\n"; if (sales_return != null) { List <sales_return_detail> sales_return_detail = sales_return.sales_return_detail.ToList(); if (sales_return_detail.Count > 0) { using (db db = new db()) { var listvat = sales_return_detail .Join(db.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 { vatname = g.Key.ad.app_vat_group.name, id_vat = g.Key.id_vat, name = g.Key.name, value = g.Sum(a => a.value * a.ad.quantity) }).ToList(); var VAtList = listvat.GroupBy(x => x.id_vat).Select(g => new { vatname = g.Max(y => y.vatname), id_vat = g.Max(y => y.id_vat), name = g.Max(y => y.name), value = g.Sum(a => a.value) }).ToList(); foreach (dynamic item in VAtList) { Footer += item.vatname + " : " + Math.Round(item.value, 2) + "\n"; } Footer += "Total IVA: " + sales_return.app_currencyfx.app_currency.name + " " + Math.Round(VAtList.Sum(x => x.value), 2) + "\n"; } } } Footer += "-------------------------------"; Footer += "Cliente : " + sales_return.contact.name + "\n"; Footer += "Documento : " + sales_return.contact.gov_code + "\n"; Footer += "Condicion : " + sales_return.app_condition.name + "\n"; Footer += "-------------------------------"; Footer += "Sucursal : " + sales_return.app_branch.name + " Terminal: " + sales_return.app_terminal.name + "\n"; Footer += "Cajero/a : " + UserGiven; string Text = Header + Detail + Footer; return(Text); }