Exemplo n.º 1
0
        public ActionResult Update(RecordUpdateInput updateInput)
        {
            string recordId = VerbosifyId <Record>(updateInput.Id);

            if (!_permissionManager.DoesExist <Record>(recordId))
            {
                return(HttpNotFound());
            }

            if (!_userContext.HasGroupPermission <Record>(PermissionNames.UpdateObservation, recordId))
            {
                return(new HttpUnauthorizedResult());
            }

            if (!ModelState.IsValid)
            {
                return(JsonFailed());
            }

            _messageBus.Send(
                new RecordUpdateCommand
            {
                Id                = recordId,
                Latitude          = updateInput.Latitude,
                Longitude         = updateInput.Longitude,
                AnonymiseLocation = updateInput.AnonymiseLocation,
                Category          = updateInput.Category,
                ObservedOn        = updateInput.ObservedOn,
                UserId            = _userContext.GetAuthenticatedUserId(),
                Projects          = updateInput.Projects
            });

            return(JsonSuccess());
        }
Exemplo n.º 2
0
        public ActionResult Create(RecordUpdateInput createInput)
        {
            if (!_userContext.HasUserProjectPermission(PermissionNames.CreateObservation))
            {
                return(new HttpUnauthorizedResult());
            }

            if (!ModelState.IsValid)
            {
                return(JsonFailed());
            }

            _messageBus.Send(
                new RecordCreateCommand()
            {
                Latitude          = createInput.Latitude,
                Longitude         = createInput.Longitude,
                AnonymiseLocation = createInput.AnonymiseLocation,
                Category          = createInput.Category,
                ObservedOn        = createInput.ObservedOn,
                UserId            = _userContext.GetAuthenticatedUserId(),
                //Projects = createInput.ProjectIds
            });

            return(JsonSuccess());
        }