private void btnGuardar_Click(object sender, RoutedEventArgs e) { try { ValidacionesMantenimiento validacion = new ValidacionesMantenimiento(); bool valido = true; foreach (TextBox txb in grdValidar.Children) { BrushConverter bc = new BrushConverter(); txb.Foreground = (Brush)bc.ConvertFrom("#FF000000"); if (validacion.Validar(txb.Text, Convert.ToInt32(txb.Tag)) == false) { valido = false; txb.Foreground = (Brush)bc.ConvertFrom("#FFFF0404"); } } if (valido == true) { SIGEEA_Cuota cuota = new SIGEEA_Cuota(); AsociadoMantenimiento asociado = new AsociadoMantenimiento(); cuota.Nombre_Cuota = txbNombre.Text; cuota.Monto_Cuota = Convert.ToDouble(txbMonto.Text); cuota.FecInicio_Cuota = dtpFecInicio.SelectedDate.Value; cuota.FecFin_Cuota = dtpFecFin.SelectedDate.Value; cuota.FK_Id_Moneda = ucMoneda.getMoneda(); if (pk_cuota == 0) asociado.RegistrarCuota(cuota); else { cuota.PK_Id_Cuota = pk_cuota; asociado.EditarCuota(cuota); } MessageBox.Show("La cuota se ha registrado con éxito.", "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } else { throw new System.ArgumentException("Los datos ingresados no coinciden con los formatos requeridos."); } } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Error); } }
partial void DeleteSIGEEA_Cuota(SIGEEA_Cuota instance);
partial void UpdateSIGEEA_Cuota(SIGEEA_Cuota instance);
partial void InsertSIGEEA_Cuota(SIGEEA_Cuota instance);
/// <summary> /// Actualiza la categoría del asociado con respecto a las cuotas /// </summary> /// <param name="pCuota"></param> /// <param name="pAsociado"></param> private void ActualizarCategoriaCuota(SIGEEA_Cuota pCuota, int pAsociado) { try { DataClasses1DataContext dc = new DataClasses1DataContext(); int calificacion; SIGEEA_Asociado asociado = dc.SIGEEA_Asociados.First(c => c.PK_Id_Asociado == pAsociado); List<SIGEEA_spObtenerInfoCategoriaAsocCuotasResult> lista = dc.SIGEEA_spObtenerInfoCategoriaAsocCuotas(pAsociado).ToList(); double calificacionActual = dc.SIGEEA_CatAsociados.First(c => c.PK_Id_CatAsociado == asociado.FK_Id_CatAsociado).CuotasProm_CatAsociado; if (DateTime.Now > pCuota.FecFin_Cuota) calificacion = 1; //Si ya se pasó la fecha de pago else if (DateTime.Now == pCuota.FecFin_Cuota) calificacion = 3; //Si hoy es el día de pago else calificacion = 5; //Si va a pagar con antelación int cantidadPagos = lista.Count(); double calificacionNuevaTotal = ((cantidadPagos - 1) * calificacionActual) + calificacion; double calificacionNuevaFinal = calificacionNuevaTotal / cantidadPagos; dc.SIGEEA_spActualizaCategoriaCuotas(asociado.FK_Id_CatAsociado, calificacionNuevaFinal); dc.SubmitChanges(); } catch (Exception ex) { } }
/// <summary> /// Edita la información de una cuota existente /// </summary> /// <param name="pCuota"></param> public void EditarCuota(SIGEEA_Cuota pCuota) { DataClasses1DataContext dc = new DataClasses1DataContext(); SIGEEA_Cuota cuota = dc.SIGEEA_Cuotas.First(c => c.PK_Id_Cuota == pCuota.PK_Id_Cuota); cuota.Monto_Cuota = pCuota.Monto_Cuota; cuota.FecFin_Cuota = pCuota.FecFin_Cuota; cuota.FecInicio_Cuota = pCuota.FecInicio_Cuota; cuota.FK_Id_Moneda = pCuota.FK_Id_Moneda; cuota.Nombre_Cuota = pCuota.Nombre_Cuota; dc.SubmitChanges(); }
/// <summary> /// Registra una nueva cuota a pagar por el asociado, automáticamente se ejecuta /// un trigger en la base de datos que le asigna de manera automática a cada asociado /// activo el pago pendiente de la misma. /// </summary> /// <param name="pCuota"></param> public void RegistrarCuota(SIGEEA_Cuota pCuota) { DataClasses1DataContext dc = new DataClasses1DataContext(); dc.SIGEEA_Cuotas.InsertOnSubmit(pCuota); dc.SubmitChanges(); }