Exemple #1
0
        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());
                }
            }
        }
Exemple #2
0
        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);
            }
        }