public ResultadoOperacao EnviarDenuncia(Denuncia denuncia) { try { denuncia daoDenuncia = ConvertDenunciaToDaoDenuncia(denuncia); webserviceEntities model = new webserviceEntities(); denuncia addedDenuncia = model.denuncia.Add(daoDenuncia); model.SaveChanges(); ResultadoOperacao resultado = new ResultadoOperacao(); if (addedDenuncia != null) { resultado.bSucesso = true; resultado.iCodigo = addedDenuncia.id; } else { resultado.bSucesso = false; } return(resultado); } catch { ResultadoOperacao resultado = new ResultadoOperacao(); resultado.bSucesso = false; return(resultado); } }
public Denuncia AlteraSituacaoDenuncia(string id, string situacao) { string sSituacao; int iId; if (!int.TryParse(id, out iId)) { return(null); } if (situacao.Equals("P") || situacao.Equals("N") || situacao.Equals("R")) { sSituacao = situacao; } else { return(null); } webserviceEntities model = new webserviceEntities(); var query = model.denuncia .Select(x => new { x.id, x.titulo, x.descricao, x.situacao, x.data, x.categoria_animal, x.tipo_animal, x.endereco, x.endereco_latitude, x.endereco_longitude, x.denunciante_email, x.denunciante_telefone, x.id_dispositivo, x.hashtag, x.midia, x.retorno }) .Where(x => x.id == iId); var queryDenuncia = from item in query.AsEnumerable() select new Denuncia { id = item.id, titulo = item.titulo, descricao = item.descricao, situacao = item.situacao, data = item.data.ToString(), categoria_animal = item.categoria_animal, tipo_animal = item.tipo_animal, endereco = item.endereco, endereco_latitude = item.endereco_latitude, endereco_longitude = item.endereco_longitude, denunciante_email = item.denunciante_email, denunciante_telefone = item.denunciante_telefone, id_dispositivo = item.id_dispositivo, hashtag = ConvertToHashtag(item.hashtag), midia = ConvertToMidia(item.midia), retorno = ConvertToRetorno(item.retorno) }; List <Denuncia> list = queryDenuncia.ToList(); if (list.Count > 0) { Denuncia denuncia = list[0]; denuncia.situacao = sSituacao; denuncia daoDenuncia = ConvertDenunciaToDaoDenuncia(denuncia); webserviceEntities newModel = new webserviceEntities(); denuncia addedDenuncia = model.denuncia.Add(daoDenuncia); model.SaveChanges(); //Envia Notificação if (!string.IsNullOrEmpty(denuncia.id_dispositivo)) { //AndroidData androidData = new AndroidData(); //androidData.mensagem = //androidData.denuncia = JsonConvert.SerializeObject(denuncia); //msg.data = androidData; Mensagem msg = new Mensagem(); msg.to = denuncia.id_dispositivo; msg.notification = new Notification(); msg.notification.title = "Sua denúncia foi ouvida!"; msg.notification.text = "Veja o retorno de sua denúncia"; //msg.data = JsonConvert.SerializeObject(denuncia); var request = (HttpWebRequest)WebRequest.Create("https://fcm.googleapis.com/fcm/send"); var postData = JsonConvert.SerializeObject(msg); var data = Encoding.UTF8.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = data.Length; request.Headers["Authorization"] = "key=AIzaSyBIbX588UPSBq65p5d7PAHcfoT5_rlmAjg"; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(postData); streamWriter.Flush(); streamWriter.Close(); } //using (var stream = request.GetRequestStream()) //{ // stream.Write(data, 0, data.Length); //} var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); } return(denuncia); } else { return(null); } }