private void BtnInsertarVenta(object sender, RoutedEventArgs e) { if (OrdenPagareTextBox.Text != String.Empty) { int Cantidad = ViewModel.ExistPagare(OrdenPagareTextBox.Text); Console.WriteLine(Cantidad); if (Cantidad > 0) { MessageBoxResult result = MessageBox.Show("Esta Orden Pagare ya existe, revise nuevamente" + "", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { try { //Validando campos if (ViewModel.ListaProductosListadosDeUnaVenta.Count < 1) { MessageBoxResult result = MessageBox.Show("Por Favor ingrese almenos un producto a vender antes de agregar la venta" + "", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { if (TipoPagoComboBox.Text == String.Empty) { MessageBoxResult result = MessageBox.Show("Por Favor escriba el tipo de pago a la venta, si es de contado, o si es de crédito" + "", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { int contadorProductosGarantia = 0; //Haciendo un recorrido en la lista de productos, si algun producto tiene garantia, es necesario que se le asocie un cliente foreach (var i in ListaProductosDetallada) { if (i.GarantiaDisponible == "Si") { contadorProductosGarantia++; } } if (contadorProductosGarantia > 0 && cliente == null) { MessageBoxResult result = MessageBox.Show("Por Favor ingrese el cliente que desea comprar los productos, puesto que uno de los productos escogidos tiene Garantía" + "", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { //Finalmente agregamos var venta = new Venta() { Fecha_Venta = DateTime.Now, MontoVenta = TotalPago, Tipo_Venta = TipoPagoComboBox.Text, Especificaciones_producto = ListaProductosDetallada, Orden_Pagare = OrdenPagareTextBox.Text }; List <Pago> Pagos = new List <Pago>(); //Validamos que datos insertaremos según si es una venta al crédito o venta al contado if (TipoPagoComboBox.Text == "Crédito") { venta.VentaCompletada = "No"; } //Venta al contado else { venta.VentaCompletada = "Si"; var pago = new Pago { Venta = venta, Monto = TotalPago, Fecha_Pago = DateTime.Now }; venta.Pagos.Add(pago); } //Si el producto vendido tiene un cliente asociado if (ClienteTextBox.Text != string.Empty) { venta.Cliente = cliente; } //Finalmente agregamos la venta y actualizamos la pagina venta ViewModel.AddVenta(venta); EventoPaginacion(); MessageBoxResult result = MessageBox.Show("Se ha ingresado correctamente la venta", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); /* * if (MessageBox.Show("Se ha ingresado correctamente la venta, ¿desea seguir ingresando ventas?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No) * { * this.Close(); * } * else * { * CantidadTextBox.Text = String.Empty; * ProductoTextBox.Text = String.Empty; * PrecioFinalTextBox.Text = String.Empty; * TotalPago = 0; * cliente = null; * ClienteTextBox.Text = String.Empty; * TipoPagoComboBox.Text = String.Empty; * * PagosPanel.Visibility = Visibility.Hidden; * * ProductosList.Clear(); * * ViewModel.FillEspecificacionesProducts(); * } * */ } } } } catch { MessageBoxResult result = MessageBox.Show("Error al ingresar la venta, revise si todos los datos fueron escritos correctamente" + "", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } } else { MessageBoxResult result = MessageBox.Show("Inserte por favor la orden pagare" + "", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }