Ejemplo n.º 1
0
        public static DataSet obtenerEstadoResultados(string pCompañía, string pfechaInicio, string pfechaFin)
        {
            //este es el dataset q devuelve la funcion
            DateTime           fechaInicio;
            DateTime           fechaFin;
            DateTimeFormatInfo dtfi = new DateTimeFormatInfo();

            dtfi.ShortDatePattern = "yyyy-MM-dd";
            dtfi.DateSeparator    = "-";
            List <Estado> ListaIngresos      = new List <Estado>();
            List <Estado> ListaGastos        = new List <Estado>();
            List <Estado> ListaIngresosExtra = new List <Estado>();
            List <Estado> ListaGastosExtra   = new List <Estado>();
            double        totalIngresoLocal;
            double        totalIngresoSistema;
            double        totalGastoLocal;
            double        totalGastoSistema;
            double        IngresoContraGastoLocal;
            double        IngresoContraGastoSistema;
            double        totalPartidaLocal;
            double        totalPartidaSistema;
            double        utilidadesRetenidasLocal;
            double        utilidadesRetenidasSistema;
            double        utilidadesNetasLocal;
            double        utilidadesNetasSistema;
            double        TotalLocal;
            double        TotalSistema;
            List <double> totales = new List <double>();
            Estado        UtilidadesPeriodoAnterior = new Estado();

            fechaInicio = Convert.ToDateTime(pfechaInicio, dtfi);
            fechaFin    = Convert.ToDateTime(pfechaFin, dtfi);
            object[] argumentosIngresos      = new object[] { pCompañía, fechaInicio, fechaFin, "4-%" };
            object[] argumentosGastos        = new object[] { pCompañía, fechaInicio, fechaFin, "6-%" };
            object[] argumentosIngresosExtra = new object[] { pCompañía, fechaInicio, fechaFin, "7-%" };
            object[] argumentosGastosExtra   = new object[] { pCompañía, fechaInicio, fechaFin, "8-%" };

            object[] argumentosUtilidades = new object[] { pCompañía };
            ListaIngresos      = AccesoEstadoResultados.obtenerEstadoResultados("obtenerHaber", argumentosIngresos);
            ListaGastos        = AccesoEstadoResultados.obtenerEstadoResultados("obtenerDebe", argumentosGastos);
            ListaIngresosExtra = AccesoEstadoResultados.obtenerEstadoResultados("obtenerHaber", argumentosIngresosExtra);
            ListaGastosExtra   = AccesoEstadoResultados.obtenerEstadoResultados("obtenerDebe", argumentosGastosExtra);

            UtilidadesPeriodoAnterior = AccesoEstadoResultados.obtenerUtilidades(argumentosUtilidades);
            DataTable TableEstado = new DataTable();

            TableEstado.Columns.Add("Rubro", typeof(string));
            TableEstado.Columns.Add("Monto Local", typeof(double));
            TableEstado.Columns.Add("Monto Sistema", typeof(double));
            TableEstado.Columns.Add("Total Local", typeof(double));
            TableEstado.Columns.Add("Total Sistema", typeof(double));
            totales             = obtenerTotal(ListaIngresos);
            totalIngresoLocal   = totales[0];
            totalIngresoSistema = totales[1];

            totales           = obtenerTotal(ListaGastos);
            totalGastoLocal   = totales[0] * -1;
            totalGastoSistema = totales[1] * -1;

            IngresoContraGastoLocal   = totalIngresoLocal + totalGastoLocal;
            IngresoContraGastoSistema = totalIngresoSistema + totalGastoSistema;

            totales             = obtenerTotal(ListaIngresosExtra);
            totalPartidaLocal   = totales[0];
            totalPartidaSistema = totales[1];

            totales              = obtenerTotal(ListaGastosExtra);
            totalPartidaLocal   -= totales[0];
            totalPartidaSistema -= totales[1];

            utilidadesRetenidasLocal   = UtilidadesPeriodoAnterior.TotalLocal;
            utilidadesRetenidasSistema = UtilidadesPeriodoAnterior.TotalSistema;

            ListaGastosExtra = Negativo(ListaGastosExtra);

            utilidadesNetasLocal   = IngresoContraGastoLocal + totalPartidaLocal;
            utilidadesNetasSistema = IngresoContraGastoSistema + totalPartidaSistema;

            TotalLocal   = utilidadesNetasLocal + utilidadesRetenidasLocal;
            TotalSistema = utilidadesNetasSistema + utilidadesRetenidasSistema;


            //Ingresos
            TableEstado.Rows.Add("Ingresos Operativos", null, null, null, null);
            foreach (Estado elemento in ListaIngresos)
            {
                TableEstado.Rows.Add(elemento.Nombre, elemento.TotalLocal, elemento.TotalSistema, null, null);
            }
            TableEstado.Rows.Add("", null, null, totalIngresoLocal, totalIngresoSistema);
            //Egresos
            TableEstado.Rows.Add("", null, null, null, null);
            TableEstado.Rows.Add("Egresos Operativos", null, null, null, null);
            foreach (Estado elemento in ListaGastos)
            {
                TableEstado.Rows.Add(elemento.Nombre, elemento.TotalLocal, elemento.TotalSistema, null, null);
            }
            TableEstado.Rows.Add("", null, null, totalGastoLocal, totalGastoSistema);

            TableEstado.Rows.Add("Utilidad Operativa", null, null, IngresoContraGastoLocal, IngresoContraGastoSistema);
            //Partidas

            TableEstado.Rows.Add("", null, null, null, null);
            TableEstado.Rows.Add("Partidas Extraordinarias", null, null, null, null);
            foreach (Estado elemento in ListaIngresosExtra)
            {
                TableEstado.Rows.Add(elemento.Nombre, elemento.TotalLocal, elemento.TotalSistema, null, null);
            }
            foreach (Estado elemento in ListaGastosExtra)
            {
                TableEstado.Rows.Add(elemento.Nombre, elemento.TotalLocal, elemento.TotalSistema, null, null);
            }
            TableEstado.Rows.Add("", null, null, totalPartidaLocal, totalPartidaSistema);


            TableEstado.Rows.Add("", null, null, null, null);
            TableEstado.Rows.Add("Utilidad Neta del periodo", null, null, utilidadesNetasLocal, utilidadesNetasSistema);
            TableEstado.Rows.Add("Utilidades retenidas periodo anterior", null, null, utilidadesRetenidasLocal, utilidadesRetenidasSistema);
            TableEstado.Rows.Add("Utilidades retenidas periodo actual", null, null, TotalLocal, TotalSistema);
            DataSet EstadoResultados = new DataSet("estadoResultados");

            EstadoResultados.Tables.Add(TableEstado);
            //OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["default"].ToString());
            //using (conn)
            //{
            //    string sql = @"SELECT * FROM TableIngresos";
            //    OleDbCommand command = new OleDbCommand(sql, conn);
            //    OleDbDataAdapter da = new OleDbDataAdapter(command);
            //    da.Fill(EstadoResultados, "TableIngresos");
            //}
            // Visualize DataSet.
            Console.WriteLine(EstadoResultados.GetXml());
            return(EstadoResultados);
        }
Ejemplo n.º 2
0
        public static DataSet obtenerBalance(string pCompañía, string pfechaInicio, string pfechaFin)
        {
            List <Padre> padresActivos = new List <Padre>();
            List <Padre> padresPasivos = new List <Padre>();

            DateTime           fechaInicio;
            DateTime           fechaFin;
            DateTimeFormatInfo dtfi = new DateTimeFormatInfo();

            dtfi.ShortDatePattern = "yyyy-MM-dd";
            dtfi.DateSeparator    = "-";
            List <Estado> ListaIngresos      = new List <Estado>();
            List <Estado> ListaGastos        = new List <Estado>();
            List <Estado> ListaIngresosExtra = new List <Estado>();
            List <Estado> ListaGastosExtra   = new List <Estado>();
            double        totalIngresoLocal;
            double        totalIngresoSistema;
            double        totalGastoLocal;
            double        totalGastoSistema;
            double        IngresoContraGastoLocal;
            double        IngresoContraGastoSistema;
            double        totalPartidaLocal;
            double        totalPartidaSistema;
            double        utilidadesRetenidasLocal;
            double        utilidadesRetenidasSistema;
            double        utilidadesNetasLocal;
            double        utilidadesNetasSistema;
            double        TotalLocal;
            double        TotalSistema;
            List <double> totales = new List <double>();
            Estado        UtilidadesPeriodoAnterior = new Estado();

            fechaInicio = Convert.ToDateTime(pfechaInicio, dtfi);
            fechaFin    = Convert.ToDateTime(pfechaFin, dtfi);


            object[] pArgumentosActivos = new object[] { pCompañía, "1-%" };
            object[] pArgumentosPasivos = new object[] { pCompañía, "2-%" };

            padresActivos = AccesoBalance.obtenerHijos("obtenerHijos", pArgumentosActivos);
            padresPasivos = AccesoBalance.obtenerHijos("obtenerHijos", pArgumentosPasivos);

            DataTable TableBalance = new DataTable();

            TableBalance.Columns.Add("Rubro", typeof(string));
            TableBalance.Columns.Add("Monto Local", typeof(double));
            TableBalance.Columns.Add("Monto Sistema", typeof(double));
            TableBalance.Columns.Add("Total Local", typeof(double));
            TableBalance.Columns.Add("Total Sistema", typeof(double));
            object[]      argumentosActivos;
            object[]      argumentosPasivos;
            object[]      argumentosPatrimonio;
            object[]      argumentosUtilidades = new object[] { pCompañía };
            List <Estado> listaEstados         = new List <Estado>();
            double        totalLocal           = 0;
            double        totalSistema         = 0;
            double        totalLocalAux        = 0;
            double        totalSistemaAux      = 0;


            TableBalance.Rows.Add("Activos", null, null, null, null);
            foreach (Padre elemento in padresActivos)
            {
                TableBalance.Rows.Add(elemento.Nombre, null, null, null, null);
                argumentosActivos = new object[] { pCompañía, fechaInicio, fechaFin, elemento.Codigo + "%" };
                listaEstados      = AccesoEstadoResultados.obtenerEstadoResultados("obtenerDebe", argumentosActivos);
                foreach (Estado estado in listaEstados)
                {
                    TableBalance.Rows.Add(estado.Nombre, estado.TotalLocal, estado.TotalSistema, null, null);
                }
                totales         = obtenerTotal(listaEstados);
                totalLocalAux   = totales[0];
                totalSistemaAux = totales[1];
                totalLocal     += totalLocalAux;
                totalSistema   += totalSistemaAux;
                TableBalance.Rows.Add("Total", null, null, totalLocalAux, totalSistemaAux);
            }
            TableBalance.Rows.Add("Total Activos", null, null, totalLocal, totalSistema);

            totalLocal      = 0;
            totalSistema    = 0;
            totalLocalAux   = 0;
            totalSistemaAux = 0;

            TableBalance.Rows.Add("Pasivos", null, null, null, null);
            foreach (Padre elemento in padresPasivos)
            {
                TableBalance.Rows.Add(elemento.Nombre, null, null, null, null);
                argumentosPasivos = new object[] { pCompañía, fechaInicio, fechaFin, elemento.Codigo + "%" };
                listaEstados      = AccesoEstadoResultados.obtenerEstadoResultados("obtenerHaber", argumentosPasivos);
                foreach (Estado estado in listaEstados)
                {
                    TableBalance.Rows.Add(estado.Nombre, estado.TotalLocal, estado.TotalSistema, null, null);
                }
                totales         = obtenerTotal(listaEstados);
                totalLocalAux   = totales[0];
                totalSistemaAux = totales[1];
                totalLocal     += totalLocalAux;
                totalSistema   += totalSistemaAux;
                TableBalance.Rows.Add("Total", null, null, totalLocalAux, totalSistemaAux);
            }
            TableBalance.Rows.Add("Total Pasivos", null, null, totalLocal, totalSistema);


            totalLocalAux   = 0;
            totalSistemaAux = 0;
            TableBalance.Rows.Add("Patrimonio", null, null, null, null);
            argumentosPatrimonio = new object[] { pCompañía, fechaInicio, fechaFin, "3-%" };
            listaEstados         = AccesoEstadoResultados.obtenerEstadoResultados("obtenerHaber", argumentosPatrimonio);
            foreach (Estado estado in listaEstados)
            {
                TableBalance.Rows.Add(estado.Nombre, estado.TotalLocal, estado.TotalSistema, null, null);
            }
            totales         = obtenerTotal(listaEstados);
            totalLocalAux   = totales[0];
            totalSistemaAux = totales[1];
            totalLocal     += totalLocalAux;
            totalSistema   += totalSistemaAux;
            TableBalance.Rows.Add("Total Patrimonio", null, null, totalLocalAux, totalSistemaAux);
            TableBalance.Rows.Add("Total", null, null, totalLocal, totalSistema);

            DataSet estadoResultados = new DataSet("estadoResultados");

            estadoResultados.Tables.Add(TableBalance);
            // Visualize DataSet.
            Console.WriteLine(estadoResultados.GetXml());
            return(estadoResultados);
        }