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