public void UpdateConfirmacao(Confirmacao confirmacao) { if (confirmacao.Id != 0 && confirmacao.IdRemoto == 0) { throw new InvalidOperationException("Id local é diferente de zero mas id remoto é zero. Que porra é essa??"); } if (Confirmacoes.SingleOrDefault(i => i.IdRemoto == confirmacao.IdRemoto) is Confirmacao local) { confirmacao.Id = local.Id; Entry(local).CurrentValues.SetValues(confirmacao); } else { Add(confirmacao); } }
public static void efetuaTransacao(Operacoes operacao, Dictionary <String, String> dictionary) { mEntradaTransacao = new EntradaTransacao(operacao, "1"); if (!operacao.Equals(Operacoes.Administrativa)) { String valor = (String)dictionary["valor"]; int parcelas = Int32.Parse(dictionary["parcelas"]); String formaPagamento = (String)dictionary["formaPagamento"]; String tipoParcelamento = (String)dictionary["tipoParcelamento"]; mEntradaTransacao.InformaValorTotal(valor); if (operacao.Equals(Operacoes.Venda)) { mEntradaTransacao.InformaDocumentoFiscal("1000"); } mEntradaTransacao.InformaModalidadePagamento(ModalidadesPagamento.PagamentoCartao); if (formaPagamento.Equals("Crédito")) { mEntradaTransacao.InformaTipoCartao(Cartoes.CartaoCredito); mEntradaTransacao.InformaNumeroParcelas(parcelas); } else if (formaPagamento.Equals("Débito")) { mEntradaTransacao.InformaTipoCartao(Cartoes.CartaoDebito); mEntradaTransacao.InformaNumeroParcelas(parcelas); } else { mEntradaTransacao.InformaTipoCartao(Cartoes.CartaoDesconhecido); } if (tipoParcelamento.Equals("Loja")) { mEntradaTransacao.InformaTipoFinanciamento(Financiamentos.ParceladoEstabelecimento); } else if (tipoParcelamento.Equals("Adm")) { mEntradaTransacao.InformaTipoFinanciamento(Financiamentos.ParceladoEmissor); } else { mEntradaTransacao.InformaTipoFinanciamento(Financiamentos.AVista); } mEntradaTransacao.InformaNomeProvedor("DEMO"); mEntradaTransacao.InformaCodigoMoeda("986"); } mConfirmacao = new Confirmacoes(); new Thread(() => { try { mDadosAutomacao.ObtemPersonalizacaoCliente(); mSaidaTransacao = mTransacoes.RealizaTransacao(mEntradaTransacao); if (mSaidaTransacao == null) { return; } mConfirmacao.InformaIdentificadorConfirmacaoTransacao( mSaidaTransacao.ObtemIdentificadorConfirmacaoTransacao() ); mEntradaTransacao = null; } catch (Exception e) { Console.WriteLine("Exception" + e); } finally { mEntradaTransacao = null; if (mSaidaTransacao != null) { mHandler.Post(mostraJanelaResultado); } } }).Start(); }