public String doacao_CheckInDoacao(int userId, int idDoacao, int idSolicitacao, int idHemo) { Doacao doacao = new Doacao(); Solicitacoes sol = new Solicitacoes(); doacao.idDoacao = idDoacao; doacao.usuarioDoador = userId; doacao.idSolicitacao = idSolicitacao; doacao.idHemocentro = idHemo; sol.codDoacao = idDoacao; List<Boolean> json = new List<Boolean>(); JavaScriptSerializer jsonClient = new JavaScriptSerializer(); NotificacaoPush push = new NotificacaoPush(); if (doacao.checkInDonation()) { push.pushNotificacao(sol.getUsuarioSolicitador(), "Nova doação efetuada. Parabéns! <3"); json.Insert(0, true); } else { push.pushNotificacao(userId, "Check-In efetuado fora da área do hemocentro."); json.Insert(0, false); } return jsonClient.Serialize(json); }
public String doacao_InserirNovaDoacao(int userId, int idDonation) { Doacao doacao = new Doacao(); doacao.idSolicitacao = idDonation; doacao.usuarioDoador = userId; List<Boolean> json = new List<Boolean>(); if(doacao.insertDoacao()){ json.Insert(0, true); NotificacaoPush push = new NotificacaoPush(); push.pushNotificacao(userId, "Uma pretenção de doação foi aberta para sua solicitação"); } else { json.Insert(0, false); } JavaScriptSerializer jsonClient = new JavaScriptSerializer(); return jsonClient.Serialize(json); }
public void sendNotPush(int userId, int idHemocentro, int idSolicitacao) { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); try { String cmdInsert = "SELECT USU_IdUsuario, USU_Lat, USU_Long FROM TB_Usuarios WHERE USU_IdUsuario <> @userId and USU_StatusApto = 1 and USU_NotificacaoPush = 1 and USU_Long > 0 and USU_Lat > 0"; String cmdHemo = "Select HEM_Lat, HEM_Long from TB_Hemocentros where HEM_IdHemocentro = @idHemo"; SqlCommand getHemoData = new SqlCommand(cmdHemo, conn); getHemoData.Parameters.AddWithValue("@idHemo", idHemocentro); SqlDataReader hemoData = getHemoData.ExecuteReader(); double hemoLat = 0; double hemoLog = 0; if (hemoData.Read()) { hemoLat = hemoData.GetDouble(0); hemoLog = hemoData.GetDouble(1); } hemoData.Close(); SqlCommand checkusr = new SqlCommand(cmdInsert, conn); checkusr.Parameters.AddWithValue("@userId", userId); SqlDataReader reader = checkusr.ExecuteReader(); calcDistance calc = new calcDistance(); NotificacaoPush push = new NotificacaoPush(); foreach (DbDataRecord recordUser in reader) { if (calc.calcDistances(hemoLat, hemoLog, recordUser.GetDouble(1), recordUser.GetDouble(2)) <= 10) { push.pushNotificacao(recordUser.GetInt32(0), "A Solicitação de número " + idSolicitacao + " foi aberta próximo a você."); } } } catch (Exception ex) { throw new Exception(ex.ToString()); } finally { conn.Close(); } } }