protected void BtnDeletarPlanejamento_Click(object sender, EventArgs e) { if (Guid.TryParse(txtDeletarPlanejamento.Value, out Guid guid)) { try { DataModel.Planejamento planejamento = PlanejamentoManager.GetPlanejamentoById(guid); if (planejamento != null) { PlanejamentoManager.DeletePlanejamento(planejamento); } ShowMessageSuccessScript("deletarPlanejamentoModal", "Valor planejado removido com sucesso!"); } catch (Exception) { ShowMessageErrorScript("Ocorreu um erro ao remover o valor planejado. Entre em contato com o administrador!"); StartComponentsScript("deletarPlanejamentoModal", new GridRowPlanejamento()); } } }
protected void BtnSalvarPlanejamento_Click(object sender, EventArgs e) { GridRowPlanejamento rowPlanejamento = null; if (Guid.TryParse(txtIdPlanejamento.Value, out Guid guid)) { rowPlanejamento = Planejamentos.FirstOrDefault(x => x.IdPlanejamento.Equals(guid)); } if (rowPlanejamento == null) { rowPlanejamento = new GridRowPlanejamento { TipoFluxo = rdoReceita.Checked ? CategoriaManager.TIPO_FLUXO_RECEITA : CategoriaManager.TIPO_FLUXO_DESPESA, IdCategoria = !String.IsNullOrWhiteSpace(txtIdCategoria.Value) ? Guid.Parse(txtIdCategoria.Value) : Guid.Empty }; } try { // Limpa a mensagem de alerta, caso haja algum texto: lblMsg.Text = String.Empty; if (!rdoReceita.Checked && !rdoDespesa.Checked) { lblMsg.Text = "O tipo deve ser definido."; StartComponentsScript("gerenciarPlanejamentoModal", rowPlanejamento); return; } if (!Decimal.TryParse(txtValor.Value.Replace(".", ""), NumberStyles.AllowDecimalPoint, CultureInfo.GetCultureInfo("pt-BR"), out Decimal valor)) { txtValor.Focus(); lblMsg.Text = "Insira um número válido para o valor."; StartComponentsScript("gerenciarPlanejamentoModal", rowPlanejamento); return; } if (chkRepetirMes.Checked && !Int32.TryParse(txtRepetirMes.Text, out int num)) { lblMsg.Text = "O número de meses deve ser um número inteiro. Coloque um número válido ou desmarque esta opção."; StartComponentsScript("gerenciarPlanejamentoModal", rowPlanejamento); return; } DataModel.Planejamento planejamento = new DataModel.Planejamento(); if (!rowPlanejamento.IdPlanejamento.Equals(Guid.Empty)) { planejamento.IdPlanejamento = guid; } planejamento.IdUsuario = Usuario.IdUsuario; planejamento.IdCategoria = Guid.Parse(txtIdCategoria.Value); DateTime periodo = DateTime.ParseExact(Periodo, @"MMMM / yyyy", CultureInfo.GetCultureInfo("pt-BR")); planejamento.Mes = periodo.Month; planejamento.Ano = periodo.Year; planejamento.Valor = valor; PlanejamentoManager.SavePlanejamento(planejamento); if (chkRepetirMes.Checked && Int32.TryParse(txtRepetirMes.Text, out int numMeses)) { for (int i = 0; i < Math.Min(numMeses, 12); i++) { periodo = periodo.AddMonths(1); planejamento.Mes = periodo.Month; planejamento.Ano = periodo.Year; PlanejamentoManager.SavePlanejamento(planejamento); } } ShowMessageSuccessScript("gerenciarPlanejamentoModal", "Planejamento salvo com sucesso!"); } catch (Exception ex) { switch (ex.GetType().Name) { case "PlanejamentoUsuarioException": case "PlanejamentoCategoriaException": case "PlanejamentoMesException": case "PlanejamentoValorException": ShowMessageErrorScript(ex.Message); break; default: ShowMessageErrorScript("Ocorreu um erro ao salvar o planejamento. Entre em contato com o administrador!"); break; } StartComponentsScript("gerenciarTransacaoModal", rowPlanejamento); } }