Esempio n. 1
0
        private static void RegistrarSolicitacao(RegistroOcorrenciaModel item, GuardaDigitalContext db)
        {
            db.RegistroOcorrencia.Add(item.Registro);
            db.SaveChanges();

            foreach (var matricula in item.Matriculas)
            {
                var matriculaTratada = matricula.Replace(".", "").Replace("/", "").Replace("-", "").Replace(" ", "");
                var guarda           = db.AspNetUsers.FirstOrDefault(p => p.Matricula == matriculaTratada);

                var relacionamento = new GuardaRo()
                {
                    GuardaId = guarda.Id,
                    IdRo     = item.Registro.Id
                };

                db.GuardaRO.Add(relacionamento);
            }

            foreach (var envolvido in item.Envolvidos)
            {
                envolvido.IdRegistroOcorrencia = item.Registro.Id;
                db.Envolvido.Add(envolvido);
            }

            db.SaveChanges();
        }
Esempio n. 2
0
 private static void ObterCoordenadasGeograficas(RegistroOcorrenciaModel item, GeocodeResponse coordenadas)
 {
     try
     {
         if (coordenadas.status == "OK")
         {
             item.Registro.Latitude = coordenadas.result.geometry.location.lat;
             item.Registro.Latitude = coordenadas.result.geometry.location.lng;
         }
     }
     catch (Exception ex)
     {
         item.Registro.Latitude  = null;
         item.Registro.Longitude = null;
     }
 }
Esempio n. 3
0
        public IActionResult Create([FromBody] RegistroOcorrenciaModel item)
        {
            if (item == null || !ModelState.IsValid)
            {
                return(BadRequest("Invalid State"));
            }

            var coordenadas = GoogleMapsWrapper.Obter(item.Registro.Endereco);

            ObterCoordenadasGeograficas(item, coordenadas);

            try
            {
                using (var db = new GuardaDigitalContext())
                {
                    RegistrarSolicitacao(item, db);
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message.ToString()));
            }
            return(Ok(item));
        }