private int InserirPedidoVenda(SAPbobsCOM.Company oCompany, Order pedidoMl) { try { if (oCompany.Connected) { OrdersDAL orderDAL = new OrdersDAL(oCompany); string messageError = ""; int oOrderNum = 0; Boolean inserir = true; foreach (Order_Items item in pedidoMl.order_items) { if (item.item.seller_custom_field == null && inserir) { this.log.WriteLogTable(oCompany, EnumTipoIntegracao.PedidoVenda, pedidoMl.id.ToString(), "", EnumStatusIntegracao.Erro, "Um ou mais item(s) do pedido está com o código de referência inválido."); //throw new ArgumentException("Não foi possível criar o Pedido de Venda para o pedido "+pedidoVtex.orderId+" pois um ou mais item(s) do pedido está com o código de referência inválido."); inserir = false; } } if (inserir) { oOrderNum = orderDAL.InsertOrder(pedidoMl, out messageError); } } return(0); } catch (Exception e) { this.log.WriteLogPedido("Exception InserirPedidoVenda " + e.Message); throw; } }
private int InserirPedidoVenda(SAPbobsCOM.Company oCompany, OrderPluggto pedidoPluggto) { try { if (oCompany.Connected) { OrdersDAL orderDAL = new OrdersDAL(oCompany); string messageError = ""; int oOrderNum = 0; Boolean inserir = true; foreach (Item item in pedidoPluggto.Order.items) { if (string.IsNullOrEmpty(item.sku) && inserir) { this.log.WriteLogTable(oCompany, EnumTipoIntegracao.PedidoVenda, pedidoPluggto.Order.id, "", EnumStatusIntegracao.Erro, "Um ou mais item(s) do pedido está com o código de referência inválido."); this.log.WriteLogPedido("Um ou mais item(s) do pedido está com o código de referência inválido."); inserir = false; } } if (inserir) { oOrderNum = orderDAL.InsertOrder(pedidoPluggto.Order, out messageError); } } return(0); } catch (Exception e) { this.log.WriteLogPedido("Exception InserirPedidoVenda " + e.Message); throw; } }
private int InserirPedidoVenda(SAPbobsCOM.Company oCompany, OrderIntegraCommerce pedido, int idOrderQueue) { try { if (oCompany.Connected) { OrdersDAL order = new OrdersDAL(oCompany); string messageError = ""; int oOrderNum = 0; Boolean inserir = true; /*foreach (ItemVtex item in pedido.items) * { * if (item.refId == null && inserir) * { * this.log.WriteLogTable(oCompany, EnumTipoIntegracao.PedidoVenda, pedido.orderId, "", EnumStatusIntegracao.Erro, "Um ou mais item(s) do pedido está com o código de referência inválido."); * //throw new ArgumentException("Não foi possível criar o Pedido de Venda para o pedido "+pedidoVtex.orderId+" pois um ou mais item(s) do pedido está com o código de referência inválido."); * inserir = false; * } * }*/ if (inserir) { oOrderNum = order.InsertOrder(pedido, out messageError); if (oOrderNum == 0) { Repositorio repositorio = new Repositorio(); //Pedido inserido no SAP, removendo pedido da fila de enventos(Feed), para não ser mais processado. Task <HttpResponseMessage> response = repositorio.AtualizaFilaEnvetoPedido(idOrderQueue); if (response.Result.IsSuccessStatusCode) { this.log.WriteLogPedido("Pedido " + pedido.IdOrder + " removido de OrderQueue"); } else { this.log.WriteLogPedido("Não foi possível remover o pedido " + pedido.IdOrder + " de OrderQueue" + response.Result.ReasonPhrase); } //Alterar status para Processing if (!pedido.OrderStatus.Equals("INVOICED")) { Task <HttpResponseMessage> responseIniciarManuseio = repositorio.AlterarStatusPedido(pedido.IdOrder); if (responseIniciarManuseio.Result.IsSuccessStatusCode) { this.log.WriteLogPedido("Alterado status do pedido " + pedido.IdOrder + " para Iniciar PROCESSING."); } else { this.log.WriteLogPedido("Não foi possível alterar o status do pedido " + pedido.IdOrder + " para PROCESSING." + response.Result.ReasonPhrase); } } } } } return(0); } catch (Exception e) { this.log.WriteLogPedido("Exception InserirPedidoVenda " + e.Message); throw; } }