Beispiel #1
0
        public async Task <IActionResult> PostAsync([FromBody, Required] Models.Input.Examples.ExampleRequestCreate example)
        {
            CheckPermissions(example);
            var ex = example.CreateModel();

            if (ex.Data != null)
            {
                ex.Data.User   = _user.User;
                ex.Data.UserId = _user.UserId;
                ex.Data.Symbol = await _symbolManager.GetAsync(ex.Data.SymbolId);
            }
            var mdl = await _manager.PostAsync(ex);

            return(Json(Models.Output.Examples.ExampleRequest.CreateModel(mdl)));
        }
Beispiel #2
0
        private void CheckPermissions(Models.Input.Examples.ExampleRequestCreate ex)
        {
            switch (ex.Method)
            {
            case Data.Models.Examples.ExampleRequestType.DELETE:
                if (!_user.HasPermission(Permissions.CREATE_EXAMPLE_REQUEST_DELETE))
                {
                    throw new Shared.Exceptions.InsuficientPermission()
                          {
                              ResourceName      = ex.Message,
                              ResourceType      = typeof(Data.Models.Examples.ExampleRequest),
                              MissingPermission = Permissions.CREATE_EXAMPLE_REQUEST_DELETE
                          }
                }
                ;
                break;

            case Data.Models.Examples.ExampleRequestType.PATCH:
                if (!_user.HasPermission(Permissions.CREATE_EXAMPLE_REQUEST_PATCH))
                {
                    throw new Shared.Exceptions.InsuficientPermission()
                          {
                              ResourceName      = ex.Message,
                              ResourceType      = typeof(Data.Models.Examples.ExampleRequest),
                              MissingPermission = Permissions.CREATE_EXAMPLE_REQUEST_PATCH
                          }
                }
                ;
                break;

            case Data.Models.Examples.ExampleRequestType.POST:
                if (!_user.HasPermission(Permissions.CREATE_EXAMPLE_REQUEST_POST))
                {
                    throw new Shared.Exceptions.InsuficientPermission()
                          {
                              ResourceName      = ex.Message,
                              ResourceType      = typeof(Data.Models.Examples.ExampleRequest),
                              MissingPermission = Permissions.CREATE_EXAMPLE_REQUEST_POST
                          }
                }
                ;
                break;
            }
        }