Esempio n. 1
0
        public async Task <ActionResult> ObtenerPorId(int id)
        {
            Usuario usuario = await _repositorioUsuarios.ObtenerPorId(id);

            if (usuario is null)
            {
                return(NotFound($"No existe el usuario con id {id}"));
            }

            UsuarioVm usuarioVm = new UsuarioVm()
            {
                Id              = usuario.Id,
                Nombre          = usuario.Nombre,
                IdPermiso       = usuario.Permiso.Id,
                Permiso         = usuario.Permiso.Nombre,
                HashContrasenia = usuario.Contrasenia
            };

            if (_repositorioPermisos.EsPeritoNoResponsable(usuario.Permiso.Id))
            {
                usuarioVm.ImpReparacionDanios = usuario.ImpRepacionDanios;
            }

            return(Ok(usuarioVm));
        }
Esempio n. 2
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));
        }
Esempio n. 3
0
        public async Task <ActionResult> ObtenerEstadisticas(int idUsuario)
        {
            Usuario usuario = await _repositorioUsuarios.ObtenerPorId(idUsuario);

            int totalNumSiniestros;
            List <DetalleEstadisticaVm> numSiniestrosPorAseguradora;
            bool tienePermisoAdministracion = _repositorioPermisos.TienePermisoAdministracion(usuario.Permiso.Id);

            if (tienePermisoAdministracion)
            {
                totalNumSiniestros = await _repositorioUsuarios.ObtenerNumSiniestrosPorIdUsuario(idUsuario);

                numSiniestrosPorAseguradora = await _repositorioUsuarios.ObtenerEstadisticasPorIdUsuario(idUsuario);

                EstadisticasUsuarioVm estadisticasUsuarioVm = new EstadisticasUsuarioVm()
                {
                    NumSiniestros = totalNumSiniestros,
                    NumSiniestrosPorAseguradora = numSiniestrosPorAseguradora
                };

                return(Ok(estadisticasUsuarioVm));
            }
            else
            {
                totalNumSiniestros = await _repositorioPeritos.ObtenerNumSiniestrosPorIdPerito(idUsuario);

                numSiniestrosPorAseguradora = await _repositorioPeritos.ObtenerEstadisticasPorIdPerito(idUsuario);

                List <DetalleEstadisticaVm> numSiniestrosCerrarPorAseguradora = await _repositorioPeritos.ObtenerSiniestrosCerrarPorIdPerito(idUsuario);

                EstadisticasPeritoVm estadisticasPeritoVm = new EstadisticasPeritoVm()
                {
                    NumSiniestros = totalNumSiniestros,
                    NumSiniestrosPorAseguradora       = numSiniestrosPorAseguradora,
                    NumSiniestrosCerrarPorAseguradora = numSiniestrosCerrarPorAseguradora
                };

                return(Ok(estadisticasPeritoVm));
            }
        }
        public async Task <ActionResult> Crear(MensajeVm mensajeVm)
        {
            Usuario usuario = await _repositorioUsuarios.ObtenerPorId(mensajeVm.IdUsuarioCreado);

            Siniestro siniestro = await _repositorioSiniestros.ObtenerPorId(mensajeVm.IdSiniestro);

            Mensaje mensaje = new Mensaje()
            {
                Descripcion = mensajeVm.Descripcion,
                Usuario     = usuario,
                Siniestro   = siniestro
            };

            try
            {
                await _repositorioMensajes.Guardar(mensaje);
            }
            catch (Exception)
            {
                return(StatusCode(500, "Ha habido un error al crear el mensaje"));
            }

            return(Ok(true));
        }
Esempio n. 5
0
        public ActionResult Edit(int id)
        {
            var i = repositorioUsuarios.ObtenerPorId(id);

            return(View(i));
        }