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; }
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; }