Exemplo n.º 1
0
        //[ValidateAntiForgeryToken]
        public ActionResult CargarPedido(PedidoModel pedidoModel)
        {
            if (pedidoModel == null)
            {
                return(View("Index"));
            }

            UsuarioDTO usuarioDTO = new UsuarioDTO()
            {
                Usuario = User.Identity.Name
            };

            var getIdUsuario = _usuarioBLL.ObtenerUsuario(usuarioDTO);

            //obtener carro
            var getcarro = _carroBLL.ObtenerCarro(getIdUsuario.Id);

            var carro = Mapper.Map <PedidoModel>(getcarro);

            // asignar perecio unitario desde el carro al pedido (x codigo del Producto)
            foreach (var item in pedidoModel.DetallesPedido)
            {
                item.Producto.PrecioUnitario = carro.DetallesPedido.First(x => x.Producto.Codigo == item.Producto.Codigo).Producto.PrecioUnitario;
            }

            pedidoModel.Fecha     = DateTime.Now;
            pedidoModel.IdUsuario = getIdUsuario.Id;

            var pedidoDTO = Mapper.Map <PedidoDTO>(pedidoModel);

            try
            {
                if (_pedidoBLL.AgregarPedido(pedidoDTO))
                {
                    _carroBLL.VaciarCarro(getIdUsuario.Id);
                }

                return(Json(new { Success = true }));
            }
            catch (Exception)
            {
                return(Json(new { Success = false }));
            }
        }