Пример #1
0
        public static int CerrarCajaDiario()
        {
            var oCajadiario = Obtener(VendixGlobal.GetCajaDiarioId());

            oCajadiario.IndCierre         = true;
            oCajadiario.FechaFinOperacion = DateTime.Now;

            var oCaja = CajaBL.Obtener(oCajadiario.CajaId);

            oCaja.IndAbierto   = false;
            oCaja.FechaMod     = DateTime.Now;
            oCaja.UsuarioModId = VendixGlobal.GetUsuarioId();

            using (var scope = new TransactionScope())
            {
                try
                {
                    Actualizar(oCajadiario);
                    CajaBL.Actualizar(oCaja);

                    scope.Complete();
                    return(oCajadiario.CajaDiarioId);
                }
                catch (Exception ex)
                {
                    scope.Dispose();
                    return(0);
                }
            }
        }
Пример #2
0
        public static int CerrarCajaDiario()
        {
            var oCajadiario = Obtener(VendixGlobal.GetCajaDiarioId());

            oCajadiario.IndCierre         = true;
            oCajadiario.FechaFinOperacion = VendixGlobal.GetFecha();
            var MontoCobrado = MovimientoCajaBL.Listar(x => x.CajaDiarioId == oCajadiario.CajaDiarioId && x.IndEntrada && x.Operacion == "CUO" && x.Estado)
                               .Sum(x => x.ImportePago);

            oCajadiario.MontoCobrado = MontoCobrado;

            var oCaja = CajaBL.Obtener(oCajadiario.CajaId);

            oCaja.IndAbierto   = false;
            oCaja.FechaMod     = VendixGlobal.GetFecha();
            oCaja.UsuarioModId = VendixGlobal.GetUsuarioId();



            using (var scope = new TransactionScope())
            {
                try
                {
                    Actualizar(oCajadiario);
                    CajaBL.Actualizar(oCaja);

                    scope.Complete();
                    return(oCajadiario.CajaDiarioId);
                }
                catch (Exception)
                {
                    scope.Dispose();
                    return(0);
                }
            }
        }
Пример #3
0
        public static string AsignarUsuarioCaja(int pCajaId, int pUsuarioAsignadoId, decimal pSaldoInicial)
        {
            var idOficina  = VendixGlobal.GetOficinaId();
            var cajaDiario = new CajaDiario
            {
                CajaId            = pCajaId,
                UsuarioAsignadoId = pUsuarioAsignadoId,
                SaldoInicial      = pSaldoInicial,
                Entradas          = 0,
                Salidas           = 0,
                SaldoFinal        = pSaldoInicial,
                FechaIniOperacion = VendixGlobal.GetFecha(),
                IndCierre         = false,
                TransBoveda       = false,
            };
            var oBoveda = BovedaBL.Obtener(x => x.OficinaId == idOficina && x.IndCierre == false);

            if (cajaDiario.SaldoInicial > oBoveda.SaldoFinal)
            {
                return("Saldo Insuficiente de la boveda.");
            }

            using (var scope = new TransactionScope())
            {
                try
                {
                    Crear(cajaDiario);
                    var oCaja = CajaBL.Obtener(cajaDiario.CajaId);
                    oCaja.IndAbierto = true;
                    CajaBL.Actualizar(oCaja);
                    //ActualizarMontoPorCobrar(pUsuarioAsignadoId);

                    if (pSaldoInicial > 0)
                    {
                        BovedaMovBL.Crear(new BovedaMov
                        {
                            BovedaId     = oBoveda.BovedaId,
                            CodOperacion = "TRS",
                            Glosa        = "INICIAL " + oCaja.Denominacion + " " + VendixGlobal.GetFecha().ToShortDateString(),
                            Importe      = pSaldoInicial,
                            IndEntrada   = false,
                            Estado       = true,
                            UsuarioRegId = VendixGlobal.GetUsuarioId(),
                            FechaReg     = VendixGlobal.GetFecha(),
                            CajaDiarioId = cajaDiario.CajaDiarioId,
                        });
                        var oBovedaMov = BovedaMovBL.Listar(x => x.BovedaId == oBoveda.BovedaId && x.Estado);
                        oBoveda.Entradas   = oBovedaMov.Where(x => x.IndEntrada).Sum(x => x.Importe);
                        oBoveda.Salidas    = oBovedaMov.Where(x => x.IndEntrada == false).Sum(x => x.Importe);
                        oBoveda.SaldoFinal = oBoveda.SaldoInicial + oBoveda.Entradas - oBoveda.Salidas;
                        BovedaBL.Actualizar(oBoveda);
                    }
                    scope.Complete();
                    return(string.Empty);
                }
                catch (Exception ex)
                {
                    scope.Dispose();
                    throw;
                }
            }
        }