public ActionResult Historial()
        {
            TanoNEEntities ctx    = new TanoNEEntities();
            Vecinos        vecino = ctx.Vecinos.FirstOrDefault(a => a.correo == User.Identity.Name);

            if (vecino == null)
            {
                return(RedirectToAction("Carrito", "Compras"));
            }

            EstadosCompra EstadoEntregado = ctx.EstadosCompra.FirstOrDefault(a => a.codigo == 1);
            EstadosCompra confirmado      = ctx.EstadosCompra.FirstOrDefault(a => a.codigo == 3);
            EstadosCompra comentado       = ctx.EstadosCompra.FirstOrDefault(a => a.codigo == 4);

            //Precios ultimop = prod.Precios.Count > 1 ? prod.Precios.LastOrDefault(a => a.fecha.Date <= actual.fechaAbierto.Date) : prod.Precios.FirstOrDefault();
            Tandas ultimaTanda = ctx.Tandas.ToList().LastOrDefault(a => a.fechaCerrado == null);


            MisCompras compras = new MisCompras();

            compras.Compras = ctx.Compras.Where(a => a.vecinoId == vecino.idVecino).OrderByDescending(a => a.fecha).ToList().Select(a => new Comprados
            {
                idCompra  = a.idCompra,
                estado    = a.EstadosCompra.nombre,
                fecha     = a.fecha.ToString("hh:mm dd/MM/yyyy"),
                idLocal   = a.Locales.idLocal,
                local     = a.Locales.direccion,
                barrio    = a.Locales.barrio,
                editar    = (ultimaTanda != null && a.Tandas.idTanda == ultimaTanda.idTanda) && a.estadoId == EstadoEntregado.idEstadoCompra,
                comentar  = a.estadoId == confirmado.idEstadoCompra,
                comentado = a.estadoId == comentado.idEstadoCompra,
                comuna    = a.Locales.comuna,
                productos = a.CompraProducto.ToList().Select(b => new ProductosComprados
                {
                    idProducto   = b.Productos.idProducto,
                    nombre       = b.Productos.producto,
                    marca        = b.Productos.marca,
                    presentacion = b.Productos.presentacion,
                    cantidad     = b.cantidad,
                    comentado    = a.ComentariosProducto.FirstOrDefault(c => c.productoId == b.productoId) != null, // a.Comentarios.Count == 1 ? a.Comentarios.FirstOrDefault().ComentariosProducto.FirstOrDefault(cp => cp.productoId == b.productoId).Productos != null : false,
                    precioUnidad = b.Precios.precio
                }).ToList()
            }).ToList();

            return(View(compras));
        }
        public ActionResult CancelarPedido(int idCompra)
        {
            TanoNEEntities ctx    = new TanoNEEntities();
            Vecinos        vecino = ctx.Vecinos.FirstOrDefault(a => a.correo == User.Identity.Name);

            EstadosCompra EstadoEntregado = ctx.EstadosCompra.FirstOrDefault(a => a.codigo == 1);
            Compras       cancelar        = ctx.Compras.FirstOrDefault(a => a.idCompra == idCompra && vecino.idVecino == a.vecinoId);

            if (cancelar != null)
            {
                ctx.Compras.Remove(cancelar);
                ctx.SaveChanges();
            }

            MisCompras compras = new MisCompras();

            compras.Compras = ctx.Compras.Where(a => a.vecinoId == vecino.idVecino).ToList().Select(a => new Comprados
            {
                idCompra  = a.idCompra,
                estado    = a.EstadosCompra.nombre,
                fecha     = a.fecha.ToString("hh:mm dd/MM/yyyy"),
                local     = a.Locales.direccion,
                barrio    = a.Locales.barrio,
                editar    = a.estadoId == EstadoEntregado.idEstadoCompra,
                comuna    = a.Locales.comuna,
                productos = a.CompraProducto.ToList().Select(b => new ProductosComprados
                {
                    idProducto   = b.Productos.idProducto,
                    nombre       = b.Productos.producto,
                    cantidad     = b.cantidad,
                    marca        = b.Productos.marca,
                    presentacion = b.Productos.presentacion,
                    //precioUnidad = b.Productos.Precios.FirstOrDefault(precio => a.fecha > precio.fecha).precio
                    precioUnidad = b.Precios.precio
                }).ToList()
            }).ToList();

            return(Json(compras));
        }