public ResponseWeb ActualizarPedido(PedidoEntidad entidad)
        {
            PedidoDominio oPedidoDominio = new PedidoDominio();
            ResponseWeb   response       = new ResponseWeb();
            var           pedido         = oPedidoDominio.ObtenerxId(entidad);

            if (pedido.Fecha_Entrega < DateTime.Parse(DateTime.Now.ToString("dd/MM/yyyy")))
            {
                response.Estado  = false;
                response.Message = "La fecha de pedido ya vencio";
            }
            else
            {
                if (pedido.Fecha_Entrega.ToString("dd/MM/yyyy") != DateTime.Now.ToString("dd/MM/yyyy"))
                {
                    response.Estado  = false;
                    response.Message = "Solo se puede modificar el estado en la misma fecha de entrega";
                }
                else
                {
                    response.Estado = oPedidoDominio.ModificarPedido(entidad);
                }
            }


            return(response);
        }
        public IActionResult Editar(PedidoViewModel pedido, int id)
        {
            try
            {
                var pedidoExiste = _pedidoRepositorio.BuscarPorId(id);

                if (pedidoExiste == null)
                {
                    return(NotFound(new { mensagem = "Pedido não encontrado" }));
                }

                PedidoDominio pedidoAlterar = new PedidoDominio()
                {
                    Id = pedido.Id,
                    DescricaoPedido = pedido.DescricaoPedido,
                    Turma           = pedido.Turma,
                    Email           = pedido.Email,
                    Telefone        = pedido.Telefone,
                    Ativo           = pedido.Ativo
                };

                _pedidoRepositorio.Editar(pedidoAlterar);

                return(Ok(pedidoAlterar));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { sucesso = false, mensagem = ex.Message }));
            }
        }
示例#3
0
 public PedidoDominio Editar(PedidoDominio pedido)
 {
     try
     {
         using (ECommerceContext ctx = new ECommerceContext())
         {
             ctx.Entry <PedidoDominio>(pedido).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
             ctx.SaveChanges();
             return(pedido);
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
示例#4
0
 public PedidoDominio Cadastrar(PedidoDominio pedido)
 {
     try
     {
         using (ECommerceContext ctx = new ECommerceContext())
         {
             ctx.Pedidos.Add(pedido);
             ctx.SaveChanges();
             return(pedido);
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        public IActionResult Post(PedidoViewModel pedido)
        {
            try
            {
                PedidoDominio pedidoNovo = new PedidoDominio()
                {
                    DescricaoPedido = pedido.DescricaoPedido,
                    Turma           = pedido.Turma,
                    Email           = pedido.Email,
                    Telefone        = pedido.Telefone,
                    Ativo           = pedido.Ativo
                };

                var pedidoRetorno = _pedidoRepositorio.Cadastrar(pedidoNovo);

                return(Ok(pedidoRetorno));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { sucesso = false, mensagem = ex.Message }));
            }
        }
        public ResponseWeb RegistrarPedido(PedidoEntidad entidad)
        {
            PedidoDominio   oPedidoDominio   = new PedidoDominio();
            ProductoDominio oProductoDominio = new ProductoDominio();
            ResponseWeb     response         = new ResponseWeb();

            response.Estado = true;
            foreach (var item in entidad.DetallePedido)
            {
                var producto = oProductoDominio.ObtenerxCodigo(item.Producto.Cod_Producto.ToString());
                if (producto.Cantidad < item.Producto.Cantidad)
                {
                    response.Estado  = false;
                    response.Message = "No hay stock en alguno de los productos";
                    break;
                }
            }


            if (response.Estado)
            {
                response.Estado = oPedidoDominio.RegistrarPedido(entidad);
                if (response.Estado)
                {
                    string rutaCola = @".\private$\compraproductos";
                    if (!MessageQueue.Exists(rutaCola))
                    {
                        MessageQueue.Create(rutaCola);
                    }
                    MessageQueue cola = new MessageQueue(rutaCola);
                    cola.Purge();
                }
            }

            return(response);
        }