public InterfaceStatus RefundPoints2(string Login, string Token, int OrderId, int Parceiro) { Omnion.Login usuario = OmnionLoginEngine.Instance.Get(Login, Token); InterfaceStatus stauts; if (usuario.CodigoErro == 0) { Omnion.Cancelamento cancel = OmnionCancelamentoEngine.Instance.Get(OrderId, Parceiro); if (cancel != null) stauts = new InterfaceStatus(RefundPointsEnum.PONTOS_EXTORNADOS_COM_SUCESSO); else stauts = new InterfaceStatus(RefundPointsEnum.ERRO_NA_CONSULTA); } else { stauts = new InterfaceStatus(RefundPointsEnum.ERRO_NA_CONSULTA); } return stauts; }
public InterfaceStatus FinalizeOrder3(string Login, string Token, int OrderId, int Status, int Parceiro, string XmlTroca) { /* <TROCA> <DATA>22/11/2010</DATA> <CPF>17263404818</CPF> <PONTOS>1</PONTOS> <PEDIDO>999</PEDIDO> <IDPARCEIRO>3</IDPARCEIRO> <PRODUTO> <NOME>BOLA QUADRADA</NOME> <CODIGO>X</CODIGO> <VALOR>30</VALOR> <QUANTIDADE>1</QUANTIDADE> <CODIGOCATEGORIA>0</CODIGOCATEGORIA> <DESCRICAOCATEGORIA>ESPORTIVOS;FUTEBOL;INFANTIL</DESCRICAOCATEGORIA> <FRETE>0</FRETE> </PRODUTO> <PRODUTO> <NOME>BOLA TRIANGULAR</NOME> <CODIGO>X</CODIGO> <VALOR>30</VALOR> <QUANTIDADE>1</QUANTIDADE> <CODIGOCATEGORIA>0</CODIGOCATEGORIA> <DESCRICAOCATEGORIA>ESPORTIVOS;FUTEBOL;INFANTIL</DESCRICAOCATEGORIA> <FRETE>0</FRETE> </PRODUTO> </TROCA> */ InterfaceStatus InterfaceStatus = null; try { Sam9araujo.NameProject.Service.Omnion.Login omnionLogin = OmnionLoginEngine.Instance.Get(Login, Token); if (omnionLogin != null) { OrderPointsTemp orderPointsTemp = OrderPointsTempRepository.Instance.Obter(OrderId, Parceiro); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Parceiro: " + Parceiro, true, false); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "OrderID: " + OrderId, false, false); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Status Parceiro: " + Status, false, false); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "CPF: " + omnionLogin.CPF, false, false); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Pontos antes da transação: " + omnionLogin.Saldo, false, false); if (orderPointsTemp != null) { Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Pedido: " + OrderId + " na tabela 'orderPointsTemp' recuperado.", false, false); Omnion.Pedido omnionPedido = Omnion.OmnionPedidoEngine.Instance.Get(orderPointsTemp.IdOrder, orderPointsTemp.Points.ToString(), "0", omnionLogin.CPF, Parceiro, Server.UrlDecode(XmlTroca)); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "omnionPedido.CodigoErro: " + omnionPedido.CodigoErro, false, false); if (omnionPedido.CodigoErro == 0) { Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Pontos antes da transação: " + omnionLogin.Saldo, false, false); if (XmlTroca != null && XmlTroca != string.Empty) { Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), XmlTroca, false, false); Domain.Pedido pedido = new Domain.Pedido(); { //Dados do pedido pedido.Data = DateTime.Now; pedido.Nome = omnionLogin.Nome; pedido.FormaPagamento = "-"; //Dados de Entrega do pedido pedido.Bairro = "-"; pedido.Cidade = "-"; pedido.UF = "-"; pedido.CPFCNPJ = "-"; pedido.CEP = "-"; pedido.Endereco = "-"; pedido.Frete = 0; pedido.Status = "OK"; pedido.IdParceiro = Parceiro; ItemPedido itemPedido = new ItemPedido(); { itemPedido.IdItem = OrderId; itemPedido.Quantidade = 1; itemPedido.ValorRebate = 0; itemPedido.PrecoUnitario = 0; itemPedido.Nivel = 0; //itemPedido.IdProduto = null; //itemPedido.NomeProduto = null; } } PedidoRepository.Instance.Insert(pedido); } InterfaceStatus = new InterfaceStatus(FinalizeOrderEnum.TRANSACAO_AUTORIZADA); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "TRANSACAO_AUTORIZADA", false, false); } else { InterfaceStatus = new InterfaceStatus(FinalizeOrderEnum.FALHA_GERAL); } Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Pontos depois da transação: " + omnionLogin.Saldo, false, false); } else { InterfaceStatus = new InterfaceStatus(FinalizeOrderEnum.FALHA_GERAL); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Erro ao recuperar o pedido: " + OrderId + " na tabela 'orderPointsTemp'", false, false); } Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "CodErro Omnion: " + omnionLogin.CodigoErro, false, false); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Status Omnion: " + omnionLogin.Status, false, true); } else { Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Erro ao tentar logar na Omnion:", false, true); } } catch (Exception ex) { InterfaceStatus = new InterfaceStatus(FinalizeOrderEnum.FALHA_GERAL); Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Excessão, consultar LOG: " + DateTime.Now, false, true); Logger.WriteLogError("ValidateOrder", ex); } return InterfaceStatus; }