public void Levantar() { if (File.Exists(planDeCuenta)) { using (var reader = new StreamReader(planDeCuenta)) { while (!reader.EndOfStream) { var linea = reader.ReadLine(); if (linea == "Codigo|Nombre|Tipo") { continue; } else { var unPlan = new PlanDeCuenta(linea); planes.Add(unPlan); } } } } }
public void Iniciar() { const string opcionDebe = "D"; const string opcionHaber = "H"; const string opcionSalir = "F"; string opcionMenu = ""; int nroAsiento; DateTime laFecha; int codigoCuenta; decimal elMonto; decimal totalDebe = 0; decimal totalHaber = 0; Diario nuevoDiario; PlanDeCuenta unPlan = new PlanDeCuenta(); unPlan.Levantar(); Console.WriteLine("********************\nINGRESO DE ASIENTOS:\n********************\n"); laFecha = Validaciones.PedirFecha("Ingrese la fecha del asiento que desea cargar:"); nroAsiento = ProximoNroAsiento(); do { opcionMenu = Validaciones.PedirStrNoVac("Presione:\n\tD - Para cargar en el DEBE" + "\n\tH - Para cargar en el HABER" + "\n\tF - Para finalizar la carga del asiento actual\n"); switch (opcionMenu) { case opcionDebe: unPlan.ListarPlan(); Console.WriteLine(); do { codigoCuenta = Validaciones.PedirInt("Ingrese el Código de la cuenta en la que desea cargar:"); if (!unPlan.BuscarCodigo(codigoCuenta)) { Console.WriteLine("El código ingresado no se encuentra en el Plan de Cuentas"); } } while (!unPlan.BuscarCodigo(codigoCuenta)); elMonto = Validaciones.PedirDecimal("Ingrese el monto que desea cargar:"); nuevoDiario = new Diario(nroAsiento, laFecha, codigoCuenta, elMonto, 0); asiento.Add(nuevoDiario); break; case opcionHaber: unPlan.ListarPlan(); Console.WriteLine(); do { codigoCuenta = Validaciones.PedirInt("Ingrese el Código de la cuenta en la que desea cargar:"); if (!unPlan.BuscarCodigo(codigoCuenta)) { Console.WriteLine("El código ingresado no se encuentra en el Plan de Cuentas"); } } while (!unPlan.BuscarCodigo(codigoCuenta)); elMonto = Validaciones.PedirDecimal("Ingrese el monto que desea cargar:"); nuevoDiario = new Diario(nroAsiento, laFecha, codigoCuenta, 0, elMonto); asiento.Add(nuevoDiario); break; case opcionSalir: foreach (Diario dia in asiento) { if (dia.NroAsiento == nroAsiento) { totalDebe = totalDebe + dia.Debe; } } foreach (Diario dia in asiento) { if (dia.NroAsiento == nroAsiento) { totalHaber = totalHaber + dia.Haber; } } if (totalDebe != totalHaber) { if (totalDebe > totalHaber) { Console.WriteLine($"El DEBE tiene cargados ${totalDebe - totalHaber} más que el Haber."); } else { Console.WriteLine($"El HABER tiene cargados ${totalHaber - totalDebe} más que el Debe."); } Console.WriteLine("\nEste Asiento no puede guardarse."); asiento.Clear(); } else { Console.WriteLine("Ud. ha cargado el siguiente asiento diario:\n"); Console.WriteLine("NroAsiento | Fecha |CodigoCuenta | Debe | Haber |\n"); foreach (Diario d in asiento) { if (d.Fecha == laFecha) { Console.WriteLine($" {d.NroAsiento} | {d.Fecha} | {d.CodigoCuenta} | {d.Debe} | {d.Haber}"); } } Console.WriteLine(); foreach (Diario d in asiento) { unDiario.Add(d); } asiento.Clear(); } break; default: Console.WriteLine("Opción no válida"); break; } } while (opcionMenu != opcionSalir); }