private DespesasFixas mapper(DespesasFixasDTO despesasFixasDto)
        {
            var config = new MapperConfiguration(cfg => cfg.CreateMap <DespesasFixasDTO, DespesasFixas>());
            var map    = config.CreateMapper();

            return(map.Map <DespesasFixas>(despesasFixasDto));
        }
 public ActionResult <DespesasFixas> finalizar(DespesasFixasDTO despesasFixasDto)
 {
     try
     {
         DespesasFixas despesasFixas = _despesasFixasService.finalizar(despesasFixasDto);
         return(Ok(despesasFixas));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
        public DespesasFixas finalizar(DespesasFixasDTO despesasFixasDto)
        {
            DespesasFixas despesasFixas = _despesasFixasRepository.Get(despesasFixasDto.Id);

            if (despesasFixas.StatusId != (int)STATUS.ABERTO)
            {
                throw new VerificationException("Despesa Fixa não está aberta");
            }
            despesasFixas.StatusId = (int)STATUS.FINALIZADO;
            _despesasFixasRepository.Update(despesasFixas);
            return(despesasFixas);
        }
        public DespesasFixas salvar(DespesasFixasDTO despesasFixasDto)
        {
            // DespesasFixas despesasFixas = mapper(despesasFixasDto);

            // if (despesasFixas.TotalParcelas != null)
            // {
            //     despesasFixas.ParcelaAtual = 1;
            // }

            DespesasFixas despesasFixas = _despesasFixasRepository.criarDespesasFixas(despesasFixasDto);

            // _despesasFixasRepository.Add(despesasFixas);
            return(despesasFixas);
        }
        public DespesasFixas criarDespesasFixas(DespesasFixasDTO despesasFixasDto)
        {
            Carteira carteira = _carteiraRepository.GetCarteiraAtivaByUsuario(despesasFixasDto.UsuarioId);

            if (carteira == null)
            {
                throw new NullReferenceException("Não foi encontrado nenhuma carteira ativa!");
            }

            var conn = (NpgsqlConnection)_context.Database.GetDbConnection();

            conn.Open();
            using (var cmd = new NpgsqlCommand("CALL inserirdespesasfixas(@usuario_id, @carteira_id, @descri, @valor_prev, @data_venc, @tipo_id, @total_parc, @id_despesa)", conn))
            {
                cmd.Parameters.Add(new NpgsqlParameter("usuario_id", NpgsqlDbType.Bigint)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.UsuarioId
                });
                cmd.Parameters.Add(new NpgsqlParameter("carteira_id", NpgsqlDbType.Bigint)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = carteira.Id
                });
                cmd.Parameters.Add(new NpgsqlParameter("descri", NpgsqlDbType.Varchar)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.Descricao
                });
                cmd.Parameters.Add(new NpgsqlParameter("valor_prev", NpgsqlDbType.Numeric)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.ValorPrevisto
                });
                cmd.Parameters.Add(new NpgsqlParameter("data_venc", NpgsqlDbType.Timestamp)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.DataVencimento
                });
                cmd.Parameters.Add(new NpgsqlParameter("tipo_id", NpgsqlDbType.Integer)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.TipoId
                });
                cmd.Parameters.Add(new NpgsqlParameter("total_parc", NpgsqlDbType.Integer)
                {
                    Direction  = ParameterDirection.InputOutput,
                    Value      = (despesasFixasDto.TotalParcelas != null) ? despesasFixasDto.TotalParcelas : (object)DBNull.Value,
                    IsNullable = true
                });
                cmd.Parameters.Add(new NpgsqlParameter("id_despesa", NpgsqlDbType.Bigint)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.Id
                });
                cmd.ExecuteNonQuery();
                despesasFixasDto.Id = (long)cmd.Parameters[7].Value;
            }
            conn.Close();

            DespesasFixas despesasFixas = _context.DespesasFixas.Find(despesasFixasDto.Id);

            return(despesasFixas);
        }
        public DespesasFixas atualizar(DespesasFixasDTO despesasFixasDto)
        {
            DespesasFixas despesasFixas = mapper(despesasFixasDto);

            return(_despesasFixasRepository.Update(despesasFixas));
        }