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(); }
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; } }
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)); }