Ejemplo n.º 1
0
        public void VerifyCredentialsForDeletingDamageReports(string token)
        {
            User executingUser = UserUtillities.GetExecutingUserIfLoggedIn(token, _sessionsRepository);

            if (!_permissionManager.HasPermission(executingUser, Action.DeleteDamage))
            {
                throw new ForbiddenAccessException();
            }
        }
Ejemplo n.º 2
0
        public List <DamageReportOutputDto> GetAll(string token)
        {
            _credentialsVerifier.VerifyCredentialsForQueryingDamageReports(token);

            User user = UserUtillities.GetExecutingUserIfLoggedIn(token, _sessionsRepository);

            List <DamageReport> damageReports =
                _damageReportsRepository.GetAllIncluding(dr => dr.MediaResources).Where(user.DamageReportsICanQuery()).ToList();

            return(_objectMapper.Map <List <DamageReportOutputDto> >(damageReports));
        }
Ejemplo n.º 3
0
        public DamageReportCompleteOutputDto Get(int id, string token)
        {
            _credentialsVerifier.VerifyCredentialsForQueryingDamageReports(token);

            User user = UserUtillities.GetExecutingUserIfLoggedIn(token, _sessionsRepository);

            DamageReport damageReport = _damageReportsRepository
                                        .GetAllIncluding(dr => dr.MediaResources)
                                        .Where(user.DamageReportsICanQuery())
                                        .FirstOrDefault(dr => dr.Id == id);

            return(_objectMapper.Map <DamageReportCompleteOutputDto>(damageReport));
        }
Ejemplo n.º 4
0
        public DamageReportOutputDto ReportDamage(DamageReportInputDto damageDto, string token)
        {
            _credentialsVerifier.VerifyCredentialsForDamageReporting(token);

            DamageReport damage = _objectMapper.Map <DamageReport>(damageDto);

            if (!damage.IsValid())
            {
                throw new ModelValidationException(_objectMapper.Map <List <ValidationErrorDto> >(damage.GetValidationErrors()));
            }

            BindMediaResources(damage);

            damage.User = UserUtillities.GetExecutingUserIfLoggedIn(token, _sessionsRepository);

            _damageReportsRepository.Insert(damage);

            CurrentUnitOfWork.SaveChanges();

            return(_objectMapper.Map <DamageReportOutputDto>(damage));
        }
Ejemplo n.º 5
0
 private void BindUser(Device modelDevice, string token)
 {
     modelDevice.User = UserUtillities.GetExecutingUserIfLoggedIn(token, _sessionRepository);
 }
Ejemplo n.º 6
0
        public void VerifyCredentialsForDamageReporting(string token)
        {
            UserUtillities.GetExecutingUserIfLoggedIn(token, _sessionsRepository);

            //we don't check privileges because everyone can report damages
        }
Ejemplo n.º 7
0
        private List <Device> GetDevicesOf(string token)
        {
            User user = UserUtillities.GetExecutingUserIfLoggedIn(token, _sessionsRepository);

            return(_deviceRepository.GetAllIncluding(d => d.User).Where(d => d.User.Id == user.Id).ToList());
        }