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();
                    }
                }
            }
        }
Example #4
0
 public void DefinirMoedaSelecionandoPrimeiro(Moeda moeda)
 {
     Moeda = moeda;
     SelecionarPrimeiro();
 }
Example #5
0
        /// <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];

		}
Example #6
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);
 }
Example #7
0
        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());
            }
        }
Example #8
0
 public EditarMoeda(Moeda moeda) : this()
 {
     Moeda = moeda;
 }
Example #9
0
        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;
            }
        }
Example #10
0
 /// <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))
 { }
Example #11
0
 /// <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();
 }
Example #12
0
        /// <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;
        }
Example #13
0
		/// <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];
		}
Example #14
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;
        }
Example #15
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, 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;
        }
Example #16
0
        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();
		}
Example #17
0
		/// <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();
        }
Example #18
0
		/// <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();
        }