/// <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();
        }
        /// <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)
            {
            }
        }
Beispiel #3
0
        /// <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)
        {
            SIGEEA_DiagramaDataContext dc = new SIGEEA_DiagramaDataContext();

            dc.SIGEEA_Cuotas.InsertOnSubmit(pCuota);
            dc.SubmitChanges();
        }
        /// <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();
        }
Beispiel #5
0
 public wnwRegistrarCuota(int pIdCuota)
 {
     InitializeComponent();
     if (pIdCuota != 0)
     {
         SIGEEA_DiagramaDataContext dc = new SIGEEA_DiagramaDataContext();
         SIGEEA_Cuota cuota            = dc.SIGEEA_Cuotas.First(c => c.PK_Id_Cuota == pIdCuota);
         txbNombre.Text    = cuota.Nombre_Cuota;
         txbMonto.Text     = cuota.Monto_Cuota.ToString();
         dtpFecInicio.Text = cuota.FecInicio_Cuota.ToString();
         dtpFecFin.Text    = cuota.FecFin_Cuota.ToString();
         ucMoneda.setMoneda(cuota.FK_Id_Moneda);
         pk_cuota = pIdCuota;
     }
 }
Beispiel #6
0
        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);
            }
        }
        /// <summary>
        /// Se realiza el pago de una cuota de asociado
        /// </summary>
        /// <param name="pCuotaAsociado"></param>
        /// <param name="pMonto"></param>
        /// <returns></returns>
        public bool RealizarPagoCuota(int pCuotaAsociado, double pMonto)
        {
            try
            {
                DataClasses1DataContext dc    = new DataClasses1DataContext();
                SIGEEA_Cuota_Asociado   cuota = dc.SIGEEA_Cuota_Asociados.First(c => c.PK_Id_Cuota_Asociado == pCuotaAsociado);
                double saldo = dc.SIGEEA_Cuota_Asociados.First(c => c.PK_Id_Cuota_Asociado == pCuotaAsociado).Saldo_Cuota_Asociado;
                cuota.Saldo_Cuota_Asociado = saldo - pMonto;
                if (cuota.Saldo_Cuota_Asociado <= 0)//Si el asociado ya terminó de cancelar la cuota
                {
                    SIGEEA_Cuota cuotaPrincipal = dc.SIGEEA_Cuotas.First(c => c.PK_Id_Cuota == cuota.FK_Id_Cuota);

                    cuota.Estado_Cuota_Asociado = true;
                    dc.SubmitChanges();
                    ActualizarCategoriaCuota(cuotaPrincipal, cuota.FK_Id_Asociado);
                }
                dc.SubmitChanges();
                return(true);
            }
            catch
            {
                return(false);
            }
        }