示例#1
0
        public static bool CrearOficina(Oficina pOficina)
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    var oficina = Crear(pOficina);
                    BovedaBL.Crear(new Boveda
                    {
                        OficinaId         = oficina.OficinaId,
                        SaldoInicial      = 0,
                        Entradas          = 0,
                        Salidas           = 0,
                        SaldoFinal        = 0,
                        FechaIniOperacion = VendixGlobal.GetFecha(),
                        IndCierre         = false
                    });

                    scope.Complete();
                    return(true);
                }
                catch (Exception)
                {
                    scope.Dispose();
                    throw;
                }
            }
        }
示例#2
0
        public static List <Transferencias> ListarTransferencias()
        {
            var bovedaId = VendixGlobal <int> .Obtener("BovedaId");

            List <BovedaMovTemp> lista;
            var listTransferencias = new List <Transferencias>();

            using (var db = new VENDIXEntities())
            {
                lista = db.BovedaMovTemp.Where(x => x.BovedaDestinoId == bovedaId).ToList();
            }

            foreach (var item in lista)
            {
                var oficinaId = BovedaBL.Obtener(z => z.BovedaId == item.BovedaInicioId).OficinaId;
                var personaId = UsuarioBL.Obtener(z => z.UsuarioId == item.UsuarioRegId).PersonaId;

                listTransferencias.Add(new Transferencias
                {
                    TransferenciaId = item.BovedaMovTempId,
                    Monto           = item.Importe,
                    From            = OficinaBL.Obtener(x => x.OficinaId == oficinaId).Denominacion,
                    Descripcion     = item.Glosa,
                    UsuarioReg      = PersonaBL.Obtener(x => x.PersonaId == personaId).NombreCompleto,
                });
            }
            return(listTransferencias);
        }
示例#3
0
        public static bool TransferirCajaDiarioBoveda()
        {
            var idOficina = VendixGlobal.GetOficinaId();

            using (var scope = new TransactionScope())
            {
                try
                {
                    var cajasDiarios = Listar(x => x.IndCierre && x.TransBoveda == false && x.Caja.OficinaId == idOficina, includeProperties: "Caja");
                    var oBoveda      = BovedaBL.Obtener(x => x.OficinaId == idOficina && x.IndCierre == false);

                    foreach (var item in cajasDiarios)
                    {
                        item.TransBoveda = true;
                        Actualizar(item);

                        var movBoveda = new BovedaMov
                        {
                            BovedaId     = oBoveda.BovedaId,
                            CodOperacion = "TRE",
                            Glosa        = "CIERRE " + item.Caja.Denominacion + " " + VendixGlobal.GetFecha().ToShortDateString(),
                            Importe      = item.SaldoFinal,
                            IndEntrada   = true,
                            Estado       = true,
                            UsuarioRegId = VendixGlobal.GetUsuarioId(),
                            FechaReg     = VendixGlobal.GetFecha(),
                            CajaDiarioId = item.CajaDiarioId,
                        };
                        BovedaMovBL.Crear(movBoveda);
                    }

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

                    using (var db = new VENDIXEntities())
                    {
                        db.usp_CalificarCliente(idOficina);
                        db.SaveChanges();
                    }
                    scope.Complete();
                    return(true);
                }
                catch (Exception)
                {
                    scope.Dispose();
                    throw;
                }
            }
        }
示例#4
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;
                }
            }
        }