public async Task <ActionResult> Create(SiniestroVm siniestroVm) { ValidarSiniestro(siniestroVm); Estado estado = await _repositorioEstados.ObtenerPorTipo(TipoEstado.SinValorar); Aseguradora aseguradora = await _repositorioAseguradoras.ObtenerPorId(siniestroVm.IdAseguradora); Usuario usuarioCreado = await _repositorioUsuarios.ObtenerPorId(siniestroVm.IdUsuarioAlta); SujetoAfectado sujetoAfectado = (SujetoAfectado)siniestroVm.IdSujetoAfectado; Usuario perito = await _repositorioPeritos.ObtenerPorId(siniestroVm.IdPerito); Danio danio = await _repositorioDanios.ObtenerPorId(siniestroVm.IdDanio); Siniestro siniestro = new Siniestro() { Estado = estado, Aseguradora = aseguradora, Direccion = siniestroVm.Direccion, Descripcion = siniestroVm.Descripcion, UsuarioCreado = usuarioCreado, FechaHoraAlta = DateTime.Now, SujetoAfectado = sujetoAfectado, ImpValoracionDanios = 0.00M, Perito = perito, Danio = danio }; try { await _repositorioSiniestros.Guardar(siniestro); } catch (Exception) { return(StatusCode(500, "No se ha podido crear el siniestro")); } return(Ok(true)); }
public async Task <ActionResult> Edit(int id, SiniestroVm siniestroVm) { ValidarSiniestro(siniestroVm); Estado estado = await _repositorioEstados.ObtenerPorId(siniestroVm.IdEstado); Aseguradora aseguradora = await _repositorioAseguradoras.ObtenerPorId(siniestroVm.IdAseguradora); SujetoAfectado sujetoAfectado = (SujetoAfectado)siniestroVm.IdSujetoAfectado; Usuario perito = await _repositorioPeritos.ObtenerPorId(siniestroVm.IdPerito); Danio danio = await _repositorioDanios.ObtenerPorId(siniestroVm.IdDanio); Siniestro siniestro = await _repositorioSiniestros.ObtenerPorId(id); siniestro.Estado = estado; siniestro.Aseguradora = aseguradora; siniestro.Direccion = siniestroVm.Direccion; siniestro.Descripcion = siniestroVm.Descripcion; siniestro.SujetoAfectado = sujetoAfectado; siniestro.Perito = perito; siniestro.Danio = danio; if (siniestroVm.IdEstado == (int)TipoEstado.Valorado) { siniestro.ImpValoracionDanios = decimal.Parse(siniestroVm.ImpValoracionDanios); } else { siniestro.ImpValoracionDanios = 0; } await _repositorioSiniestros.Actualizar(siniestro); return(Ok(true)); }