public JanelaHistóricoCotação(Moeda moeda) { InitializeComponent(); this.moeda = moeda; Recarregar(); }
private void AdicionarMoeda(Moeda moeda) { DadosCotação ui = new DadosCotação(this); ui.Moeda = moeda; ui.Name = moeda.Nome; ui.Margin = new Padding(15); flowLayoutPanel.Controls.Add(ui); }
public static void ExecutarManutenção(IWin32Window owner) { Moeda moeda; using (EscolherEdiçãoMoeda dlg = new EscolherEdiçãoMoeda()) { if (dlg.ShowDialog(owner) == DialogResult.OK) { if (dlg.radioCriar.Checked) moeda = new Moeda(); else moeda = dlg.comboMoeda.Seleção; } else return; } using (EditarMoeda dlg = new EditarMoeda(moeda)) { if (dlg.ShowDialog(owner) == DialogResult.OK) { AguardeDB.Mostrar(); try { if (moeda.Cadastrado) moeda.Atualizar(); else moeda.Cadastrar(); } finally { AguardeDB.Fechar(); } } } }
public void DefinirMoedaSelecionandoPrimeiro(Moeda moeda) { Moeda = moeda; SelecionarPrimeiro(); }
/// <summary> /// Pega a primeira cotação da lista de cotações anteriores /// Pode ser uma cotação de outro dia, caso no dia de hoje não exista ainda cotação cadastrada. /// </summary> /// <exception><c>CotaçãoInexistente</c> Caso não possua cotações cadastradas</exception> /// <returns></returns> public static Cotação ObterCotaçãoVigente(Moeda moeda) { Cotação[] anteriores = ObterListaCotaçõesAnteriores(moeda, 1); if (anteriores.Length == 0) throw new CotaçãoInexistente(); else return anteriores[0]; }
/// <summary> /// Calcula preço da mercadoria, utilizando a cotação /// vigente cadastrada no banco de dados. /// </summary> /// <param name="ouro">Ouro a ser considerado.</param> /// <returns>Preço da mercadoria.</returns> public Preço CalcularPreço(Moeda ouro) { return new Preço(this, ouro); }
private void DefinirMoeda() { try { if (moeda == null && moedaSistema.HasValue) moeda = Moeda.ObterMoeda(moedaSistema.Value); else if (moeda == null) throw new Exception("Moeda é nula!"); } catch (Exception e) { try { Acesso.Comum.Usuários.UsuárioAtual.RegistrarErro(e); } catch { } MessageBox.Show(e.ToString()); } }
public EditarMoeda(Moeda moeda) : this() { Moeda = moeda; }
private void EditarMoeda_Shown(object sender, EventArgs e) { if (DesignMode) return; if (moeda == null) moeda = new Moeda(); else if (moeda.Sistema) { MessageBox.Show( this, msgSistema, "Edição de moeda", MessageBoxButtons.OK, MessageBoxIcon.Information); lblDescrição.Text = msgSistema; } }
/// <summary> /// Constrói a estrutura de preço de uma mercadoria, /// utilizando a cotação vigente carregada do banco de dados. /// </summary> public Preço(Mercadoria.Mercadoria mercadoria, Moeda moeda) : this(mercadoria, Cotação.ObterCotaçãoVigente(moeda)) { }
/// <summary> /// Cotações de um período específico. /// </summary> public static Cotação[] ObterCotações(Moeda moeda, DateTime início, DateTime fim) { return Mapear<Cotação>("SELECT * FROM cotacao WHERE data BETWEEN " + DbTransformar(início) + " AND " + DbTransformar(fim) + " AND moeda = " + DbTransformar(moeda.Código)).ToArray(); }
/// <summary> /// Verifica se o valor da cotação está dentro do desvio /// padrão dos últimos 15 dias. /// </summary> /// <param name="moeda">Moeda a ser verificada.</param> /// <param name="valor">Valor da cotação a ser verificado.</param> /// <returns>Verdadeiro se o valor estiver dentro do desvio padrão.</returns> public static bool VerificarValor(Moeda moeda, double valor) { IDbConnection conexão; double média, dp; conexão = Conexão; lock (conexão) using (IDbCommand cmd = conexão.CreateCommand()) { cmd.CommandText = "SELECT AVG(valor), STDDEV(valor) FROM cotacao " + "WHERE moeda = " + DbTransformar(moeda.Código) + " AND DATEDIFF(NOW(), data) <= 15"; using (IDataReader leitor = cmd.ExecuteReader()) { try { if (leitor.Read() && !leitor.IsDBNull(0) && !leitor.IsDBNull(1)) { média = leitor.GetDouble(0); dp = leitor.GetDouble(1); } else return true; } finally { leitor.Close(); } } } return Math.Abs(média - valor) <= dp; }
/// <summary> /// Cotação vigente em uma data. /// é a de registro igual ou imediatamente anterior. /// </summary> /// <remarks>Não necessarimente do mesmo dia da data.</remarks> /// <param name="data">use a outra assinatura para cotação vigente de agora!</param> /// <exception><c>CotaçãoInexistente</c> Caso não possua cotações cadastradas</exception> /// <returns></returns> private static Cotação ObterCotaçãoVigente(Moeda moeda, DateTime data) { Cotação[] anteriores = ObterListaCotaçõesAnteriores(moeda, data, 1); if (anteriores.Length == 0) return null; else return anteriores[0]; }
/// <summary> /// Registra nova a cotação no banco de dados, em nome do usuário atual e na data atual. /// </summary> public static Cotação RegistrarCotação(Moeda moeda, double valor) { Entidades.Financeiro.Cotação novaEntidade; // Cria nova entidade novaEntidade = new Entidades.Financeiro.Cotação (); novaEntidade.Data = DadosGlobais.Instância.HoraDataAtual; novaEntidade.Funcionário = Pessoa.Funcionário.FuncionárioAtual.Código; novaEntidade.Valor = valor; novaEntidade.Moeda = moeda; novaEntidade.Cadastrar(); return novaEntidade; }
/// <summary> /// Registra nova a cotação no banco de dados, em nome do usuário atual e na data atual. /// </summary> public static Cotação RegistrarCotação(Moeda moeda, double valor, DateTime data) { Entidades.Financeiro.Cotação novaEntidade; // Cria nova entidade novaEntidade = new Entidades.Financeiro.Cotação(); novaEntidade.Data = data; novaEntidade.Funcionário = Pessoa.Funcionário.FuncionárioAtual.Código; novaEntidade.Valor = valor; novaEntidade.Moeda = moeda; novaEntidade.Cadastrar(); return novaEntidade; }
public static Cotação[] ObterListaCotaçõesAtéDia(Moeda moeda, DateTime dia) { IDbConnection conexão; List<Cotação> lista = new List<Cotação>(); conexão = Conexão; lock (conexão) using (IDbCommand cmd = conexão.CreateCommand()) { cmd.CommandText = "SELECT * FROM ((SELECT * FROM cotacao WHERE " + "DATE(data) = DATE(" + DbTransformar(dia) + ")" + " AND moeda = " + DbTransformar(moeda.Código) + " ) UNION (SELECT * FROM cotacao WHERE " + "DATE(data) < DATE(" + DbTransformar(dia) + ")" + " AND moeda = " + DbTransformar(moeda.Código) + " ORDER BY data DESC LIMIT 1)) x order by data desc"; Mapear<Cotação>(cmd, lista); } return lista.ToArray(); }
/// <summary> /// Obtem somente cotações que datam do dia de hoje. /// </summary> public static Cotação[] ObterListaCotaçõesDoDia(Moeda moeda) { return Mapear<Cotação>("SELECT * FROM cotacao where DATE(NOW()) = DATE(data)" + " AND moeda = " + DbTransformar(moeda.Código)).ToArray(); }
/// <summary> /// Cotações de cuja data são imediatamente anteriores. /// </summary> public static Cotação[] ObterListaCotaçõesAnteriores(Moeda moeda, int limite) { return Mapear<Cotação>("SELECT * FROM cotacao where data <= NOW() " + " AND moeda = " + DbTransformar(moeda.Código) + " order by data desc limit " + limite.ToString()).ToArray(); }