예제 #1
0
        public async Task <ActionResult <TraCompras> > PostTraCompras(TraCompras traCompras)
        {
            _context.TraCompras.Add(traCompras);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetTraCompras", new { id = traCompras.Idcompra }, traCompras));
        }
예제 #2
0
        public async Task <IActionResult> PutTraCompras(int id, TraCompras traCompras)
        {
            if (id != traCompras.Idcompra)
            {
                return(BadRequest());
            }

            _context.Entry(traCompras).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TraComprasExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #3
0
        // GET: Carrito
        /// <summary>
        ///  Busca el carrito del usuario y retorna la vista de carrito con sus datos
        /// </summary>
        /// <param name="id">el id del cliente.</param>
        /// <returns></returns>
        public async Task <IActionResult> CarritoView(int?id)   // id del cliente
        {
            //      id = 1;
            if (id == null)
            {
                return(RedirectToAction("Error", new { error = "Error... \nUsuario nulo" }));
            }
            List <CarritoCompra>     listaCarrito    = new List <CarritoCompra>();
            List <TraCompras>        compras         = new List <TraCompras>();
            List <TraConceptoCompra> conceptoCompras = new List <TraConceptoCompra>();
            TraCompras carrito      = new TraCompras();
            bool       siHayCarrito = false;

            HttpClient          cliente = _api.Initial();
            HttpResponseMessage res;

            try
            {
                res = await cliente.GetAsync("api/MtoCatClientes");
            }
            catch (Exception e)
            {
                return(RedirectToAction("Error", new { error = "No se puede conectar con el servidor :(" }));
            }

            if (res.IsSuccessStatusCode)
            {
                string result = res.Content.ReadAsStringAsync().Result;
                List <MtoCatCliente> clientes = JsonConvert.DeserializeObject <List <MtoCatCliente> >(result);
                bool clienteEncontrado        = false;
                foreach (MtoCatCliente c in clientes)
                {
                    if (c.Idcliente == id)
                    {
                        clienteEncontrado = true;
                    }
                }
                if (!clienteEncontrado)
                {
                    return(RedirectToAction("Error", new { error = "Error... \nUsuario Inexistente" }));
                }
            }

            try
            {
                res = await cliente.GetAsync("api/TraCompras/" + id);
            }
            catch (Exception e)
            {
                return(RedirectToAction("Error", new { error = "No se puede conectar con el servidor :(" }));
            }
            if (res.IsSuccessStatusCode)
            {
                string result = res.Content.ReadAsStringAsync().Result;
                compras = JsonConvert.DeserializeObject <List <TraCompras> >(result);

                foreach (var compra in compras)
                {
                    if (!compra.Pagado)
                    {
                        carrito      = compra;
                        siHayCarrito = true;
                        break;
                    }
                }
                ViewData["carritoId"] = carrito.Idcompra;
                ViewData["clienteId"] = carrito.Idusuario;
                idCarrito             = carrito.Idcompra;
                idCliente             = carrito.Idusuario;
                if (siHayCarrito)
                {
                    res = await cliente.GetAsync("api/TraConceptoCompras/" + carrito.Idcompra);

                    result          = res.Content.ReadAsStringAsync().Result;
                    conceptoCompras = JsonConvert.DeserializeObject <List <TraConceptoCompra> >(result);

                    List <MtoCatLibros> libros = new List <MtoCatLibros>();
                    foreach (TraConceptoCompra conceptoCompra in conceptoCompras)
                    {
                        res = await cliente.GetAsync("api/MtoCatLibros/" + conceptoCompra.Idlibro);

                        result = res.Content.ReadAsStringAsync().Result;
                        libros.Add(JsonConvert.DeserializeObject <MtoCatLibros>(result));
                    }
                    for (int i = 0; i < conceptoCompras.Count; i++)
                    {
                        listaCarrito.Add(new CarritoCompra(conceptoCompras[i], libros[i]));
                    }
                }
                else
                {
                    return(RedirectToAction("Error", new { error = "Carrito vacio... \nAgrega algo en el!" }));
                }
            }
            else
            {
                return(RedirectToAction("Error", new { error = "Error al consultar el carrito :(" }));
            }

            return(View(listaCarrito));
        }