public async Task <ActionResult> Post([FromBody] ListaNegraCreacionDTO listaNegraCreacion) { var persona = await context.Personas.FirstOrDefaultAsync(x => x.DNI == listaNegraCreacion.DNI); if (persona == null) { var placaListaNegra = mapper.Map <ListaNegra>(listaNegraCreacion); placaListaNegra.Nombres = "Municipalidad"; placaListaNegra.Estado = "No Capturado"; context.Add(placaListaNegra); var placas = await context.Placas.Where(x => x.NumeroDePlaca == listaNegraCreacion.NumeroDePlaca).ToListAsync(); if (placas != null) { foreach (Placa placa in placas) { var placaNegra = new PlacaListaNegra(); placaNegra.NumeroDePlaca = placa.NumeroDePlaca; placaNegra.NombreCamara = placa.NombreCamara; placaNegra.Direccion = placa.Direccion; placaNegra.Latitud = placa.Latitud; placaNegra.Longitud = placa.Longitud; placaNegra.Hora = placa.Hora; placaNegra.Fecha = placa.Fecha; placaNegra.Codigo = placa.Codigo; placaNegra.ImagenCarro = placa.ImagenCarro; placaNegra.ImagenPlaca = placa.ImagenPlaca; context.PlacasListaNegra.Add(placaNegra); } } await context.SaveChangesAsync(); var placaListaNegraDTO = mapper.Map <ListaNegraDTO>(placaListaNegra); return(new CreatedAtRouteResult("ObtenerCamara", new { id = placaListaNegra.Id }, placaListaNegraDTO)); } else { var placaListaNegra = mapper.Map <ListaNegra>(listaNegraCreacion); placaListaNegra.Persona = persona; placaListaNegra.Nombres = persona.Nombres; placaListaNegra.ApellidoPaterno = persona.ApellidoPaterno; placaListaNegra.ApellidoMaterno = persona.ApellidoMaterno; placaListaNegra.Direccion = persona.Direccion; placaListaNegra.FechaDeNacimiento = persona.FechaDeNacimiento; placaListaNegra.NumeroDeCelular = persona.NumeroDeCelular; placaListaNegra.Estado = "No Capturado"; context.Add(placaListaNegra); await context.SaveChangesAsync(); var placaListaNegraDTO = mapper.Map <ListaNegraDTO>(placaListaNegra); return(new CreatedAtRouteResult("ObtenerCamara", new { id = placaListaNegra.Id }, placaListaNegraDTO)); } }
public async Task <ActionResult> Post([FromBody] PlacaCreacionDTO placaCreacion) { var camara = await context.Camaras.FirstOrDefaultAsync(x => x.Nombre == placaCreacion.NombreCamara); if (camara == null) { return(BadRequest("La camara no existe")); } else { var placa = mapper.Map <Placa>(placaCreacion); placa.CamaraDetectora = camara; placa.Direccion = camara.Direccion; placa.Latitud = camara.Latitud; placa.Longitud = camara.Longitud; placa.Hora = DateTime.Now.ToShortTimeString(); placa.Fecha = DateTime.Now.ToShortDateString(); placa.Codigo = $"{placa.NumeroDePlaca}-{camara.Id}"; context.Add(placa); camara.Placas.Add(placa); var placaListaNegra = await context.ListaNegra.FirstOrDefaultAsync(x => x.NumeroDePlaca == placa.NumeroDePlaca); if (placaListaNegra != null) { var placaNegra = new PlacaListaNegra(); placaNegra.NumeroDePlaca = placa.NumeroDePlaca; placaNegra.NombreCamara = placa.NombreCamara; placaNegra.Direccion = placa.Direccion; placaNegra.Latitud = placa.Latitud; placaNegra.Longitud = placa.Longitud; placaNegra.Hora = placa.Hora; placaNegra.Fecha = placa.Fecha; placaNegra.Codigo = placa.Codigo; placaNegra.ImagenCarro = placa.ImagenCarro; placaNegra.ImagenPlaca = placa.ImagenPlaca; context.PlacasListaNegra.Add(placaNegra); } await context.SaveChangesAsync(); var placaDTO = mapper.Map <PlacaDTO>(placa); return(new CreatedAtRouteResult("ObtenerPlaca", new { id = placa.Id }, placaDTO)); } }