private void buttonNuevoPago_Click(object sender, RoutedEventArgs e) { Pago ultimoPago = socio.Pagos.OrderByDescending(p => p.MesPago).FirstOrDefault(); bool?actualizar = new PagoWindow(socio, ultimoPago, null).ShowDialog(); if (actualizar.HasValue && actualizar.Value) { try { socio = SociosHandler.Instancia.ObtenerSocio(socio.Id); } catch (Exception ex) { MessageBox.Show("Ha ocurrido un error al cargar datos de socio.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); Logger.Log(ex.ToString()); } actualizarListaPagos(); Actualizar = true; } }
/// <summary> /// Deprecated Method for adding a new object to the Pagos EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToPagos(Pago pago) { base.AddObject("Pagos", pago); }
private void buttonIngresarPago_Click(object sender, RoutedEventArgs e) { // Chequeo de precondiciones List <string> advertencias = new List <string>(); if (string.IsNullOrEmpty(dtpMesPago.Text) || !dtpMesPago.Value.HasValue) { advertencias.Add("Debe seleccionar mes de pago."); } if (string.IsNullOrEmpty(dtpFechaIngreso.Text) || !dtpFechaIngreso.Value.HasValue) { advertencias.Add("Debe seleccionar fecha de ingreso."); } if (listMontos.SelectedItems.Count == 0) { advertencias.Add("Debe seleccionar al menos una disciplina."); } // Mensaje de Alto if (advertencias.Count > 0) { System.Windows.MessageBox.Show(string.Join("\n", advertencias), "Alto", MessageBoxButton.OK, MessageBoxImage.Stop); return; } advertencias = new List <string>(); // No se selecciono alguna de las disciplinas if (listMontos.SelectedItems.Count < listMontos.Items.Count) { advertencias.Add("No se han seleccionado todas las disciplinas."); } // Uno de los montos a pagar es igual a 0 foreach (Monto mon in listMontos.SelectedItems) { if (mon.MontoParcial == 0) { advertencias.Add("El valor de uno de los montos es $U 0,00."); break; } } // No se registraron pagos en el mes anterior para alguna de las disciplinas if (ultimoPago != null) // Solo chequeo si es un socio con pagos ingresados { String dsc = SociosHandler.Instancia.SocioNoPagoDscMesAnterior(socio.Id, dtpMesPago.Value.Value); if (dsc != null) { advertencias.Add("No se registran pagos en el mes pasado para la disciplina " + dsc + "."); } } MessageBoxResult response = MessageBoxResult.Yes; // Mensaje de Confirmación if (advertencias.Count > 0) { response = MessageBox.Show(string.Join("\n", advertencias) + "\n\n" + "Esta seguro que desea ingresar pago?", "Advertencia", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No); } if (response == MessageBoxResult.Yes) // Agrego el pago a la base { try { Pago nuevoPago = new Pago { SocioId = socio.Id, MesPago = dtpMesPago.Value.Value, MontoTotal = montoTotal, Fecha = dtpFechaIngreso.Value.Value }; PagosHandler.Instancia.AgregarPago(nuevoPago); foreach (Monto mon in listMontos.SelectedItems) { mon.PagoId = nuevoPago.Id; mon.Disciplina = null; PagosHandler.Instancia.AgregarMonto(mon); } // Una vez agregado el pago se actualiza la lista de pagos de la ficha del socio MessageBox.Show("El pago ha sido ingresado exitosamente", "Información", MessageBoxButton.OK, MessageBoxImage.Information); this.DialogResult = true; } catch (Exception ex) { MessageBox.Show("Ha ocurrido un error al ingresar pago.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); Logger.Log(ex.ToString()); } this.Close(); } }