Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }