public Financa GetRegistro(int id) { Financa obj = new Financa(); System.Configuration.Configuration rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot"); System.Configuration.ConnectionStringSettings connString; connString = rootWebConfig.ConnectionStrings.ConnectionStrings["mymoneyConnectionString"]; SqlConnection con = new SqlConnection(); con.ConnectionString = connString.ToString(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "select * from financas where id = @id"; cmd.Parameters.AddWithValue("@id", id); con.Open(); SqlDataReader registro = cmd.ExecuteReader(); if (registro.HasRows) { registro.Read(); obj.Id = Convert.ToInt32(registro["id"]); obj.Descricao = Convert.ToString(registro["descricao"]); obj.Data = Convert.ToDateTime(registro["data"]); obj.Usuario = Convert.ToInt32(registro["usuario"]); obj.Valor = Convert.ToDouble(registro["valor"]); obj.Tipo = Convert.ToString(registro["tipo"]); } con.Close(); return(obj); }
private Financa GerarFinanca() { try { Financa financa = new Financa(); financa.Codigo = CodigoFinancaTextBox.Text; financa.Descricao = "Referente a: " + ReferenciaFinancaTextBox.Text + " / " + "Comentário: " + ComentarioFinancaTextBox.Text; financa.Valor = ValorTextBox.Valor; financa.DataVencimento = DataVencimentoUC.Date; financa.DataPagamento = DataPagamentoUC.Date; financa.EstadoPagamento = (EstadosDePagamento)Enum.Parse(typeof(EstadosDePagamento), PagamentoFinancaComboBox.SelectedItem.ToString().Replace(' ', '_')); if (FinancaEntradaRadioBtn.IsChecked == true) { financa.Tipo = TipoDeFinanca.ENTRADA; } if (FinancaSaidaRadioBtn.IsChecked == true) { financa.Tipo = TipoDeFinanca.SAIDA; } return(financa); } catch (FieldException ex) { throw ex; } catch (Exception ex) { throw ex; } }
private void AttachItem(Financa financa, EFContext context) { if (!context.Financas.Local.Contains(financa)) { context.Financas.Attach(financa); } }
public void Inserir(Financa financa) { int result = 0; try { if (string.IsNullOrEmpty(financa.Descricao)) { throw new Exception("Descrição da finança em branco"); } if (string.IsNullOrEmpty(financa.TipoOperacao)) { throw new Exception("Tipo Operação em branco"); } if (financa.Data == null) { throw new Exception("Data da finança não informada"); } if (financa.Valor == 0) { throw new Exception("Valor da finança igual a zero. Informe um valor diferente"); } result = conn.Insert(financa); StatusMessage = string.Format("{0} registro(s) adcionado(s): [Descrição: {1}, Tipo: {2}, Valor: {3} ], ", result, financa.Descricao, financa.TipoOperacao, financa.Valor); } catch (Exception ex) { StatusMessage = string.Format("Erro ao adcionar o registro. Error: {0}", ex.Message); } }
public static Financa findFinanca(int idFinanca) { List <Financa> Financas = List(); Financa Financa = Financas.Where(m => m.Id == idFinanca).FirstOrDefault(); return(Financa); }
public static List <string> Create(string Descricao, string Valor, Conta Conta, bool Pago, string AnoMesReferencia, DateTime Vencimento, bool Receita, CategoriaDespesa CatDespesa = null, CategoriaReceita CatReceita = null) { List <string> Erros = new List <string>(); double ValorValido; var vetAnoMes = AnoMesReferencia.Split('-'); int valido; if (!double.TryParse(Valor, out ValorValido)) { Erros.Add("Valor Inválido. Digite um numero decimal para preencher o valor."); return(Erros); } else if (vetAnoMes.Length != 2 || vetAnoMes[1].Length != 4 || !int.TryParse(vetAnoMes[1], out valido) || vetAnoMes[0].Length != 2 || !int.TryParse(vetAnoMes[0], out valido)) { Erros.Add("Valor Inválido. Digite a referência no formato MM-AAAA para preencher o valor."); return(Erros); } Financa Financa = new Financa(); Financa.Descricao = Descricao; Financa.Valor = ValorValido; Financa.ContaId = Conta.Id; Financa.Pago = Pago; Financa.AnoMesReferencia = AnoMesReferencia; Financa.Vencimento = Vencimento; Financa.Receita = Receita; Financa.CategoriaId = CatDespesa == null ? CatReceita.Id : CatDespesa.Id; GravarDados(Method.Create, ref Erros, Financa); return(Erros); }
protected void btSalvar_Click(object sender, EventArgs e) { try { DALFinanca dal = new DALFinanca(); Financa obj = new Financa(); obj.Data = CData.SelectedDate; obj.Descricao = txbDescricao.Text; obj.Tipo = DLTipo.SelectedItem.Text; obj.Valor = Convert.ToDouble(txbValor.Text); obj.Usuario = Convert.ToInt32(Session["id"]); string msg = "<script> alert('Registro atualizado com sucesso!!!!'); </script>"; if (txbId.Text == "") { //inserir dal.Inserir(obj); msg = "<script> alert('O código gerado foi: " + obj.Id.ToString() + "'); </script>"; } else { obj.Id = Convert.ToInt32(txbId.Text); dal.Alterar(obj); } Response.Write(msg); LimpaCampos(); } catch (Exception erro) { Response.Write("<script> alert('" + erro.Message + "'); </script>"); } }
private void Delete_Click(object sender, EventArgs e) { var idFinanca = (int)this.dataGridView1.SelectedCells[0].Value; Financa financa = FinancaService.findFinanca(idFinanca); AdviceConta confirm = new AdviceConta(); DialogResult result = confirm.ShowDialog(); List <string> Erros = new List <string>(); if (result == DialogResult.OK) { Erros = FinancaService.Delete(financa); if (Erros.Count > 0) { string textError = ""; foreach (var erro in Erros) { textError += erro + "\r\n"; } MessageBox.Show(textError); } else { MessageBox.Show("Registro deletado com sucesso."); this.Form1_Load(null, EventArgs.Empty); } } }
public static List <string> Edit(int Id, string Descricao, string Valor, int contaId, bool Pago, string AnoMesReferencia, DateTime Vencimento, bool Receita, int CategoriaId) { List <string> Erros = new List <string>(); double ValorValido; if (!double.TryParse(Valor, out ValorValido)) { Erros.Add("Valor Inválido. Digite um numero decimal para preencher o valor."); return(Erros); } Financa Financa = new Financa(); Financa.Id = Id; Financa.Descricao = Descricao; Financa.Valor = ValorValido; Financa.ContaId = contaId; Financa.Pago = Pago; Financa.AnoMesReferencia = AnoMesReferencia; Financa.Vencimento = Vencimento; Financa.Receita = Receita; Financa.CategoriaId = CategoriaId; GravarDados(Method.Edit, ref Erros, Financa); return(Erros); }
public void GravarFinanca(Financa financa) { try { using EFContext Context = new EFContext(); if (financa.FinancaId == null) { Context.Financas.Add(financa); } else { AttachItem(financa, Context); Context.Entry(financa).State = EntityState.Modified; } Context.SaveChanges(); } catch (DbUpdateException ex) when((ex.InnerException.InnerException is SqlException && (ex.InnerException.InnerException as SqlException).Number == 2601)) { throw new Exception("Já existe finança com Código idêntico registrada", ex); } catch (Exception ex) { throw ex; } }
public static List <string> Delete(Financa Financa) { List <string> Erros = new List <string>(); GravarDados(Method.Delete, ref Erros, Financa); return(Erros); }
public MainPage() { InitializeComponent(); Financa obj = new Financa(); obj.Descricao = "1 teste"; obj.TipoOperacao = "Credito"; obj.Valor = 200; obj.Data = DateTime.Now; }
public FormDetalhesAlterarFinanca(Financa financa) : this() { _financa = financa; this.DataContext = _financa; PreencherBoxes(); if (!DesktopLoginControlService._Usuario.Permissoes.Financeiro.Alterar) { SalvarAlteracoesBtn.IsEnabled = false; } if (!DesktopLoginControlService._Usuario.Permissoes.Financeiro.Remover) { RemoverBtn.IsEnabled = false; } }
public void GravarFinanca(Financa financa) { try { if (financa.DataPagamento > DateTime.Now) { throw new Exception("Data de pagamento inválida"); } Context.GravarFinanca(financa); } catch (Exception ex) { throw new Exception(ex.Message); } }
public void RemoverFinancaPorId(long?id) { try { using EFContext Context = new EFContext(); Financa financa = ObterFinancaPorId(id); AttachItem(financa, Context); Context.Financas.Remove(financa); Context.SaveChanges(); } catch (Exception ex) { throw ex; } }
public static void setValorConta(Financa financa, Method method) { if (financa.Pago || method == Method.Edit) { Conta conta = ContaService.findConta(financa.ContaId); if (method == Method.Create || (method == Method.Edit && financa.Pago)) { conta.Valor = financa.Receita ? conta.Valor + financa.Valor : conta.Valor - financa.Valor; } else { conta.Valor = financa.Receita ? conta.Valor - financa.Valor : conta.Valor + financa.Valor; } ContaService.Edit(conta.Id, conta.Descricao, conta.Valor.ToString("0.00")); } }
public MainPage() { InitializeComponent(); //Criar uma finança Financa obj = new Financa(); obj.Descricao = "1 teste"; obj.TipoOperacao = "Credito"; obj.Valor = 200; obj.Data = DateTime.Now; App.TbFinancas.Inserir(obj); List <Financa> Financas = App.TbFinancas.Localizar(); Lista.ItemsSource = Financas; }
public static List <Financa> List() { string linha = ""; int lastId = 0; string basePath = AppDomain.CurrentDomain.BaseDirectory; string FileName = "Financas.txt"; string path = basePath + FileName; string[] obj; List <Financa> Financas = new List <Financa>(); try { using (StreamReader sr = new StreamReader(path)) { linha = sr.ReadLine(); while (linha != null) { obj = linha.Split('|').ToArray(); Financa Financa = new Financa(); Financa.Id = int.Parse(obj[0]); Financa.Descricao = obj[1]; Financa.Valor = double.Parse(obj[2]); Financa.AnoMesReferencia = obj[3]; Financa.CategoriaId = int.Parse(obj[4]); Financa.ContaId = int.Parse(obj[5]); Financa.Pago = bool.Parse(obj[6]); Financa.Receita = bool.Parse(obj[7]); Financa.Vencimento = DateTime.Parse(obj[8]); Financas.Add(Financa); linha = sr.ReadLine(); } } } catch (Exception ex) { } return(Financas); }
private void FinancasDetailsBtn_Click(object sender, RoutedEventArgs e) { Financa financa = null; if (FinancaEntradaDataGrid.SelectedItem != null) { financa = ServicoDados.ServicoDadosFinancas.ObterFinancaPorId((FinancaEntradaDataGrid.SelectedItem as Financa).FinancaId); } else if (FinancaSaidaDataGrid.SelectedItem != null) { financa = ServicoDados.ServicoDadosFinancas.ObterFinancaPorId((FinancaSaidaDataGrid.SelectedItem as Financa).FinancaId); } if (financa != null) { FormDetalhesAlterarFinanca formDetalhesAlterarFinanca = new FormDetalhesAlterarFinanca(financa); formDetalhesAlterarFinanca.Show(); } }
public MainPage() { InitializeComponent(); String caminhoDoBanco = App.dbPath; //criar uma finança Financa obj = new Financa(); obj.Descricao = "1 teste"; obj.TipoOperacao = "Credito"; obj.Valor = 200; obj.Data = DateTime.Now; //criar o banco App.TbFinanca.Inserir(obj); List <Financa> financas = App.TbFinanca.Localizar(); Lista.ItemsSource = financas; }
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { int index = GridView1.SelectedIndex; int cod = Convert.ToInt32(GridView1.Rows[index].Cells[2].Text); DALFinanca dal = new DALFinanca(); Financa f = dal.GetRegistro(cod); txbId.Text = f.Id.ToString(); txbDescricao.Text = f.Descricao; txbValor.Text = f.Valor.ToString(); if (f.Tipo == "Receita") { DLTipo.SelectedIndex = 0; } else { DLTipo.SelectedIndex = 1; } CData.SelectedDate = f.Data; btSalvar.Text = "Alterar"; }
public void Inserir(Financa obj) { System.Configuration.Configuration rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot"); System.Configuration.ConnectionStringSettings connString; connString = rootWebConfig.ConnectionStrings.ConnectionStrings["mymoneyConnectionString"]; //cria um objeto de conexão SqlConnection con = new SqlConnection(); con.ConnectionString = connString.ToString(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "Insert into financas (descricao,data,valor,usuario,tipo) values (@descricao,@data,@valor,@usuario,@tipo);select @@IDENTITY;"; cmd.Parameters.AddWithValue("descricao", obj.Descricao); cmd.Parameters.AddWithValue("data", obj.Data); cmd.Parameters.AddWithValue("valor", obj.Valor); cmd.Parameters.AddWithValue("usuario", obj.Usuario); cmd.Parameters.AddWithValue("tipo", obj.Tipo); con.Open(); obj.Id = Convert.ToInt32(cmd.ExecuteScalar()); con.Close(); }
public void Alterar(Financa obj) { System.Configuration.Configuration rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot"); System.Configuration.ConnectionStringSettings connString; connString = rootWebConfig.ConnectionStrings.ConnectionStrings["mymoneyConnectionString"]; //cria um objeto de conexão SqlConnection con = new SqlConnection(); con.ConnectionString = connString.ToString(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "update financas set descricao=@descricao, data=@data, valor=@valor, usuario=@usuario, tipo=@tipo where id = @id;"; cmd.Parameters.AddWithValue("descricao", obj.Descricao); cmd.Parameters.AddWithValue("data", obj.Data); cmd.Parameters.AddWithValue("valor", obj.Valor); cmd.Parameters.AddWithValue("usuario", obj.Usuario); cmd.Parameters.AddWithValue("tipo", obj.Tipo); cmd.Parameters.AddWithValue("id", obj.Id); con.Open(); cmd.ExecuteNonQuery(); con.Close(); }
public Financa Calcular(string dateString) { try{ DateTime data = Convert.ToDateTime(dateString); var valorArrecadado = contexto.Meses.Where(m => m.Pago && m.Ativo && m.Data.Month == data.Month && m.Data.Year == data.Year).Sum(m => m.ValorPromocional.HasValue ? m.ValorPromocional.Value : m.Plano.Valor); var valorTotal = contexto.Meses.Where(m => m.Ativo && m.Data.Month == data.Month && m.Data.Year == data.Year).Sum(m => m.ValorPromocional.HasValue ? m.ValorPromocional.Value : m.Plano.Valor); var qtdAlunosPagarem = contexto.Meses.Count(m => m.Pago && m.Ativo && m.Data.Month == data.Month && m.Data.Year == data.Year); var qtdAlunosTotais = contexto.Meses.Count(m => m.Ativo && m.Data.Month == data.Month && m.Data.Year == data.Year); var financa = new Financa() { ValorArrecadado = valorArrecadado, ValorTotal = valorTotal, QtdAlunosPagarem = qtdAlunosPagarem, QtdAlunosTotais = qtdAlunosTotais }; return(financa); } catch (Exception e) { var a = e; return(null); } }
public void Inserir(Financa financa) { int result = 0; try { if (string.IsNullOrEmpty(financa.Descricao)) { throw new Exception("Descrição Não poder ser Nulo"); } if (string.IsNullOrEmpty(financa.TipoOperacao)) { throw new Exception("Descrição Não poder ser Nulo"); } if (financa.Data == null) { throw new Exception("Data da Finança não informada"); } if (financa.Valor == 0) { throw new Exception("Valor da Finança Nulo"); } result = conn.Insert(financa); StatusMessage = string.Format("{0} registro(s) adicionado(s):[Descrição: {1}, tipo:{2}, valor:{3}]", result, financa.Descricao, financa.TipoOperacao, financa.Valor); } catch (Exception ex) { StatusMessage = string.Format("Erro ao adcionar o registro. Error:{0}", ex.Message); } }
public void Alterar(Financa financa) { }
private static void GravarDados(Method Method, ref List <string> Erros, Financa Financa) { string linha = ""; int lastId = 0; string basePath = AppDomain.CurrentDomain.BaseDirectory; string FileName = "Financas.txt"; string path = basePath + FileName; string tempBasePath = basePath + "TempContext"; string tempPath = basePath + "TempContext\\" + FileName; Dictionary <int, string[]> matSave = new Dictionary <int, string[]>(); switch (Method) { case Method.Create: if (File.Exists(path)) { using (StreamReader sr = new StreamReader(path)) { linha = sr.ReadLine(); //Ler a primeira linha. while (linha != null) { lastId = int.Parse(linha.Split('|')[0]); linha = sr.ReadLine(); //Ler a proxima linha. } } lastId = lastId == 0 ? 1 : lastId + 1; //Pega o ultimo Id da Financa do arquivo gravado using (StreamWriter sw = File.AppendText(path)) { sw.WriteLine($"{lastId.ToString()}|{Financa.Descricao}|{Financa.Valor.ToString("0.00")}|{Financa.AnoMesReferencia}|{Financa.CategoriaId}|{Financa.ContaId}|{Financa.Pago.ToString()}|{Financa.Receita}|{Financa.Vencimento.ToString("dd/MM/yyyy")}"); setValorConta(Financa, Method.Create); } } else { using (StreamWriter sw = File.CreateText(path)) { sw.WriteLine($"1|{Financa.Descricao}|{Financa.Valor.ToString("0.00")}|{Financa.AnoMesReferencia}|{Financa.CategoriaId}|{Financa.ContaId}|{Financa.Pago.ToString()}|{Financa.Receita}|{Financa.Vencimento.ToString("dd/MM/yyyy")}"); setValorConta(Financa, Method.Create); } } break; case Method.Edit: if (File.Exists(path)) { try { if (!Directory.Exists(tempBasePath)) { Directory.CreateDirectory(tempBasePath); } File.Move(path, tempPath); } catch (Exception ex) { Erros.Add("Falha ao criar o diretório, entre em contato com o desenvolvedor para mais detalhes."); } using (StreamReader sr = new StreamReader(tempPath)) { linha = sr.ReadLine(); while (linha != null) { string[] vetObj = linha.Split('|').ToArray(); if (vetObj[0].Trim() == Financa.Id.ToString()) { vetObj[6] = Financa.Pago.ToString(); } matSave.Add(int.Parse(vetObj[0]), vetObj); linha = sr.ReadLine(); } } matSave = matSave.OrderBy(m => m.Key).ToDictionary(m => m.Key, m => m.Value); using (StreamWriter sw = File.CreateText(path)) { foreach (var item in matSave.Values) { sw.WriteLine($"{item[0].ToString()}|{item[1]}|{item[2]}|{item[3]}|{item[4]}|{item[5]}|{item[6]}|{item[7]}|{item[8]}"); } } try { File.Delete(tempPath); } catch (Exception ex) { Erros.Add("Falha ao deletar o arquivo temporário."); } } else { Erros.Add("O arquivo de contexto não existe no diretório. Entre em contato com o suporte para solucionar o problema."); } break; case Method.Delete: if (File.Exists(path)) { try { if (!Directory.Exists(tempBasePath)) { Directory.CreateDirectory(tempBasePath); } File.Move(path, tempPath); } catch (Exception ex) { Erros.Add("Falha ao criar o diretório, entre em Financato com o desenvolvedor para mais detalhes."); } using (StreamReader sr = new StreamReader(tempPath)) { linha = sr.ReadLine(); while (linha != null) { string[] vetObj = linha.Split('|').ToArray(); if (vetObj[0].Trim() == Financa.Id.ToString()) { setValorConta(Financa, Method.Delete); } else { matSave.Add(int.Parse(vetObj[0]), vetObj); } linha = sr.ReadLine(); } } matSave = matSave.OrderBy(m => m.Key).ToDictionary(m => m.Key, m => m.Value); int count = 1; using (StreamWriter sw = File.CreateText(path)) { foreach (var item in matSave.Values) { sw.WriteLine($"{count}|{item[1]}|{item[2]}|{item[3]}|{item[4]}|{item[5]}|{item[6]}|{item[7]}|{item[8]}"); count++; } } try { File.Delete(tempPath); } catch (Exception ex) { Erros.Add("Falha ao deletar o arquivo temporário."); } } else { Erros.Add("O arquivo de contexto não existe no diretório. Entre em Financato com o suporte para solucionar o problema."); } break; } }