示例#1
0
        public async Task <PedidoItemFornecedor> AtualizarItemAsync(PedidoItemStatusDto item, int id)
        {
            if (await Task.Run(() => !_fornecedorRepository.Exists(x => x.FornecedorId == id)))
            {
                throw new ArgumentException("Fornecedor não encontrado");
            }

            if (await Task.Run(() => !_pedidoItemFornecedorRepository.Exists(x => x.CodPedidoItemFornec == item.CodPedidoFornec && x.FornecedorId == id)))
            {
                throw new ArgumentException("Item do pedido não encontrado");
            }

            if (await Task.Run(() => !_statusRepository.Exists(x => x.StatusId == item.Status)))
            {
                throw new ArgumentException("Status não encontrado");
            }

            var pedidoItem = await _pedidoItemFornecedorRepository.GetAsync(id, item.CodPedidoFornec);

            pedidoItem.StatusId   = item.Status;
            pedidoItem.Observacao = item.Observacao;
            _pedidoItemFornecedorRepository.Update(pedidoItem);
            pedidoItem = await _pedidoItemFornecedorRepository.GetAsync(id, item.CodPedidoFornec);

            return(await Task.Run(() => pedidoItem));
        }
示例#2
0
        public async Task <ActionResult> AtualizarItemAsync([FromBody] PedidoItemStatusDto item)
        {
            try
            {
                var id     = ExtensionsController.GetId(this);
                var pedido = await _pedidoItemFornecedorBusiness.AtualizarItemAsync(item, id);

                return(Ok("Pedido " + pedido.CodPedidoItemFornec + " atualizado! Novo status: " + pedido.Status.Nome));
            }
            catch (ArgumentException ex)
            {
                LogarErro(ex);
                return(StatusCode(400, ex.Message));
            }
            catch (Exception ex)
            {
                LogarErro(ex);
                return(StatusCode(500, "Internal server error"));
            }
        }