package com.monitorabrasil.participacidadao.actions;
import android.util.Log;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.answers.ContentViewEvent;
import com.monitorabrasil.participacidadao.R;
import com.monitorabrasil.participacidadao.application.MyApp;
import com.monitorabrasil.participacidadao.dispatcher.Dispatcher;
import com.monitorabrasil.participacidadao.model.Pergunta;
import com.parse.FindCallback;
import com.parse.GetCallback;
import com.parse.LogInCallback;
import com.parse.LogOutCallback;
import com.parse.ParseException;
import com.parse.ParseFile;
import com.parse.ParseObject;
import com.parse.ParsePush;
import com.parse.ParseQuery;
import com.parse.ParseUser;
import com.parse.SaveCallback;
import com.parse.SendCallback;
import com.parse.SignUpCallback;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
/**
* Created by 89741803168 on 13/08/2015.
*/
public class ActionsCreator {
private static ActionsCreator instance;
final Dispatcher dispatcher;
ActionsCreator(Dispatcher dispatcher) {
this.dispatcher = dispatcher;
}
public static ActionsCreator get(Dispatcher dispatcher) {
if (instance == null) {
instance = new ActionsCreator(dispatcher);
}
return instance;
}
/*
# ACTIONS DE DIALOGA
**/
/**
* Busca uma lista de perguntas para serem sorteadas
*/
public void getPerguntaAleatoria() {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Questao");
query.addDescendingOrder("createdAt");
query.whereEqualTo("cidade", buscaCidade());
query.include("tema");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_PERGUNTA_ALETORIA,
DialogaActions.KEY_TEXT, list
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_PERGUNTA_ALETORIA,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Busca a cidade selecionada
* @return
*/
public ParseObject buscaCidade(){
ParseQuery<ParseObject> query = ParseQuery.getQuery("Config");
query.fromLocalDatastore();
try {
ParseObject config = query.getFirst();
ParseObject cidade = (ParseObject) config.get("cidade");
cidade.fetchFromLocalDatastore();
return cidade;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
* Salva a cidade selecionada
* @param cidade
*/
public void salvaCidade(ParseObject cidade){
ParseQuery<ParseObject> query = ParseQuery.getQuery("Config");
query.fromLocalDatastore();
try {
ParseObject config = query.getFirst();
config.put("cidade", cidade);
//config.save();
config.pin();
} catch (ParseException e) {
try {
ParseObject config = new ParseObject("Config");
config.put("cidade", cidade);
cidade.pin();
config.pin();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
}
/**
* Envia uma nova resposta
* @param resposta
* @param pergunta
*/
public void enviarResposta(String resposta, final ParseObject pergunta) {
ParseObject respostaObject = new ParseObject("Resposta");
respostaObject.put("user",ParseUser.getCurrentUser());
respostaObject.put("texto", resposta);
respostaObject.put("questao", pergunta);
respostaObject.put("qtd_sim", 0);
respostaObject.put("qtd_nao", 0);
respostaObject.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
pergunta.increment("qtd_resposta");
pergunta.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
//enviar push
ParsePush push = new ParsePush();
push.setChannel("p_" + pergunta.getObjectId());
JSONObject data = new JSONObject();
JSONObject json = new JSONObject();
try {
ParseObject tema = (ParseObject) pergunta.get("tema");
data.put("is_background", false);
json.put("idTema", tema.getObjectId());
json.put("pergunta", pergunta.getObjectId());
json.put("cidade", buscaCidade().getObjectId());
json.put("alerta", "Nova resposta para a pergunta: " + pergunta.getString("texto"));
json.put("titulo", MyApp.getInstance().getString(R.string.title_activity_dialoga ));
data.put("data", json);
} catch (JSONException e1) {
e1.printStackTrace();
}
push.setData(data);
push.sendInBackground(new SendCallback() {
@Override
public void done(ParseException e) {
if (e != null) {
Log.i("participa", e.toString());
}
}
});
dispatcher.dispatch(
DialogaActions.DIALOGA_ENVIAR_RESPOSTA,
DialogaActions.KEY_TEXT, "sucesso"
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_ENVIAR_RESPOSTA,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_ENVIAR_RESPOSTA,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Busca o resultado das opnioes votadas
* @param pergunta
*/
public void getResultado(ParseObject pergunta){
ParseQuery<ParseObject> query = ParseQuery.getQuery("Resposta");
query.addDescendingOrder("qtd_sim");
query.whereEqualTo("questao", pergunta);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_RESULTADO,
DialogaActions.KEY_TEXT, list
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_RESULTADO,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Busca todos os temas
*/
public void getAllTemas(){
ParseQuery<ParseObject> query = ParseQuery.getQuery("Tema");
query.addAscendingOrder("Nome");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_TEMAS,
DialogaActions.KEY_TEXT, list
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_TEMAS,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Buasca as perguntas do tema selecionado
* @param idTema
*/
public void getPerguntas(String idTema) {
ParseObject tema = ParseObject.createWithoutData("Tema", idTema);
tema.fetchFromLocalDatastoreInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (e == null) {
//busca primeiro a pergunta
ParseQuery<ParseObject> query = ParseQuery.getQuery("Questao");
query.addDescendingOrder("createdAt");
query.whereEqualTo("tema", object);
query.whereEqualTo("cidade", buscaCidade());
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> perguntas, ParseException e) {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_PERGUNTAS,
DialogaActions.KEY_TEXT, perguntas
);
}
});
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_PERGUNTAS,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Busca pergunta e suas respostas
* @param idPergunta
*/
public void getPerguntaRespostas(String idPergunta) {
ParseObject tema = ParseObject.createWithoutData("Questao", idPergunta);
tema.fetchInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (e == null) {
getRespostas(object);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_PERGUNTA_RESPOSTAS,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Busca as respostas de uma pergunta. Chamada do metodo getPerguntaRespostas
* @param pergunta
*/
private void getRespostas(final ParseObject pergunta) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Resposta");
query.addAscendingOrder("createdAt");
query.whereEqualTo("questao", pergunta);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
Pergunta perguntaResposta = new Pergunta(pergunta, list);
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_PERGUNTA_RESPOSTAS,
DialogaActions.KEY_TEXT, perguntaResposta
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_GET_PERGUNTA_RESPOSTAS,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Insere o voto sim para a resposta
* @param resposta
* @param voto
*/
public void concordo(final ParseObject resposta, ParseObject voto) {
if(null != voto){
if(voto.getString("sim_nao").equals("n")){
resposta.increment("qtd_nao",-1);
}
voto.put("sim_nao", "s");
voto.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
resposta.increment("qtd_sim");
resposta.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
dispatcher.dispatch(
DialogaActions.DIALOGA_CONCORDO,
DialogaActions.KEY_TEXT, "sucesso"
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_CONCORDO,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
});
}else{
voto = new ParseObject("VotoDialoga");
voto.put("user",ParseUser.getCurrentUser());
voto.put("resposta", resposta);
voto.put("sim_nao", "s");
voto.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
//atualizar o contador da resposta
resposta.increment("qtd_sim");
resposta.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
dispatcher.dispatch(
DialogaActions.DIALOGA_CONCORDO,
DialogaActions.KEY_TEXT, "sucesso"
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_CONCORDO,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
});
}
voto.pinInBackground();
}
/**
* Insere o voto nao para a resposta
* @param resposta
* @param voto
*/
public void discordo(final ParseObject resposta, ParseObject voto) {
if(null != voto){
if(voto.getString("sim_nao").equals("s")){
resposta.increment("qtd_sim",-1);
}
voto.put("sim_nao", "n");
voto.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
resposta.increment("qtd_nao");
resposta.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
dispatcher.dispatch(
DialogaActions.DIALOGA_CONCORDO,
DialogaActions.KEY_TEXT, "sucesso"
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_CONCORDO,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
});
}else {
if(resposta == null){
Crashlytics.log(0,"error","respota == null - Discordo Action");
}else{
voto = new ParseObject("VotoDialoga");
voto.put("user", ParseUser.getCurrentUser());
voto.put("resposta", resposta);
voto.put("sim_nao", "n");
voto.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
//atualizar o contador da resposta
resposta.increment("qtd_nao");
resposta.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
dispatcher.dispatch(
DialogaActions.DIALOGA_CONCORDO,
DialogaActions.KEY_TEXT, "sucesso"
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_CONCORDO,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
});
voto.pinInBackground();
}
}
}
/**
* Busca o voto para a resposta
* @param respostaAtual
* @return
*/
public ParseObject getVoto(ParseObject respostaAtual) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("VotoDialoga");
query.fromLocalDatastore();
query.whereEqualTo("resposta", respostaAtual);
ParseObject voto;
try {
voto = query.getFirst();
} catch (ParseException e) {
e.printStackTrace();
return null;
}
return voto;
}
/**
* Envia a pergunta
* @param pergunta
* @param tema
*/
public void enviarPergunta(final String pergunta, String tema) {
final ParseObject perguntaObject = new ParseObject("Questao");
perguntaObject.put("user", ParseUser.getCurrentUser());
perguntaObject.put("texto", pergunta);
perguntaObject.put("cidade", buscaCidade());
perguntaObject.put("tema", buscaTema(tema));
perguntaObject.put("qtd_resposta", 0);
perguntaObject.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
dispatcher.dispatch(
DialogaActions.DIALOGA_ENVIAR_PERGUNTA,
DialogaActions.KEY_TEXT, "sucesso"
);
} else {
dispatcher.dispatch(
DialogaActions.DIALOGA_ENVIAR_PERGUNTA,
DialogaActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Busca o objeto tema a partir do nome
* @param tema
* @return
*/
private ParseObject buscaTema(String tema) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Tema");
try {
return query.get(tema);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/*
# ACTIONS DE COMENTARIO
**/
public void getAllComentarios(String tipo, String idObject){
ParseQuery<ParseObject> query = ParseQuery.getQuery(tipo);
if(tipo.equals("Comentario")){
ParseObject projeto = ParseObject.createWithoutData("Projeto", idObject);
query.whereEqualTo("projeto", projeto);
}else{
ParseObject politico = ParseObject.createWithoutData("Politico",idObject);
query.whereEqualTo("politico", politico);
}
query.include("user");
query.addDescendingOrder("createdAt");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
ComentarioActions.COMENTARIO_GET_ALL,
UserActions.KEY_TEXT, list);
} else {
dispatcher.dispatch(
ComentarioActions.COMENTARIO_GET_ALL,
UserActions.KEY_TEXT, "erro");
}
}
});
}
public void enviarMensagem (String mensagem, String tipo, String idObject){
ParseUser user = ParseUser.getCurrentUser();
if(user!= null){
ParseObject comentario =new ParseObject(tipo);
ParseObject object;
if(!tipo.equals("Comentario")){
//busca politico
object = ParseObject.createWithoutData("Politico", idObject);
comentario.put("politico",object);
}else{
object = ParseObject.createWithoutData("Projeto", idObject);
comentario.put("projeto",object);
}
comentario.put("mensagem",mensagem);
comentario.put("user", user);
comentario.put("nome", user.getString("nome"));
comentario.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
dispatcher.dispatch(
ComentarioActions.COMENTARIO_ENVIAR,
UserActions.KEY_TEXT, "sucesso"
);
}
});
//incrementa o numero de cometarios
object.fetchInBackground(new GetCallback<ParseObject>() {
@Override
public void done(ParseObject object, ParseException e) {
object.increment("nr_comentarios");
object.saveInBackground();
}
});
}else{
dispatcher.dispatch(
ComentarioActions.COMENTARIO_ENVIAR,
UserActions.KEY_TEXT, "erro"
);
return;
}
}
/*****
* ACTIONS DE PROJETOS
*/
public void buscaProjetoPorPalavra(String chave) {
chave = "(?i).*"+chave+".*";
ParseQuery<ParseObject> query1 = ParseQuery.getQuery("Projeto");
query1.whereMatches("descricao",chave);
ParseQuery<ParseObject> query2 = ParseQuery.getQuery("Projeto");
query2.whereMatches("numero", chave);
ParseQuery<ParseObject> query3 = ParseQuery.getQuery("Projeto");
query3.whereMatches("indexacao", chave);
List<ParseQuery<ParseObject>> queries = new ArrayList<ParseQuery<ParseObject>>();
queries.add(query1);
queries.add(query2);
queries.add(query3);
ParseQuery<ParseObject> query = ParseQuery.or(queries);
query.whereEqualTo("cidade",buscaCidade());
query.addDescendingOrder("ano");
query.addDescendingOrder("numero");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
ProjetoActions.PROJETO_GET_PROCURA,
ProjetoActions.KEY_TEXT, list
);
} else {
dispatcher.dispatch(
ProjetoActions.PROJETO_GET_PROCURA,
ProjetoActions.KEY_TEXT, "erro"
);
}
}
});
}
public void getAllProjetos(String idPolitico, String tipoProjeto, int previousTotal) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Projeto");
query.addDescendingOrder("ano");
query.addDescendingOrder("numero");
query.setLimit(15);
query.setSkip(previousTotal);
if(idPolitico!= null){
ParseObject politico = ParseObject.createWithoutData("Politico",idPolitico);
query.whereEqualTo("politico", politico);
}
query.whereEqualTo("cidade",buscaCidade());
if(tipoProjeto != null){
query.whereEqualTo("classificacao", tipoProjeto);
Answers.getInstance().logContentView(new ContentViewEvent()
.putContentName("ListaProjetosFragment")
.putContentType("Fragment")
.putCustomAttribute("tipoProjeto", tipoProjeto));
}
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
ProjetoActions.PROJETO_GET_ALL,
ProjetoActions.KEY_TEXT, list
);
} else {
dispatcher.dispatch(
ProjetoActions.PROJETO_GET_ALL,
ProjetoActions.KEY_TEXT, "erro"
);
}
}
});
}
/*
# ACTIONS DE POLITICOS
**/
public void getAllPoliticos(String ordem){
ParseQuery<ParseObject> query = ParseQuery.getQuery("Politico");
if(ordem.equals("avaliacao")){
query.addDescendingOrder(ordem);
}else{
query.addAscendingOrder(ordem);
}
query.whereEqualTo("cidade", buscaCidade());
query.whereEqualTo("ativo",true);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
PoliticoActions.POLITICO_GET_ALL,
PoliticoActions.KEY_TEXT, list
);
} else {
dispatcher.dispatch(
PoliticoActions.POLITICO_GET_ALL,
PoliticoActions.KEY_TEXT, "erro"
);
}
}
});
}
public void getPolitico(String idPolitico) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Politico");
query.getInBackground(idPolitico, new GetCallback<ParseObject>() {
@Override
public void done(ParseObject parseObject, ParseException e) {
if(e == null)
dispatcher.dispatch(
PoliticoActions.POLITICO_GET_INFOS,
PoliticoActions.KEY_TEXT, parseObject
);
}
});
}
/*
# ACTIONS DE USUARIOS
**/
/**
* Actions do usuario - logar
* @param inputUsuario
* @param inputSenha
*/
public void logar(String inputUsuario, String inputSenha){
ParseUser.logInInBackground(inputUsuario, inputSenha, new LogInCallback() {
@Override
public void done(ParseUser parseUser, com.parse.ParseException e) {
if (parseUser != null) {
dispatcher.dispatch(
UserActions.USER_LOGAR,
UserActions.KEY_TEXT, "sucesso"
);
} else {
dispatcher.dispatch(
UserActions.USER_LOGAR,
UserActions.KEY_TEXT, "erro"
);
}
}
});
}
/**
* Actions do usuario - logout
*/
public void logout(){
ParseUser.logOutInBackground(new LogOutCallback() {
@Override
public void done(com.parse.ParseException e) {
dispatcher.dispatch(
UserActions.USER_LOGOUT,
UserActions.KEY_TEXT, "sucesso"
);
}
});
}
/**
* Actions do usuario - cadastrar
* @param nome
* @param password
* @param email
* @param mParseFile
*/
public void cadastrar(final String nome, final String password, final String email, final ParseFile mParseFile) {
mParseFile.saveInBackground(new SaveCallback() {
public void done(ParseException e) {
// If successful add file to user and signUpInBackground
if (null == e) {
ParseUser user = new ParseUser();
user.setUsername(email);
user.setPassword(password);
user.setEmail(email);
user.put("nome", nome);
user.put("foto", mParseFile);
user.signUpInBackground(new SignUpCallback() {
@Override
public void done(com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
UserActions.USER_CADASTRO,
UserActions.KEY_TEXT, "sucesso"
);
} else {
dispatcher.dispatch(
UserActions.USER_CADASTRO,
UserActions.KEY_TEXT, "erro"
);
}
}
});
}
}
});
}
public void getAvaliacaoPolitico(ParseObject mPolitico) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Avaliacao");
query.fromLocalDatastore();
try {
query.whereEqualTo("politico", mPolitico);
query.getFirstInBackground(new GetCallback<ParseObject>() {
@Override
public void done(ParseObject avaliacao, ParseException e) {
if(avaliacao == null){
avaliacao = ParseObject.create("Avaliacao");
}
dispatcher.dispatch(
UserActions.USER_GET_AVALIACAO_POLITICO,
UserActions.KEY_TEXT, avaliacao
);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
public void avaliar(ParseObject mPolitico, float rating, ParseObject mAvaliacao) {
double ultimaAvaliacao=0;
boolean jaVotou = false;
//s
if(mAvaliacao != null) {
if(mAvaliacao.getObjectId()!= null)
jaVotou = true;
}
if(!jaVotou){
mAvaliacao = new ParseObject("Avaliacao");
mAvaliacao.put("politico",mPolitico);
mAvaliacao.put("user", ParseUser.getCurrentUser());
}else{
//guardar a ultima valor da avaliacao anterior
ultimaAvaliacao = mAvaliacao.getDouble("avaliacao");
}
mAvaliacao.put("avaliacao", rating);
mAvaliacao.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
}
});
mAvaliacao.pinInBackground();
try {
mPolitico.fetchFromLocalDatastore();
} catch (ParseException e) {
e.printStackTrace();
}
int nrAvalicao = mPolitico.getInt("qtd_avaliacao");
double media = mPolitico.getDouble("avaliacao");
double total = nrAvalicao*media;
if(jaVotou){
total = total - ultimaAvaliacao;
}else{
nrAvalicao++;
mPolitico.increment("qtd_avaliacao");
}
mPolitico.put("avaliacao", (rating + total) / nrAvalicao);
mPolitico.saveInBackground();
mPolitico.pinInBackground();
dispatcher.dispatch(
UserActions.USER_AVALIA_POLITICO,
UserActions.KEY_TEXT, "sucesso"
);
}
public void getCidades() {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Cidade");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
UserActions.USER_GET_CIDADES,
UserActions.KEY_TEXT, list
);
} else {
dispatcher.dispatch(
UserActions.USER_GET_CIDADES,
UserActions.KEY_TEXT, "erro"
);
}
}
});
}
public void getAllTiposProjetos() {
ParseQuery<ParseObject> query = ParseQuery.getQuery("TipoProjeto");
query.addAscendingOrder("nome");
query.whereEqualTo("cidade",buscaCidade());
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
dispatcher.dispatch(
ProjetoActions.PROJETO_GET_TIPOS,
ProjetoActions.KEY_TEXT, list
);
} else {
dispatcher.dispatch(
ProjetoActions.PROJETO_GET_TIPOS,
ProjetoActions.KEY_TEXT, "erro"
);
}
}
});
}
public void getGastos() {
ParseQuery<ParseObject> query = ParseQuery.getQuery("DespesaCamara");
query.setLimit(200);
query.whereEqualTo("cidade", buscaCidade());
query.addAscendingOrder("mes_numero");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> gastos, ParseException e) {
if (e == null) {
dispatcher.dispatch(
CamaraActions.CAMARA_GET_DESPESAS,
CamaraActions.KEY_TEXT, gastos
);
} else {
dispatcher.dispatch(
CamaraActions.CAMARA_GET_DESPESAS,
CamaraActions.KEY_TEXT, "erro"
);
}
}
});
}
public void getProjeto(String idProposicao) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Projeto");
query.getInBackground(idProposicao, new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (e == null) {
dispatcher.dispatch(
ProjetoActions.GET_PROJETO,
ProjetoActions.KEY_TEXT, object
);
} else {
// something went wrong
}
}
});
}
}