Exemple #1
0
 public void SetDatosAval()
 {
     try{
         SociosLogic     logica     = new SociosLogic();
         AportacionLogic aportacion = new AportacionLogic();
         if (EditAvalId.Text != "")
         {
             SolicitudesLogic solicitud = new SolicitudesLogic();
             EditAvalAntiguedad.Text = logica.Antiguedad(EditAvalId.Text);
             string avalNombreCompleto = solicitud.getAvalNombreCompleto(EditAvalId.Text);
             EditAvalNombre.Text       = avalNombreCompleto;
             EditAvalAportaciones.Text = aportacion.GetSaldoTotalAportacionesXSocio(EditAvalId.Text).ToString();
         }
     }
     catch (Exception ex)
     {
         log.Fatal("Error fatal al cargar datos del aval.", ex);
         throw;
     }
 }
        /*
         *                  -----Flujo-----
         * --------Guardar Hoja de Liquidación--------
         *      guardar datos de hoja de liquidación
         *
         * --------Cambiar Estado Actual de Socio--------
         * --------Cambiar Estado Aportación ordinaria anual de Socio--------
         * --------Cambiar Estado Aportación extraordinaria anual de Socio--------
         * --------Calcular de deducciones--------
         * --------Modificar Inventario de Café--------
         * --------Modificar Aportaciones de Socio--------
         */
        /// <summary>
        /// Inserta la hoja de liquidación.
        /// </summary>
        /// <param name="LIQUIDACIONES_ID"></param>
        /// <param name="SOCIOS_ID"></param>
        /// <param name="SOCIOS_PRIMER_NOMBRE"></param>
        /// <param name="SOCIOS_SEGUNDO_NOMBRE"></param>
        /// <param name="SOCIOS_PRIMER_APELLIDO"></param>
        /// <param name="SOCIOS_SEGUNDO_APELLIDO"></param>
        /// <param name="LIQUIDACIONES_FECHA"></param>
        /// <param name="FECHA_DESDE"></param>
        /// <param name="FECHA_HASTA"></param>
        /// <param name="CLASIFICACIONES_CAFE_ID"></param>
        /// <param name="CLASIFICACIONES_CAFE_NOMBRE"></param>
        /// <param name="LIQUIDACIONES_TOTAL_LIBRAS"></param>
        /// <param name="LIQUIDACIONES_PRECIO_LIBRAS"></param>
        /// <param name="LIQUIDACIONES_VALOR_TOTAL"></param>
        /// <param name="LIQUIDACIONES_D_CUOTA_INGRESO"></param>
        /// <param name="LIQUIDACIONES_D_GASTOS_ADMIN"></param>
        /// <param name="LIQUIDACIONES_D_APORTACION_ORDINARIO"></param>
        /// <param name="LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA"></param>
        /// <param name="LIQUIDACIONES_D_CAPITALIZACION_RETENCION"></param>
        /// <param name="LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD"></param>
        /// <param name="LIQUIDACIONES_D_INTERESES_S_APORTACIONES"></param>
        /// <param name="LIQUIDACIONES_D_EXCEDENTE_PERIODO"></param>
        /// <param name="LIQUIDACIONES_D_PRESTAMO_HIPOTECARIO"></param>
        /// <param name="LIQUIDACIONES_D_PRESTAMO_FIDUCIARIO"></param>
        /// <param name="LIQUIDACIONES_D_PRESTAMO_PRENDARIO"></param>
        /// <param name="LIQUIDACIONES_D_CUENTAS_X_COBRAR"></param>
        /// <param name="LIQUIDACIONES_D_INTERESES_X_COBRAR"></param>
        /// <param name="LIQUIDACIONES_D_OTRAS_DEDUCCIONES"></param>
        /// <param name="LIQUIDACIONES_D_TOTAL_DEDUCCIONES"></param>
        /// <param name="LIQUIDACIONES_D_AF_SOCIO"></param>
        /// <param name="LIQUIDACIONES_D_TOTAL"></param>
        /// <param name="CREADO_POR"></param>
        /// <param name="FECHA_CREACION"></param>
        /// <param name="MODIFICADO_POR"></param>
        /// <param name="FECHA_MODIFICACION"></param>
        /// <param name="SOCIOS_APORTACION_EXTRAORD_COOP_COUNT"></param>
        public void InsertarHojaDeLiquidacion
            (int LIQUIDACIONES_ID,
            string SOCIOS_ID,
            string SOCIOS_PRIMER_NOMBRE,
            string SOCIOS_SEGUNDO_NOMBRE,
            string SOCIOS_PRIMER_APELLIDO,
            string SOCIOS_SEGUNDO_APELLIDO,
            DateTime LIQUIDACIONES_FECHA,
            DateTime FECHA_DESDE,
            DateTime FECHA_HASTA,
            int CLASIFICACIONES_CAFE_ID,
            string CLASIFICACIONES_CAFE_NOMBRE,
            decimal LIQUIDACIONES_TOTAL_LIBRAS,
            decimal LIQUIDACIONES_PRECIO_LIBRAS,
            decimal LIQUIDACIONES_VALOR_TOTAL,
            decimal LIQUIDACIONES_D_CUOTA_INGRESO,
            decimal LIQUIDACIONES_D_GASTOS_ADMIN,
            decimal LIQUIDACIONES_D_APORTACION_ORDINARIO,
            decimal LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA,
            int LIQUIDACIONES_D_CAPITALIZACION_RETENCION,
            decimal LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD,
            decimal LIQUIDACIONES_D_INTERESES_S_APORTACIONES,
            decimal LIQUIDACIONES_D_EXCEDENTE_PERIODO,
            decimal LIQUIDACIONES_D_PRESTAMO_HIPOTECARIO,
            decimal LIQUIDACIONES_D_PRESTAMO_FIDUCIARIO,
            decimal LIQUIDACIONES_D_PRESTAMO_PRENDARIO,
            decimal LIQUIDACIONES_D_CUENTAS_X_COBRAR,
            decimal LIQUIDACIONES_D_INTERESES_X_COBRAR,
            decimal LIQUIDACIONES_D_OTRAS_DEDUCCIONES,
            decimal LIQUIDACIONES_D_TOTAL_DEDUCCIONES,
            decimal LIQUIDACIONES_D_AF_SOCIO,
            decimal LIQUIDACIONES_D_TOTAL,
            string CREADO_POR,
            DateTime FECHA_CREACION,
            string MODIFICADO_POR,
            DateTime FECHA_MODIFICACION,
            int SOCIOS_APORTACION_EXTRAORD_COOP_COUNT)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    using (var scope1 = new TransactionScope())
                    {
                        /* --------Guardar Hoja de Liquidación-------- */
                        // guardar datos de hoja de liquidación
                        liquidacion hojaliquidacion = new liquidacion();

                        hojaliquidacion.SOCIOS_ID                                         = SOCIOS_ID;
                        hojaliquidacion.LIQUIDACIONES_FECHA                               = LIQUIDACIONES_FECHA;
                        hojaliquidacion.CLASIFICACIONES_CAFE_ID                           = CLASIFICACIONES_CAFE_ID;
                        hojaliquidacion.LIQUIDACIONES_TOTAL_LIBRAS                        = LIQUIDACIONES_TOTAL_LIBRAS;
                        hojaliquidacion.LIQUIDACIONES_PRECIO_LIBRAS                       = LIQUIDACIONES_PRECIO_LIBRAS;
                        hojaliquidacion.LIQUIDACIONES_VALOR_TOTAL                         = LIQUIDACIONES_VALOR_TOTAL;
                        hojaliquidacion.LIQUIDACIONES_D_CUOTA_INGRESO                     = LIQUIDACIONES_D_CUOTA_INGRESO;
                        hojaliquidacion.LIQUIDACIONES_D_GASTOS_ADMIN                      = LIQUIDACIONES_D_GASTOS_ADMIN;
                        hojaliquidacion.LIQUIDACIONES_D_APORTACION_ORDINARIO              = LIQUIDACIONES_D_APORTACION_ORDINARIO;
                        hojaliquidacion.LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA         = LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA;
                        hojaliquidacion.LIQUIDACIONES_D_CAPITALIZACION_RETENCION          = LIQUIDACIONES_D_CAPITALIZACION_RETENCION;
                        hojaliquidacion.LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD = LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD;
                        hojaliquidacion.LIQUIDACIONES_D_INTERESES_S_APORTACIONES          = LIQUIDACIONES_D_INTERESES_S_APORTACIONES;
                        hojaliquidacion.LIQUIDACIONES_D_EXCEDENTE_PERIODO                 = LIQUIDACIONES_D_EXCEDENTE_PERIODO;
                        hojaliquidacion.LIQUIDACIONES_D_PRESTAMO_HIPOTECARIO              = LIQUIDACIONES_D_PRESTAMO_HIPOTECARIO;
                        hojaliquidacion.LIQUIDACIONES_D_PRESTAMO_FIDUCIARIO               = LIQUIDACIONES_D_PRESTAMO_FIDUCIARIO;
                        hojaliquidacion.LIQUIDACIONES_D_PRESTAMO_PRENDARIO                = LIQUIDACIONES_D_PRESTAMO_PRENDARIO;
                        hojaliquidacion.LIQUIDACIONES_D_CUENTAS_X_COBRAR                  = LIQUIDACIONES_D_CUENTAS_X_COBRAR;
                        hojaliquidacion.LIQUIDACIONES_D_INTERESES_X_COBRAR                = LIQUIDACIONES_D_INTERESES_X_COBRAR;
                        hojaliquidacion.LIQUIDACIONES_D_OTRAS_DEDUCCIONES                 = LIQUIDACIONES_D_OTRAS_DEDUCCIONES;
                        hojaliquidacion.CREADO_POR                                        = CREADO_POR;
                        hojaliquidacion.FECHA_CREACION                                    = DateTime.Today;
                        hojaliquidacion.MODIFICADO_POR                                    = CREADO_POR;
                        hojaliquidacion.FECHA_MODIFICACION                                = hojaliquidacion.FECHA_CREACION;


                        /* --------Cambiar Estado Actual de Socio-------- */
                        if (LIQUIDACIONES_D_CUOTA_INGRESO != 0)
                        {
                            Socios.SociosLogic.PagarGastoDeIngreso(SOCIOS_ID, db);
                        }

                        /* --------Cambiar Estado Aportación ordinaria anual de Socio-------- */
                        if (LIQUIDACIONES_D_APORTACION_ORDINARIO != 0)
                        {
                            Socios.SociosLogic.PagarAportacionOrdinaria(SOCIOS_ID, db);
                        }

                        /* --------Cambiar Estado Aportación extraordinaria anual de Socio-------- */
                        bool aumentar_aportaciones = false;
                        if (LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA != 0)
                        {
                            aumentar_aportaciones = Socios.SociosLogic.PagarAportacionExtraordinaria(SOCIOS_ID, SOCIOS_APORTACION_EXTRAORD_COOP_COUNT, db);
                        }

                        hojaliquidacion.LIQUIDACIONES_D_APORTACION_EXTRAORD_COOP = aumentar_aportaciones;

                        /* --------Cambiar Estado Aportación intereses sobre aportaciones anual de Socio-------- */
                        if (LIQUIDACIONES_D_INTERESES_S_APORTACIONES != 0)
                        {
                            Socios.SociosLogic.PagarAportacionInteresesSobreAportaciones(SOCIOS_ID, db);
                        }


                        // Total Deducciones: Sum(toda deduccion)
                        // A/F Socio (Afavor): (Total Valor Producto) - (Total Deducciones)
                        // ---> Total Deducciones >= 0 < Total Valor Producto
                        // Total Valor Deducciones = (A/F Socio) + (Total Deducciones)

                        hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES =
                            LIQUIDACIONES_D_CUOTA_INGRESO +
                            LIQUIDACIONES_D_GASTOS_ADMIN +
                            LIQUIDACIONES_D_APORTACION_ORDINARIO +
                            LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA +
                            LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD +
                            LIQUIDACIONES_D_INTERESES_S_APORTACIONES +
                            LIQUIDACIONES_D_EXCEDENTE_PERIODO +
                            LIQUIDACIONES_D_PRESTAMO_HIPOTECARIO +
                            LIQUIDACIONES_D_PRESTAMO_FIDUCIARIO +
                            LIQUIDACIONES_D_PRESTAMO_PRENDARIO +
                            LIQUIDACIONES_D_CUENTAS_X_COBRAR +
                            LIQUIDACIONES_D_INTERESES_X_COBRAR +
                            LIQUIDACIONES_D_OTRAS_DEDUCCIONES;

                        hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES = hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES > LIQUIDACIONES_VALOR_TOTAL ? LIQUIDACIONES_VALOR_TOTAL : hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES;
                        hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES = hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES < 0 ? 0 : hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES;

                        hojaliquidacion.LIQUIDACIONES_D_AF_SOCIO = LIQUIDACIONES_VALOR_TOTAL - hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES;

                        hojaliquidacion.LIQUIDACIONES_D_TOTAL = hojaliquidacion.LIQUIDACIONES_D_AF_SOCIO + hojaliquidacion.LIQUIDACIONES_D_TOTAL_DEDUCCIONES;


                        db.liquidaciones.AddObject(hojaliquidacion);

                        db.SaveChanges();

                        /* --------Modificar Inventario de Café Actual-------- */
                        InventarioDeCafeLogic inventariodecafelogic = new InventarioDeCafeLogic();
                        inventariodecafelogic.InsertarTransaccionInventarioDeCafeDeSocio(hojaliquidacion, db);

                        /* --------Modificar Aportaciones de Socio-------- */
                        AportacionLogic aportacionesDeSocioLogic = new AportacionLogic();
                        aportacionesDeSocioLogic.InsertarTransaccionAportacionesDeSocio(hojaliquidacion, db);

                        db.SaveChanges();

                        scope1.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al insertar hoja de liquidacion.", ex);
                throw;
            }
        }