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