Beispiel #1
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));
            }
        }