/// <summary>
        /// Actualiza la categoría del asociado que se basa en las asambleas
        /// </summary>
        /// <param name="pAsociado"></param>
        /// <param name="pEstado"></param>
        private void ActualizarCategoriaAsociacion(int pAsociado, int pEstado)
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();
            int calificacion           = 1;

            SIGEEA_Asociado asociado = dc.SIGEEA_Asociados.First(c => c.PK_Id_Asociado == pAsociado);

            /*List<SIGEEA_spObtenerInfoCategoriaAsocAsambleasResult> listaCantidad = dc.SIGEEA_spObtenerInfoCategoriaAsocAsambleas(pAsociado).ToList();
             * int cantidad = listaCantidad.Count();*/
            int    cantidad           = (int)dc.SIGEEA_spObtenerInfoCategoriaAsocAsambleas(pAsociado).First().Cantidad;
            double calificacionActual = dc.SIGEEA_CatAsociados.First(c => c.PK_Id_CatAsociado == asociado.FK_Id_CatAsociado).AsambleasProm_CatAsociado;

            if (pEstado == 3)
            {
                calificacion = 1;               //Ausencia injustificada
            }
            else if (pEstado == 2)
            {
                calificacion = 3;                    //Ausencia justificada
            }
            else if (pEstado == 1)
            {
                calificacion = 5;                    //Asistió
            }
            double calificacionNuevaTotal = ((cantidad) * calificacionActual) + calificacion;
            double calificacionNuevaFinal = calificacionNuevaTotal / (cantidad + 1);

            dc.SIGEEA_spActualizaCategoriaAsambleas(asociado.FK_Id_CatAsociado, calificacionNuevaFinal);
            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)
            {
            }
        }
        /// <summary>
        /// Eliminar asociado (cambia de estado).
        /// </summary>
        /// <param name="asociado"></param>

        public void EliminarAsociado(SIGEEA_Asociado asociado)
        {
            DataClasses1DataContext dc   = new DataClasses1DataContext();
            SIGEEA_Asociado         asoc = dc.SIGEEA_Asociados.First(c => c.PK_Id_Asociado == asociado.PK_Id_Asociado);

            asoc.Estado_Asociado = false;
            dc.SubmitChanges();
        }
        public SIGEEA_Asociado ObtenerAsociado(int pkAsociado)
        {
            SIGEEA_DiagramaDataContext dc       = new SIGEEA_DiagramaDataContext();
            SIGEEA_Asociado            asociado = new SIGEEA_Asociado();

            asociado = dc.SIGEEA_Asociados.First(c => c.PK_Id_Asociado == pkAsociado);
            return(asociado);
        }
Example #5
0
        private void BtnSiguiente_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ValidaCedula();
                if (cedValida == false || (cedValida == true && cedula == txbCedula.Text))
                {
                    if (tipoPersona == "Asociado")
                    {
                        RegistrarPersona();
                        if (editar == false)
                        {
                            AsociadoMantenimiento Asociado      = new AsociadoMantenimiento();
                            SIGEEA_Asociado       nuevoAsociado = new SIGEEA_Asociado();
                            nuevoAsociado.Estado_Asociado     = true;
                            nuevoAsociado.FK_Id_Representante = null;
                            nuevoAsociado.FecIngreso_Asociado = DateTime.Today;
                            nuevoAsociado.FK_Id_Empresa       = 1;
                            Asociado.RegistrarAsociado(nuevaPersona, nuevoAsociado);
                        }
                        else
                        {
                            nuevaPersona.PK_Id_Persona = pk_Persona;
                            PersonaMantenimiento Persona = new PersonaMantenimiento();
                            Persona.ModificarPersona(nuevaPersona);
                        }

                        MessageBox.Show("Su solicitud se ha concluido de manera correcta.");
                        this.Close();
                    }

                    else if (tipoPersona == "Empleado")
                    {
                        RegistrarPersona();
                        grdPersona.Visibility  = Visibility.Collapsed;
                        grdEmpleado.Visibility = Visibility.Visible;
                        grdCliente.Visibility  = Visibility.Collapsed;
                    }
                    else if (tipoPersona == "Cliente")
                    {
                        RegistrarPersona();
                        grdPersona.Visibility  = Visibility.Collapsed;
                        grdEmpleado.Visibility = Visibility.Collapsed;
                        grdCliente.Visibility  = Visibility.Visible;
                        listarCategorias();
                    }
                }
                else
                {
                    MessageBox.Show("Ya existe una persona registrada con es cédula");
                    txbCedula.Text = "";
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Debe ingresar la información de manera correcta.");
            }
        }
        /// <summary>
        /// Registrar Finca
        /// </summary>
        /// <param name="finca"></param>
        /// <param name="asociado"></param>
        /// <param name="direccion"></param>
        public int RegistrarFinca(SIGEEA_Finca finca, SIGEEA_Asociado asociado)
        {
            SIGEEA_DiagramaDataContext dc = new SIGEEA_DiagramaDataContext();

            finca.FK_Id_Asociado    = asociado.PK_Id_Asociado;
            finca.FecRegistro_Finca = DateTime.Now;
            finca.FK_Id_Direccion   = null;
            dc.SIGEEA_Fincas.InsertOnSubmit(finca);
            dc.SubmitChanges();
            return(finca.PK_Id_Finca);
        }
        /// <summary>
        /// Registrar asociado (se registra primero la persona y luego el asociado)
        /// </summary>
        /// <param name="persona"></param>
        /// <param name="asociado"></param>
        public void RegistrarAsociado(SIGEEA_Persona persona, SIGEEA_Asociado asociado)
        {
            try
            {
                DataClasses1DataContext dc           = new DataClasses1DataContext();
                PersonaMantenimiento    nuevaPersona = new PersonaMantenimiento();
                nuevaPersona.RegistrarPersona(persona);
                asociado.FK_Id_Persona     = persona.PK_Id_Persona;
                asociado.Codigo_Asociado   = "F";
                asociado.FK_Id_CatAsociado = null;
                dc.SIGEEA_Asociados.InsertOnSubmit(asociado);
                dc.SubmitChanges();

                string codigoAsociado = "F" + asociado.PK_Id_Asociado.ToString() + persona.PriNombre_Persona[0] + persona.PriApellido_Persona[0] + persona.SegApellido_Persona[0];

                dc.SIGEEA_spCodigoAsociado(asociado.PK_Id_Asociado, codigoAsociado);
                dc.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error:" + ex.Message);
            }
        }