示例#1
0
        public static List<Estado> obtenerBalance(string sp, object[] pArgumentos)
        {
            List<Estado> resultado = new List<Estado>();
            SqlDataReader dataReader = null;
            try
            {
                dataReader = SqlServer.Instance.traerDataReader(sp, pArgumentos);
                if (dataReader.HasRows)
                {
                    while (dataReader.Read())
                    {
                        Estado estado = new Estado();
                        estado.Nombre = dataReader["Nombre"].ToString();
                        estado.TotalLocal = Double.Parse(dataReader["MontoLocal"].ToString());
                        estado.TotalSistema = Double.Parse(dataReader["MontoSistema"].ToString());

                        resultado.Add(estado);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                SqlServer.Instance.cerrarDataReader(dataReader);
                SqlServer.Instance.CerrarConexion();
            }
            return resultado;
        }
 public static Estado obtenerUtilidades(object[] pArgumentos)
 {
     SqlDataReader dataReader = null;
     Estado estado = new Estado();
     try
     {
         dataReader = SqlServer.Instance.traerDataReader("obtenerUtilidades", pArgumentos);
         if (dataReader.HasRows)
         {
             while (dataReader.Read())
             {
                 estado.TotalLocal = Double.Parse(dataReader["SaldoLocal"].ToString());
                 estado.TotalSistema = Double.Parse(dataReader["SaldoSistema"].ToString());
             }
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         SqlServer.Instance.cerrarDataReader(dataReader);
         SqlServer.Instance.CerrarConexion();
     }
     return estado;
 }
        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;
        }
示例#4
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;
        }