コード例 #1
0
        public IHttpActionResult GetAll()
        {
            HttpResponseMessage response = new HttpResponseMessage();

            try
            {
                Guid              token             = this.GetToken();
                UserDTO           user              = this.userService.GetUserLoggedIn(token);
                PermissionHandler permissionHandler = new PermissionHandler();
                if (permissionHandler.IsUserAllowedToListZones(user.Role))
                {
                    List <ZoneDTO> zones = this.zoneService.GetAllZones();
                    response = this.Request.CreateResponse(HttpStatusCode.OK, zones);
                }
                else
                {
                    response = this.Request.CreateResponse(HttpStatusCode.Unauthorized, "El usuario no tiene permisos para ejecutar esta accion");
                }
            }
            catch (UserNotExistException e)
            {
                response = this.Request.CreateResponse(HttpStatusCode.BadRequest, e.Message);
            }
            catch (InvalidOperationException)
            {
                string message = "No se ha enviado header de autenticación.";
                response = this.Request.CreateResponse(HttpStatusCode.BadRequest, message);
            }
            catch (FormatException)
            {
                string message = "El token enviado no tiene un formato valido.";
                response = this.Request.CreateResponse(HttpStatusCode.BadRequest, message);
            }

            return(ResponseMessage(response));
        }
コード例 #2
0
        public PermissionHandlerTests()
        {
            _permissionServiceMock = new Mock <IPermissionService>();

            _sut = new PermissionHandler(_permissionServiceMock.Object);
        }
コード例 #3
0
 public HomeController(IAuthorizationHandler permissionHandler, IHostingEnvironment host, IRepository <User> userRepository)
 {
     this.permissionHandler = permissionHandler as PermissionHandler;
     this.host           = host;
     this.userRepository = userRepository;
 }
コード例 #4
0
 public HomeController(IAuthorizationHandler permissionHandler)
 {
     _permissionHandler = permissionHandler as PermissionHandler;
 }
コード例 #5
0
 public HomeController(IAuthorizationHandler permissionHandler, IHostingEnvironment host)
 {
     _host = host;
     _permissionHandler = permissionHandler as PermissionHandler;
 }
コード例 #6
0
ファイル: HomeViewModel.cs プロジェクト: domanttas/WhoIsThat
        /// <summary>
        /// Checks for permissions, takes photo and checks whether target was hit
        /// </summary>
        public async void TakePhoto()
        {
            var cameraPermission = await PermissionHandler.CheckForCameraPermission();

            if (!cameraPermission)
            {
                await CrossPermissions.Current.RequestPermissionsAsync(Permission.Camera);
            }

            var storagePermission = await PermissionHandler.CheckForCameraPermission();

            if (!storagePermission)
            {
                await CrossPermissions.Current.RequestPermissionsAsync(Permission.Storage);
            }
            try
            {
                var takenPhoto = await TakingPhotoHandler.TakePhoto();

                UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);

                var saveImage = User.Id + ".jpg";
                await CloudStorageService.SaveBlockBlob(takenPhoto, saveImage);
            }

            catch (ManagerException photoNotTakenException)
            {
                UserDialogs.Instance.HideLoading();

                ToastUtil.ShowToast(photoNotTakenException.ErrorCode);

                return;
            }

            try
            {
                var imageName          = User.Id + ".jpg";
                var recognitionMessage = await _restService.Identify(imageName);

                var isTargetDead = await _restService.IsPreyHunted(User.Id, Convert.ToInt32(recognitionMessage));

                if (isTargetDead)
                {
                    DisplayMessage = "It's a direct hit!";
                    OnPropertyChanged("DisplayMessage");

                    var hitResult = await _restService.GetUserById(Convert.ToInt32(recognitionMessage));

                    var historyResult = await _restService.UpdateHistoryModel(User.Id, hitResult.Id);

                    UserDialogs.Instance.HideLoading();

                    //Initiate popup
                    await PopupNavigation.Instance.PushAsync(new ShootPopUp(this));

                    DisplayStatus = "Name: " + hitResult.PersonFirstName;
                    OnPropertyChanged("DisplayStatus");

                    User = await _restService.UpdateUserScore(User.Id);

                    Name = "Your score is: " + User.Score.ToString();
                    OnPropertyChanged("Name");
                }
            }

            catch (ManagerException noFacesFoundException) when(noFacesFoundException.ErrorCode == Constants.NoFacesIdentifiedError)
            {
                UserDialogs.Instance.HideLoading();

                ToastUtil.ShowToast(noFacesFoundException.ErrorCode);
            }

            catch (ManagerException noOneIdentifiedException) when(noOneIdentifiedException.ErrorCode == Constants.NoMatchFoundError)
            {
                UserDialogs.Instance.HideLoading();

                ToastUtil.ShowToast(noOneIdentifiedException.ErrorCode);
            }

            catch (ManagerException targetNotFoundException) when(targetNotFoundException.ErrorCode == Constants.TargetNotFoundError)
            {
                UserDialogs.Instance.HideLoading();

                ToastUtil.ShowToast(targetNotFoundException.ErrorCode);
            }

            catch (ManagerException userNotFoundException) when(userNotFoundException.ErrorCode == Constants.UserDoesNotExistError)
            {
                UserDialogs.Instance.HideLoading();

                ToastUtil.ShowToast("Something went wrong");
            }

            //This catch is just for testing purposes
            catch (ManagerException)
            {
                UserDialogs.Instance.HideLoading();

                ToastUtil.ShowToast("Something went wrong");
            }
        }