Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }