Ejemplo n.º 1
0
        public async Task <IActionResult> Post([FromBody] TaskViewModel task)
        {
            var allReadyTask = await ToModel(task, _mediator);

            if (allReadyTask == null)
            {
                return(BadRequest("Should have found a matching event Id"));
            }

            var hasPermissions = _determineIfATaskIsEditable.For(User, allReadyTask, _userManager);

            if (!hasPermissions)
            {
                return(Unauthorized());
            }

            if (await TaskExists(task.Id))
            {
                return(BadRequest());
            }

            await _mediator.SendAsync(new AddTaskCommand { AllReadyTask = allReadyTask });

            //http://stackoverflow.com/questions/1860645/create-request-with-post-which-response-codes-200-or-201-and-content
            return(Created("", allReadyTask));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Post([FromBody] TaskViewModel task)
        {
            var allReadyTask = task.ToModel(_allReadyDataAccess);

            if (allReadyTask == null)
            {
                return(HttpBadRequest("Should have found a matching activity Id"));
            }

            var hasPermissions = _determineIfATaskIsEditable.For(User, allReadyTask);

            if (!hasPermissions)
            {
                return(HttpUnauthorized());
            }

            if (IfTaskExists(task))
            {
                return(HttpBadRequest());
            }

            await _mediator.SendAsync(new AddTaskCommandAsync { AllReadyTask = allReadyTask });

            //http://stackoverflow.com/questions/1860645/create-request-with-post-which-response-codes-200-or-201-and-content
            return(new HttpStatusCodeResult((int)HttpStatusCode.Created));
        }