Exemplo n.º 1
0
        public ActionResult MisCompras()
        {
            var integ = new IntegridadDatos();

            if ((String)Session["PerfilUsuario"] != "WebMaster" && (String)Session["PerfilUsuario"] != null && integ.ValidarExistencia("SEG_Usuario") == 1)
            {
                try
                {
                    var ln = new NegocioOperaciones();

                    // Traduce páginas de CUENTA.
                    TraducirPagina((String)Session["IdiomaApp"]);

                    var codCliente = (String)Session["IdUsuario"];

                    return(View(ln.ListarVentasPorCliente(codCliente)));
                }
                catch
                {
                    var aud = new Auditoria();
                    aud.grabarBitacora(DateTime.Now, "SISTEMA", "ERROR COMPRAS", "ERROR LEVE", "Error al consultar las Compras.");
                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 2
0
        public ActionResult Index(string fecha, string fechaFin, string usr)
        {
            var integ = new IntegridadDatos();

            if ((String)Session["PerfilUsuario"] == "Administrativo" && integ.ValidarExistencia("Operacion") == 1)
            {
                var ln = new NegocioOperaciones();

                //Traducir Página Ventas.
                TraducirPagina((String)Session["IdiomaApp"]);

                Session["ErrorFiltroVentas"] = null;

                if (fecha == "" && fechaFin != "")
                {
                    fechaFin = "";

                    Session["ErrorFiltroVentas"] = ViewBag.BITACORA_WARNING_SIN_FECHA_INICIO;
                }

                if (fecha != "" && fechaFin != "")
                {
                    DateTime fechaDate = DateTime.Parse(fecha);

                    DateTime fechaFinDate = DateTime.Parse(fechaFin);

                    if (fechaDate >= fechaFinDate)
                    {
                        fecha    = "";
                        fechaFin = "";

                        Session["ErrorFiltroVentas"] = ViewBag.BITACORA_WARNING_FECHAS_MAL;
                    }
                }

                if (fecha == "" && usr == "")
                {
                    return(View(ln.ListarOperacionesPorTipo("VE")));
                }

                var consulta = ln.ListarVentasPorFiltro(fecha, fechaFin);

                Session["ConsultaVentas"] = consulta;

                return(View(consulta));
            }

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 3
0
        public ActionResult Index()
        {
            var integ = new IntegridadDatos();

            if ((String)Session["PerfilUsuario"] == "Administrativo" && integ.ValidarExistencia("Operacion") == 1)
            {
                var ln = new NegocioOperaciones();

                //Traducir Página VENTAS.
                TraducirPagina((String)Session["IdiomaApp"]);

                var consulta = ln.ListarOperacionesPorTipo("VE");

                Session["ConsultaVentas"] = consulta;

                return(View(consulta));
            }

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 4
0
        private List <DetalleOperacion> RegistrarDetalleOperacion(int operacionId)
        {
            var ln   = new NegocioOperaciones();
            var inte = new IntegridadDatos();


            if (Session["Carrito"] != null)
            {
                var detalleCompleto = new List <DetalleOperacion>();

                foreach (var item in Session["Carrito"] as List <Carrito> )
                {
                    var subtotal = (item.Precio * item.Cantidad);


                    var detalleActual = new DetalleOperacion
                    {
                        OperacionId = operacionId,
                        ProductoId  = item.ProductoId,
                        Monto       = item.Precio,
                        Cantidad    = item.Cantidad,
                        SubTotal    = subtotal,
                    };

                    detalleCompleto.Add(detalleActual);

                    ln.RegistrarDetalleOperacion(detalleActual);

                    detalleActual.DVH = inte.CalcularDVH(detalleActual.OperacionId.ToString() + detalleActual.ProductoId.ToString() + detalleActual.SubTotal.ToString() + detalleActual.Cantidad.ToString() + detalleActual.Monto.ToString());

                    // Actualiza el DVH
                    inte.ActualizarDVHDetalleOperacion(detalleActual.OperacionId, detalleActual.ProductoId, detalleActual.DVH);
                }

                inte.RecalcularDVV("DetalleOperacion");

                return(detalleCompleto);
            }

            return(null);
        }
Exemplo n.º 5
0
        public ActionResult CancelarOperacion(int id)
        {
            var integ = new IntegridadDatos();

            if ((String)Session["PerfilUsuario"] != "WebMaster" && integ.ValidarExistencia("Operacion") == 1)
            {
                var ln = new NegocioOperaciones();

                ln.CancelarOperacion(id);

                // Traduce páginas de CUENTA.
                TraducirPagina((String)Session["IdiomaApp"]);

                var aud = new Auditoria();
                aud.grabarBitacora(DateTime.Now, (String)Session["UsrLogin"], "OPERACIÓN CANCELADA", "INFO", "El usuario ha cancelado la operación: " + id.ToString());


                return(View());
            }

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 6
0
        private void RegistrarVenta(DateTime fechaHora, int importeTotal, int formaPago, string NroTarjeta = "N/A")
        {
            var ln    = new NegocioOperaciones();
            var cliLn = new NegocioCliente();
            var inte  = new IntegridadDatos();

            var mensajeria = new Mensajeria();

            TraducirPagina((String)Session["IdiomaApp"]);

            var estadoId = 2;// Estado PENDIENTE DE PAGO.

            if (formaPago == 2)

            {
                estadoId = 1;
            }                // Estado APROBADA

            var tipoFactura = "A";

            var codUsuario = (Int32)Session["CodUsuario"];

            // Si existe el Cliente, lo traigo, sino lo doy de alta y luego lo traigo.
            var clienteActual = cliLn.TraerCliente(codUsuario);

            // Registro la Factura.
            var facturaActual = ln.RegistrarFactura(fechaHora, tipoFactura, importeTotal, formaPago, estadoId, clienteActual.Id);


            // Registro la Venta.
            var operacionActual = ln.RegistrarOperacion(fechaHora, clienteActual.Id, importeTotal, formaPago, "VE", estadoId, facturaActual.Codigo);

            // Registro Detalle de Venta.
            var detalleCompleto = RegistrarDetalleOperacion(operacionActual.Id);

            var rutaFactura = "";

            List <Carrito> productosCarrito = (List <Carrito>)Session["Carrito"];

            try
            {
                rutaFactura = GenerarFacturaPDF(facturaActual, productosCarrito);
            }
            catch
            {
                var aud = new Auditoria();
                aud.grabarBitacora(DateTime.Now, "SISTEMA", "ERROR GENERAR FACTURA", "ERROR LEVE", "Fallo al intentar generar la factura de venta.");
            }
            // Me guardo la factura para imprimir y enviar por correo.
            Session["Factura"] = facturaActual;


            try
            {
                var cuerpoMsj = ViewBag.MENSAJE_MAIL_COMPRA;
                var asuntoMsj = "F-000" + facturaActual.Codigo.ToString();
                mensajeria.EnviarCorreo("*****@*****.**", (String)Session["EmailUsuario"], asuntoMsj, cuerpoMsj, rutaFactura);
            }
            catch
            {
                var aud = new Auditoria();
                aud.grabarBitacora(DateTime.Now, "SISTEMA", "ERROR ENVÍO EMAIL", "ERROR LEVE", "Fallo al intentar enviar la factura por correo.");
            }

            //Borro los items del Carrito.
            Session["Carrito"] = null;
        }