示例#1
0
        public static bool Actualizar()
        {
            bool actualizar = false;

            do
            {
                if (entradasC.Count == 0)
                {
                    /*
                     * Intente recorrer el libro diario para el caso en que el libro mayor estuviese en blanco, creando por cada codigoCuenta una nueva linea.
                     * Pero no supe como realizar esto.
                     *
                     *  Por lo tanto, asumo que en el libro mayor estan cargados los mismos codigoCuenta que en el libro diario.
                     */

                    //foreach (var asientos in entradasA.Values)
                    //{
                    //    var CodigoAsiento = asientos.CodigoCuenta;
                    //    var fechaCuenta = asientos.Fecha;
                    //    decimal debe = asientos.Debe;
                    //    decimal haber = asientos.Haber;

                    //    foreach (var cuenta in entradasC.Values)
                    //    {
                    //        var codigoCuenta = CodigoAsiento;

                    //        LibroDiario.MovimientosFuturos(codigoCuenta, fechaCuenta, ref debe, ref haber);

                    //        if (debe != 0 || haber != 0)
                    //        {
                    //            cuenta.Debe += debe;
                    //            cuenta.Haber += haber;
                    //            cuenta.Fecha = DateTime.Today;
                    //        }
                    //    }
                    //}
                    //LibroMayor.Grabar();

                    Console.WriteLine("No es posible actualizar las cuentas del libro mayor ya que no hay cuentas cargadas.");
                }
                else
                {
                    foreach (var cuenta in entradasC.Values)
                    {
                        var     codigoCuenta = cuenta.CodigoCuenta;
                        var     fechaCuenta  = cuenta.Fecha;
                        decimal debe         = 0;
                        decimal haber        = 0;

                        LibroDiario.MovimientosFuturos(codigoCuenta, fechaCuenta, ref debe, ref haber);

                        if (debe != 0 || haber != 0)
                        {
                            cuenta.Debe  += debe;
                            cuenta.Haber += haber;
                            cuenta.Fecha  = DateTime.Today;
                        }
                    }
                    LibroMayor.Grabar();
                }
                actualizar = true;
            } while (actualizar == false);

            return(actualizar);
        }
        //Para usar de referencia, se puede borrar la opcion
        private static void MostrarLDiario()
        {
            var asientos = LibroDiario.Seleccionar();

            asientos?.Mostrar();
        }