Example #1
0
        [HttpPost("seleccionar/{id}")] //Como mercado selecciono un producto y le agrego precio y stock
        public async Task <ActionResult> SeleccionarProductoMercado(int id, ProdMercado prodmercado)
        {
            var productoActionResult = await Get(id); //consigo el producto dando como parĂ¡metro su id(Action Result)

            if (productoActionResult.Result is NotFoundResult)
            {
                return(NotFound());
            }                                          // Si no se encuentra el producto retorno NoEncontrado
            var producto = productoActionResult.Value; //Consigo el vallor del ActionResult dando como resultado el producto

            var mercado = await context.Mercados.FirstAsync(x => x.Email == HttpContext.User.Identity.Name);

            var existeProdMer = context.ProductosMercados.Any(x => x.MercadoId == mercado.Id && x.ProductoId == id);

            if (existeProdMer)  //Solo actualizo
            {
                var BDprodMer = await context.ProductosMercados.FirstAsync(x => x.MercadoId == mercado.Id && x.ProductoId == id);

                context.ProductosMercados.Attach(BDprodMer);
                BDprodMer.Precio = prodmercado.precio;
                BDprodMer.Stock  = prodmercado.stock;

                await context.SaveChangesAsync();

                return(NoContent());
            }
            else
            {   //Creo un nuevo prodMercado
                var productoMercado = new ProductoMercado
                {
                    Mercado    = mercado,
                    MercadoId  = mercado.Id,
                    Precio     = prodmercado.precio,
                    Stock      = prodmercado.stock,
                    ProductoId = producto.Producto.Id,
                    Producto   = producto.Producto
                };
                context.Add(productoMercado);
                await context.SaveChangesAsync();

                return(NoContent());
            }
        }
Example #2
0
        public async Task <ActionResult <ProdMercado> > GetProductoMercado(int id)
        {
            var mercado = await context.Mercados
                          .FirstOrDefaultAsync(x => x.Email == HttpContext.User.Identity.Name);

            var existe = await context.ProductosMercados
                         .AnyAsync(x => x.ProductoId == id && x.MercadoId == mercado.Id); // Verificamos si existe dicho producto

            if (!existe)
            {
                return(BadRequest());
            }                                                  //Si no existe retorno NotFound()
            var productoMercado = await context.ProductosMercados
                                  .FirstOrDefaultAsync(x => x.ProductoId == id && x.MercadoId == mercado.Id);

            var prodMercadoPriceStock = new ProdMercado {
                precio = productoMercado.Precio, stock = productoMercado.Stock
            };

            return(prodMercadoPriceStock);
        }