/// <summary>
 /// Deprecated Method for adding a new object to the liquidaciones EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToliquidaciones(liquidacion liquidacion)
 {
     base.AddObject("liquidaciones", liquidacion);
 }
 /// <summary>
 /// Create a new liquidacion object.
 /// </summary>
 /// <param name="lIQUIDACIONES_ID">Initial value of the LIQUIDACIONES_ID property.</param>
 /// <param name="sOCIOS_ID">Initial value of the SOCIOS_ID property.</param>
 /// <param name="lIQUIDACIONES_FECHA">Initial value of the LIQUIDACIONES_FECHA property.</param>
 /// <param name="cLASIFICACIONES_CAFE_ID">Initial value of the CLASIFICACIONES_CAFE_ID property.</param>
 /// <param name="lIQUIDACIONES_TOTAL_LIBRAS">Initial value of the LIQUIDACIONES_TOTAL_LIBRAS property.</param>
 /// <param name="lIQUIDACIONES_PRECIO_LIBRAS">Initial value of the LIQUIDACIONES_PRECIO_LIBRAS property.</param>
 /// <param name="lIQUIDACIONES_VALOR_TOTAL">Initial value of the LIQUIDACIONES_VALOR_TOTAL property.</param>
 /// <param name="lIQUIDACIONES_D_APORTACION_ORDINARIO">Initial value of the LIQUIDACIONES_D_APORTACION_ORDINARIO property.</param>
 /// <param name="lIQUIDACIONES_D_APORTACION_EXTRAORDINARIA">Initial value of the LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA property.</param>
 /// <param name="lIQUIDACIONES_D_APORTACION_EXTRAORD_COOP">Initial value of the LIQUIDACIONES_D_APORTACION_EXTRAORD_COOP property.</param>
 /// <param name="lIQUIDACIONES_D_CAPITALIZACION_RETENCION">Initial value of the LIQUIDACIONES_D_CAPITALIZACION_RETENCION property.</param>
 /// <param name="lIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD">Initial value of the LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD property.</param>
 /// <param name="lIQUIDACIONES_D_INTERESES_S_APORTACIONES">Initial value of the LIQUIDACIONES_D_INTERESES_S_APORTACIONES property.</param>
 /// <param name="lIQUIDACIONES_D_EXCEDENTE_PERIODO">Initial value of the LIQUIDACIONES_D_EXCEDENTE_PERIODO property.</param>
 /// <param name="cREADO_POR">Initial value of the CREADO_POR property.</param>
 /// <param name="fECHA_CREACION">Initial value of the FECHA_CREACION property.</param>
 public static liquidacion Createliquidacion(global::System.Int32 lIQUIDACIONES_ID, global::System.String sOCIOS_ID, global::System.DateTime lIQUIDACIONES_FECHA, global::System.Int32 cLASIFICACIONES_CAFE_ID, global::System.Decimal lIQUIDACIONES_TOTAL_LIBRAS, global::System.Decimal lIQUIDACIONES_PRECIO_LIBRAS, global::System.Decimal lIQUIDACIONES_VALOR_TOTAL, global::System.Decimal lIQUIDACIONES_D_APORTACION_ORDINARIO, global::System.Decimal lIQUIDACIONES_D_APORTACION_EXTRAORDINARIA, global::System.Boolean lIQUIDACIONES_D_APORTACION_EXTRAORD_COOP, global::System.Int32 lIQUIDACIONES_D_CAPITALIZACION_RETENCION, global::System.Decimal lIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD, global::System.Decimal lIQUIDACIONES_D_INTERESES_S_APORTACIONES, global::System.Decimal lIQUIDACIONES_D_EXCEDENTE_PERIODO, global::System.String cREADO_POR, global::System.DateTime fECHA_CREACION)
 {
     liquidacion liquidacion = new liquidacion();
     liquidacion.LIQUIDACIONES_ID = lIQUIDACIONES_ID;
     liquidacion.SOCIOS_ID = sOCIOS_ID;
     liquidacion.LIQUIDACIONES_FECHA = lIQUIDACIONES_FECHA;
     liquidacion.CLASIFICACIONES_CAFE_ID = cLASIFICACIONES_CAFE_ID;
     liquidacion.LIQUIDACIONES_TOTAL_LIBRAS = lIQUIDACIONES_TOTAL_LIBRAS;
     liquidacion.LIQUIDACIONES_PRECIO_LIBRAS = lIQUIDACIONES_PRECIO_LIBRAS;
     liquidacion.LIQUIDACIONES_VALOR_TOTAL = lIQUIDACIONES_VALOR_TOTAL;
     liquidacion.LIQUIDACIONES_D_APORTACION_ORDINARIO = lIQUIDACIONES_D_APORTACION_ORDINARIO;
     liquidacion.LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA = lIQUIDACIONES_D_APORTACION_EXTRAORDINARIA;
     liquidacion.LIQUIDACIONES_D_APORTACION_EXTRAORD_COOP = lIQUIDACIONES_D_APORTACION_EXTRAORD_COOP;
     liquidacion.LIQUIDACIONES_D_CAPITALIZACION_RETENCION = lIQUIDACIONES_D_CAPITALIZACION_RETENCION;
     liquidacion.LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD = lIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD;
     liquidacion.LIQUIDACIONES_D_INTERESES_S_APORTACIONES = lIQUIDACIONES_D_INTERESES_S_APORTACIONES;
     liquidacion.LIQUIDACIONES_D_EXCEDENTE_PERIODO = lIQUIDACIONES_D_EXCEDENTE_PERIODO;
     liquidacion.CREADO_POR = cREADO_POR;
     liquidacion.FECHA_CREACION = fECHA_CREACION;
     return liquidacion;
 }
        /*                                      Inventario de Cooperativa                              */

        /// <summary>
        /// Insertar transacción de la hoja de liquidación en la tabla de inventario de café de la cooperativa como entrada (Compra).
        /// </summary>
        /// <param name="HojaDeLiquidacion"></param>
        /// <param name="db"></param>
        public void InsertarTransaccionInventarioDeCafe(liquidacion HojaDeLiquidacion, colinasEntities db)
        {
            try
            {
                reporte_total_inventario_de_cafe inventory = this.GetReporteTotalInventarioDeCafe(HojaDeLiquidacion.CLASIFICACIONES_CAFE_ID);

                decimal cantidad_en_inventario = inventory == null ? 0 : inventory.INVENTARIO_ENTRADAS_CANTIDAD;
                decimal salidas_de_inventario = inventory == null ? 0 : inventory.INVENTARIO_SALIDAS_SALDO;

                inventario_cafe inventarioDeCafe = new inventario_cafe();

                inventarioDeCafe.CLASIFICACIONES_CAFE_ID = HojaDeLiquidacion.CLASIFICACIONES_CAFE_ID;
                inventarioDeCafe.DOCUMENTO_ID = HojaDeLiquidacion.LIQUIDACIONES_ID;
                inventarioDeCafe.DOCUMENTO_TIPO = "ENTRADA";

                inventarioDeCafe.INVENTARIO_ENTRADAS_CANTIDAD = cantidad_en_inventario + HojaDeLiquidacion.LIQUIDACIONES_TOTAL_LIBRAS;
                inventarioDeCafe.INVENTARIO_SALIDAS_SALDO = salidas_de_inventario;

                inventarioDeCafe.CREADO_POR = HojaDeLiquidacion.CREADO_POR;
                inventarioDeCafe.FECHA_CREACION = HojaDeLiquidacion.FECHA_CREACION;

                db.inventario_cafe.AddObject(inventarioDeCafe);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al insertar transaccion de inventario de cafe. Hoja de Liquidacion.", ex);
                throw;
            }
        }
Beispiel #4
0
        /// <summary>
        /// Inserta la transacción de la hoja de liquidacion en la tabla de aportaciones como entrada (ahorro).
        /// </summary>
        /// <param name="HojaDeLiquidacion"></param>
        /// <param name="db"></param>
        public void InsertarTransaccionAportacionesDeSocio(liquidacion HojaDeLiquidacion,colinasEntities db)
        {
            try
            {
                reporte_total_aportaciones_por_socio asocInventory = this.GetAportacionesXSocio(HojaDeLiquidacion.SOCIOS_ID);

                decimal saldo_aportaciones_ordinaria = asocInventory == null ? 0 : asocInventory.APORTACIONES_ORDINARIA_SALDO;
                decimal saldo_aportaciones_extraordinaria = asocInventory == null ? 0 : asocInventory.APORTACIONES_EXTRAORDINARIA_SALDO;
                decimal saldo_aportaciones_capitalizacion_retencion = asocInventory == null ? 0 : asocInventory.APORTACIONES_CAPITALIZACION_RETENCION_SALDO;
                decimal saldo_aportaciones_intereses_aportaciones = asocInventory == null ? 0 : asocInventory.APORTACIONES_INTERESES_S_APORTACION_SALDO;
                decimal saldo_aportaciones_excedente_periodo = asocInventory == null ? 0 : asocInventory.APORTACIONES_EXCEDENTE_PERIODO_SALDO;

                decimal saldo_aportaciones_total = asocInventory == null ? 0 : asocInventory.APORTACIONES_SALDO_TOTAL;

                decimal liquidacion_aportacion_extraordinaria = (HojaDeLiquidacion.LIQUIDACIONES_D_APORTACION_EXTRAORD_COOP == true ? HojaDeLiquidacion.LIQUIDACIONES_D_APORTACION_EXTRAORDINARIA : 0);

                aportacion_socio aportacionDeSocio = new aportacion_socio();
                
                aportacionDeSocio.SOCIOS_ID = HojaDeLiquidacion.SOCIOS_ID;
                aportacionDeSocio.DOCUMENTO_ID = HojaDeLiquidacion.LIQUIDACIONES_ID;
                aportacionDeSocio.DOCUMENTO_TIPO = "ENTRADA";//Las hojas de liquidaciones son tomadas como entradas para las aportaciones

                aportacionDeSocio.APORTACIONES_ORDINARIA_SALDO = saldo_aportaciones_ordinaria + HojaDeLiquidacion.LIQUIDACIONES_D_APORTACION_ORDINARIO;
                aportacionDeSocio.APORTACIONES_EXTRAORDINARIA_SALDO = saldo_aportaciones_extraordinaria + liquidacion_aportacion_extraordinaria;
                aportacionDeSocio.APORTACIONES_CAPITALIZACION_RETENCION_SALDO = saldo_aportaciones_capitalizacion_retencion + HojaDeLiquidacion.LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD;
                aportacionDeSocio.APORTACIONES_INTERESES_S_APORTACION_SALDO = saldo_aportaciones_intereses_aportaciones + HojaDeLiquidacion.LIQUIDACIONES_D_INTERESES_S_APORTACIONES;
                aportacionDeSocio.APORTACIONES_EXCEDENTE_PERIODO_SALDO = saldo_aportaciones_excedente_periodo + HojaDeLiquidacion.LIQUIDACIONES_D_EXCEDENTE_PERIODO;

                aportacionDeSocio.APORTACIONES_CANTIDAD = Convert.ToDecimal
                    (HojaDeLiquidacion.LIQUIDACIONES_D_APORTACION_ORDINARIO +
                    liquidacion_aportacion_extraordinaria +
                    HojaDeLiquidacion.LIQUIDACIONES_D_CAPITALIZACION_RETENCION_CANTIDAD +
                    HojaDeLiquidacion.LIQUIDACIONES_D_INTERESES_S_APORTACIONES +
                    HojaDeLiquidacion.LIQUIDACIONES_D_EXCEDENTE_PERIODO);

                aportacionDeSocio.APORTACIONES_SALDO_TOTAL = saldo_aportaciones_total + aportacionDeSocio.APORTACIONES_CANTIDAD;                    

                aportacionDeSocio.CREADO_POR = HojaDeLiquidacion.CREADO_POR;
                aportacionDeSocio.FECHA_CREACION = HojaDeLiquidacion.FECHA_CREACION;

                db.aportaciones_socio.AddObject(aportacionDeSocio);

                db.SaveChanges();
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al insertar transaccion de aportaciones de socio. Liquidacion.", 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;
            }
        }