public void TestPassandoValorZeroParaCotacaoDoDolar() { IMoeda moeda = new Moeda("R$", 10.00M); IMoeda CotacaoEmDolarDoReal = new Moeda("R$", 0); Assert.Throws <Exception>(() => moeda.ConverterParaDolar(CotacaoEmDolarDoReal)); }
public void TesteQuePegaOHashCodeDoObjetoDeAcordoComOsDadosDele() { IMoeda moeda = new Moeda("R$", 10.00M); var hash = moeda.SiglaMoeda.GetHashCode() ^ moeda.Valor.GetHashCode(); Assert.True(moeda.GetHashCode().Equals(hash)); }
public IActionResult Get(Guid id) { try { //Busca o produto pelo Id var produto = _produtoRepository.BuscarPorId(id); //Verifica se ele existe, caso não axista, retorna NotFound (Não Encontrado) if (produto == null) { return(NotFound()); } Moeda dolar = new Moeda(); //Caso exista, retorna um Ok com os dados do produto return(Ok(new { produto, valorDolar = produto.Preco / dolar.GetDolarValue() })); } catch (Exception ex) { //Caso ocorra algum erro, retorna um BadRequest e a mensagem de erro return(BadRequest(ex.Message)); } }
public IActionResult Get(Guid id) { try { //Busco o produto pelo Id Produto produto = _produtoRepository.BuscarPorId(id); //Verifico se o produto foi encontrado //Caso não exista retorno NotFound if (produto == null) { return(NotFound()); } // Instaciamos a classe moeda Moeda dolar = new Moeda(); //Caso exista retorno Ok e os dados do produto return(Ok(new { produto, // Dizemos o valor do produto em Dólar, realizando uma operação entre o valor em real e em dólar valorDolar = produto.Preco / dolar.GetDolarValue() })); } catch (Exception ex) { //Caso ocorra algum erro retorno BadRequest e a mensagem da exception return(BadRequest(ex.Message)); } }
private IEnumerable <EntregaFixaProcessada> GeraTodasRecorrenciasDeUmaRegra(IEnumerable <Competencia> competencias = null, ParametrosDeRegraDeRemuneracao regraFixa = null) { PeriodoSimples periodo = competencias.ObtemPeriodoQueCompreendeTodasAsCompetencias(); DateTime inicio = periodo.Inicio; DateTime fim = periodo.Fim; dynamic idMoeda = regraFixa.ParametrosExtras.Dinheiro["Moeda"]["Id"]; decimal valor = decimal.Parse(regraFixa.ParametrosExtras.Dinheiro["Valor"].ToString()); Moeda moeda = Moeda.Obtem(idMoeda.ToString()); Dinheiro valorRegra = new Dinheiro(valor, moeda); JsonSerializerSettings settingsSerializer = new JsonSerializerSettings() { ContractResolver = new JsonContractResolverDeModelosBase() }; //Dinheiro valorRegra = JsonConvert.DeserializeObject<Dinheiro>(regraFixa.ParametrosExtras.Dinheiro.ToString(), settingsSerializer); Recorrencia <DateTime> rec = JsonConvert.DeserializeObject <Recorrencia <DateTime> >(regraFixa.ParametrosExtras.Recorrencia.ToString(), settingsSerializer); rec.Atual = regraFixa.Vigencia.Inicio; DateTime dataReferencia = rec.Atual; Dictionary <int, DateTime> datasDoPeriodo = new Dictionary <int, DateTime>(); Recorrencia <DateTime> atual = rec; while (dataReferencia <= fim) { datasDoPeriodo.Add(atual.Serie, dataReferencia); atual = atual.ProximoNaRecorrencia; dataReferencia = atual.Atual; } atual = rec.AnteriorNaRecorrencia; dataReferencia = atual.Atual; List <EntregaFixaProcessada> entregas = new List <EntregaFixaProcessada>(); foreach (KeyValuePair <int, DateTime> data in datasDoPeriodo) { foreach (Competencia comp in competencias) { if (comp.Contem(data.Value)) { EntregaFixaProcessada ent = new EntregaFixaProcessada(data.Value, comp); ent.Serie = data.Key; ent.IdRegra = regraFixa.Id; entregas.Add(ent); break; } } } return(entregas); }
public IActionResult Get(Guid id) { try { //Busco o produto pelo Id Produto produto = _produtoRepository.BuscarPorId(id); //Verifico se o produto foi encontrado //Caso não exista retorno NotFounf if (produto == null) { return(NotFound()); } Moeda dolar = new Moeda(); //Caso exista retorno Ok e os dados do produto return(Ok(new { produto, valorDolar = dolar.GetDolarValue() })); } catch (Exception ex) { //Caso ocorra algum erro retorno BadRequest e a mensagem da exception return(BadRequest(ex.Message)); } }
public IActionResult Post([FromBody] Moeda moeda) { try { var taxa = cambioServico.PegarTaxa(moeda.Codigo); } catch (Exception) { return(BadRequest(new ApiCasoDeUsoSaida.Padrao() { Mensagem = "Moeda inválida" })); } if (moedaRepositorio.Seleciona(moeda.Id) != null) { return(BadRequest(new ApiCasoDeUsoSaida.Padrao() { Mensagem = "Moeda já existe" })); } moedaRepositorio.Insere(moeda); return(Created("", new ApiCasoDeUsoSaida.Padrao() { Mensagem = "Moeda criada com sucesso", })); }
public IActionResult Novo(int Codigo) { Moeda objConta = new Moeda(); int cod = objConta.Novo(Codigo); return(Json(new { sucesso = true, mensagem = cod })); }
public async Task <ActionResult <Moeda> > PostMoedas(Moeda Moedas) { _context.Moedas.Add(Moedas); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetMoedas), new { id = Moedas.Id }, Moedas)); }
public async Task <IActionResult> Edit(int id, [Bind("MoedaId,Nome,Quantidade")] Moeda moeda) { if (id != moeda.MoedaId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(moeda); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MoedaExists(moeda.MoedaId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(moeda)); }
public void TestDeConversaoDeMoedaAPIExternaComCotacaoNoCache() { IMoeda MoedaDolar = new Moeda("USD", 1); IMoeda MoedaReal = new Moeda("BRL", 3.85M); Mock <IDistributedCache> mckcache = new Mock <IDistributedCache>(); Mock <IConfigurationHelper> mckconfigurationHelper = new Mock <IConfigurationHelper>(); mckconfigurationHelper.Setup(x => x.GetSection("ACCESS_KEY")).Returns("?access_key=1503440cbd4d453ce74962abd00a82c2"); mckconfigurationHelper.Setup(x => x.GetSection("BASE_URL")).Returns("http://apilayer.net/api/"); RedisConnectorHelperFactory redisHelperFactory = new RedisConnectorHelperFactory(mckcache.Object); IRedisConnectorHelper redisHelper = redisHelperFactory.Create(); mckcache.Setup(x => x.Get("GetCotacaoComBaseNoDolarBRL")).Returns(Serialize(MoedaReal)); mckcache.Setup(x => x.Get("GetCotacaoComBaseNoDolarUSD")).Returns(Serialize(MoedaDolar)); IConversorService service = new ConversorService(new ConversorACLFactory(new MoedaFactory(), new RedisConnectorHelperFactory(mckcache.Object), mckconfigurationHelper.Object), new MoedaFactory()); ConverterMoedaRequest request = new ConverterMoedaRequest() { SiglaMoedaOrigem = "BRL", MoedaParaConversao = "USD", ValorParaConversao = 1M }; var result = service.ConverterMoeda(request); Assert.True(result != null); Assert.True(result.valor > 0 || result.valor < 0); }
public LayoutServicosGerais( Cabecalho cabecalho, int servicoId, BaseCalculo baseCalculo, ValorCarga valorCarga, Moeda moeda, string descricaoValor, decimal adicionalIMO, decimal exercito, int tipoDocumentoId, BaseCalculoExcesso baseExcesso, decimal valorExcesso, FormaPagamento formaPagamentoNVOCC) { Cabecalho = cabecalho; ServicoId = servicoId; BaseCalculo = baseCalculo; ValorCarga = valorCarga; Moeda = moeda; DescricaoValor = descricaoValor; AdicionalIMO = adicionalIMO; Exercito = exercito; TipoDocumentoId = tipoDocumentoId; BaseExcesso = baseExcesso; ValorExcesso = valorExcesso; FormaPagamentoNVOCC = formaPagamentoNVOCC; }
public IActionResult Get(Guid id) { try { Produto produto = _produtoRepository.BuscarPorId(id); if (produto == null) { return(NotFound()); } Moeda dolar = new Moeda(); return(Ok(new { produto, valorDolar = produto.Preco / dolar.GetDolarValue() })); } catch (Exception ex) { //cria o um novo obj e devolve uma mensagem de erro return(BadRequest(new { StatusCode = 400, error = "Ocorreu um erro no endpoint Get/produtos, envie um email para nós" })); } }
public NotificationResult Salvar(Moeda entidade) { var notificationResult = new NotificationResult(); try { if (entidade.CodMoeda == 0) { notificationResult.Add(new NotificationError("Qtde. de produtos no Estoque inválido.", NotificationErrorType.USER)); } if (notificationResult.IsValid) { _moeda_Repositorio.Adicionar(entidade); notificationResult.Add("Produto cadastrado com sucesso."); } notificationResult.Result = entidade; return(notificationResult); } catch (Exception ex) { return(notificationResult.Add(new NotificationError(ex.Message))); } }
public ActionResult Get(Guid id) { try { // Busco o produto pelo id lá no repositorio var produto = _produtoRepository.BuscarPorId(id); // Aqui nós fazemos uma verificação para saber se esse produto buscado existe. Caso n exista retorna // Retorna Notfound- Produto n encontrado if (produto == null) { return(NotFound()); } Moeda dolar = new Moeda(); // Caso o produto exista retorna // Ok e seus dados return(Ok(new { produto, valorDolar = produto.Preco / dolar.GetDolarValue() })); // R$ 129,90 / U$ 5,44 = U$ 23,87 } catch (Exception ex) { // Caso ocorra algum erro retorna BadRequest e a msg de erro return(BadRequest(ex.Message)); } }
public IActionResult Get(Guid id) { try { //Busca o produto no repositorio Produto produto = _produtorepository.BuscarPorId(id); //Verifica se o produto existe //caso nao exista, retorna NotFound if (produto == null) { return(NotFound()); } Moeda dolar = new Moeda(); //Caso o produto exista //Retorna ok e os dados do produto com a conversão do real pra dolar. return(Ok(new { produto, valorDolar = dolar.GetDolarValue() * produto.Preco })); } catch (Exception ex) { //Caso ocorra um erro retorna BadRequest com a mensagem de erro return(BadRequest(ex.Message)); } }
private void PesquisarMoeda(int tipo, int id = 0) // tipo 1 = Moeda de Origem, Tipo 2= Moeda de Destino { Moeda moedaPesquisada = new Moeda(); if (id > 0) { moedaPesquisada = DBMoeda.ObterPorId(id); } else { FrmPesquisaMoeda frmPesquisaMoeda = new FrmPesquisaMoeda(); var result = frmPesquisaMoeda.ShowDialog(); if (result == DialogResult.OK) { moedaPesquisada = frmPesquisaMoeda.MoedaSelecionada; } } if (moedaPesquisada.Id > 0 && tipo == 1) { txtIdMoedaOrigem.Text = moedaPesquisada.Id.ToString(); lblMoedaOrigem.Text = moedaPesquisada.Nome; MoedaOrigemSelecionada = moedaPesquisada; } if (moedaPesquisada.Id > 0 && tipo == 2) { txtIdMoedaDestino.Text = moedaPesquisada.Id.ToString(); lblMoedaDestino.Text = moedaPesquisada.Nome; MoedaDestinoSelecionada = moedaPesquisada; } }
public LayoutServicoLiberacao( Cabecalho cabecalho, int servicoId, BaseCalculo baseCalculo, Margem margem, TipoCarga tipoCarga, ValorCarga valorCarga, int reembolso, Moeda moeda, string descricaoValor, int tipoDocumentoId, int grupoAtracacaoId, decimal adicionalIMO, decimal exercito) { Cabecalho = cabecalho; ServicoId = servicoId; BaseCalculo = baseCalculo; Margem = margem; TipoCarga = tipoCarga; ValorCarga = valorCarga; Reembolso = reembolso; Moeda = moeda; DescricaoValor = descricaoValor; TipoDocumentoId = tipoDocumentoId; GrupoAtracacaoId = grupoAtracacaoId; AdicionalIMO = adicionalIMO; Exercito = exercito; }
public void TestDeConversaoDeMoeda() { Mock <IMoedaFactory> moedaFactoryMock = new Mock <IMoedaFactory>(); Mock <IConversorACL> aclMck = new Mock <IConversorACL>(); Mock <IConversorACLFactory> aclFactoryMck = new Mock <IConversorACLFactory>(); ConverterMoedaRequest request = new ConverterMoedaRequest() { SiglaMoedaOrigem = "BRL", MoedaParaConversao = "USD", ValorParaConversao = 1M }; IMoeda moedaOrigem = new Moeda(request.SiglaMoedaOrigem, request.ValorParaConversao); aclMck.Setup(x => x.GetCotacaoComBaseNoDolar(request.SiglaMoedaOrigem)).Returns(new Moeda("BRL", 3.84M)); aclMck.Setup(x => x.GetCotacaoComBaseNoDolar(request.MoedaParaConversao)).Returns(new Moeda("USD", 1)); aclFactoryMck.Setup(x => x.Create()).Returns(aclMck.Object); moedaFactoryMock.Setup(x => x.Create("BRL", 1m)).Returns(moedaOrigem); IMoeda MoedaParaConversao = new Moeda("USD", 0.25M); moedaFactoryMock.Setup(x => x.Create("USD", It.IsAny <Decimal>())).Returns(MoedaParaConversao); IConversorService service = new ConversorService(aclFactoryMck.Object, moedaFactoryMock.Object); var result = service.ConverterMoeda(request); Assert.True(result != null); Assert.True(result.valor.Equals(MoedaParaConversao.Valor)); aclMck.VerifyAll(); aclFactoryMck.VerifyAll(); }
public static LayoutServicoHubPort NovoLayoutServicoHubPort( int modeloId, int linha, string descricao, int servicoId, BaseCalculo baseCalculo, decimal valor, int origem, int destino, Moeda moeda, FormaPagamento formaPagamentoNVOCC, string descricaoValor, bool ocultar) { var cabecalho = new Cabecalho(modeloId, linha, descricao, TipoRegistro.SERVICO_HUBPORT, ocultar); var layoutServicoHubPort = new LayoutServicoHubPort( cabecalho, servicoId, baseCalculo, valor, origem, destino, moeda, formaPagamentoNVOCC, descricaoValor); return(layoutServicoHubPort); }
public IActionResult Get(Guid id) { try { Produto produto = _produtoRepository.BuscarPorId(id); if (produto == null) { return(NotFound()); } Moeda dolar = new Moeda(); return(Ok(new { produto, valorDolar = produto.Preco / dolar.GetDolarValue() } )); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> PutMoedas(int id, Moeda Moedas) { if (id != Moedas.Id) { return(BadRequest()); } _context.Entry(Moedas).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MoedasExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public FileDownloadDTO ExportarRelStatusVenda(RelStatusVendaFiltro filtro, int?usuarioId, FormatoExportacaoArquivo formato) { if (!UsuarioLogado.IsInRole(Funcionalidade.RelStatusVendaImprimir)) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(null); } var specification = MontarSpecificationRelStatusVenda(filtro); var lista = vendaRepository.ListarPeloFiltro( specification, l => l.Contrato, l => l.Contrato.ListaVendaParticipante.Select(c => c.Cliente), l => l.Contrato.Unidade, l => l.Contrato.Unidade.Bloco, l => l.Contrato.Unidade.Empreendimento, l => l.Contrato.Unidade.Empreendimento.Incorporador, l => l.TabelaVenda, l => l.IndiceFinanceiro ).To <List <Venda> >(); relStatusVenda objRel = new relStatusVenda(); objRel.SetDataSource(RelStatusVendaToDataTable(lista)); var parametros = parametrosRepository.Obter(); Moeda moedaPadrao = new Moeda(); Moeda moedaConversao = new Moeda(); if (parametros.MoedaPadraoId.HasValue && parametros.MoedaPadraoId.Value > 0) { moedaPadrao = moedaRepository.ObterPeloId(parametros.MoedaPadraoId.Value); } if (filtro.MoedaConversao != 0) { moedaConversao = moedaRepository.ObterPeloId(filtro.MoedaConversao); } var caminhoImagem = PrepararIconeRelatorio(null, parametros); var descricaoMoeda = ObterDescricaoMoeda(moedaPadrao, moedaConversao); objRel.SetParameterValue("descricaoMoeda", descricaoMoeda); objRel.SetParameterValue("caminhoImagem", caminhoImagem); FileDownloadDTO arquivo = new FileDownloadDTO( "Rel. Status da Venda", objRel.ExportToStream((ExportFormatType)formato), formato); if (System.IO.File.Exists(caminhoImagem)) { System.IO.File.Delete(caminhoImagem); } return(arquivo); }
public LayoutServicoMecanicaManual( Cabecalho cabecalho, int servicoId, BaseCalculo baseCalculo, ValorCarga valorCarga, decimal adicionalIMO, decimal exercito, Moeda moeda, decimal pesoMaximo, decimal adicionalPeso, TipoTrabalho tipoTrabalho, string descricaoValor) { Cabecalho = cabecalho; ServicoId = servicoId; BaseCalculo = baseCalculo; ValorCarga = valorCarga; AdicionalIMO = adicionalIMO; Exercito = exercito; Moeda = moeda; PesoMaximo = pesoMaximo; AdicionalPeso = adicionalPeso; TipoTrabalho = tipoTrabalho; DescricaoValor = descricaoValor; }
private void BtnDelete_Click(object sender, EventArgs e) { try { DialogResult result = MessageBoxEx.Show(DataMoedas, "Deseja excluir registros!", "Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { this.Cursor = Cursors.WaitCursor; for (int i = 0; i < DataMoedas.Rows.Count; i++) { if (DataMoedas.Rows[i].Selected) { Moeda pais = moedaDAO.FindByWaers(DataMoedas.Rows[i].Cells[0].Value.ToString()); if (pais != null) { moedaDAO.Delete(pais); DataMoedas.Rows.RemoveAt(i); } } } this.Cursor = Cursors.Default; } } catch (Exception ex) { this.Cursor = Cursors.Default; MessageBoxEx.Show(this, ex.Message, "Erro Moedas", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public IActionResult Get(Guid id) { try { //Busco o produto no repositorio var produto = _produtoRepository.BuscarPorId(id); //Verifica se o produto existe //Caso produto não exista retorna NotFound if (produto == null) { return(NotFound()); } Moeda dolar = new Moeda(); return(Ok(new { produto, ValorDolar = produto.Preco / dolar.GetDolarValue() })); } catch (Exception ex) { //Caso ocorra um erro retorna BadRequest com a mensagem //de erro return(BadRequest(ex.Message)); } }
public decimal Converter(Moeda moedaOrigem, Moeda moedaDestino, decimal valorASerConvertido) { decimal valorConvertido = 0; if (valorASerConvertido <= 0) { return(0); } if (moedaOrigem == null) { throw new System.Exception("Informe uma moeda de Origem Válida."); } if (moedaDestino == null) { throw new System.Exception("Informe uma moeda de Destino Válida."); } // Se o programa chegou até aqui, quer dizer que temos as variáveis "moedaOrigem", "moedaDestino" e "valorASerConvertido" prontas para executarmos a conversão. // Neste site tem um exemplo completo, praticamente a mesma coisa que fiz aqui // https://www.codementor.io/@dewetvanthomas/tutorial-currency-converter-application-for-c-121yicb1es // return (amount * toRate) / fromRate; valorConvertido = (valorASerConvertido * moedaOrigem.Cotacao) / moedaDestino.Cotacao; // O Exercício pede que o valor seja considerado com duas casas decimais. // Ja existe uma função pronta no .Net que faz arredondamento. ela esta na classe Math e chama-se Round(), te falei sobre isso lá na casa da vó. // Então, depois que executou a conversão, retorno o valor convertido e arredondado com 2 casas decimais para quem chamou a função. return(Math.Round(valorConvertido, 2)); }
public IActionResult Put([FromBody] Moeda moeda) { if (moedaRepositorio.Seleciona(moeda.Id) == null) { return(NotFound(new ApiCasoDeUsoSaida.Padrao() { Mensagem = "Moeda não encontrada" })); } try { var taxa = cambioServico.PegarTaxa(moeda.Codigo); } catch (Exception) { return(BadRequest(new ApiCasoDeUsoSaida.Padrao() { Mensagem = "Moeda inválida" })); } moedaRepositorio.Atualiza(moeda); return(Ok(new ApiCasoDeUsoSaida.Padrao() { Mensagem = "Moeda atualizada" })); }
public async Task <IActionResult> UpdateCotacoes([FromBody] Moeda moeda) { try { var moedaAux = await context.Moeda.AsNoTracking().FirstOrDefaultAsync(m => m.Nome.Equals(moeda.Nome)); if (moedaAux != null) { moeda.Id = moedaAux.Id; moedaAux = moeda; context.Moeda.Update(moedaAux); } else { context.Moeda.Add(moeda); } await context.SaveChangesAsync(); return(Ok(moeda)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public NotificationResult Salvar(Moeda entidade) { var NotificationResult = new NotificationResult(); try { if (entidade.CodMoeda != 0) { entidade.CodMoeda = entidade.CodMoeda; if (NotificationResult.IsValid) { _moedaRepositorio.Adicionar(entidade); NotificationResult.Add("Cadastrado!"); } return(NotificationResult); } else { return(NotificationResult.Add(new NotificationError("Erro no cadastro!", NotificationErrorType.USER))); }; } catch (Exception ex) { return(NotificationResult.Add(new NotificationError(ex.Message))); } }
public DadosPedido(string numero, decimal valor, string descricao) { numeroField = numero; valorField = valor.ToFormatoCielo(); moedaField = Moeda.Real; datahoraField = DateTime.Now; descricaoField = descricao; idiomaField = Idioma.PT; }