Пример #1
0
        public IActionResult CreateColumn(int accountId, int formId,
                                          [FromBody] ColumnForCreationDto column)
        {
            if (column == null)
            {
                return(BadRequest());
            }

            //if (column..Description == form.Title)
            //{
            //    ModelState.AddModelError("Description", "The provided description should be different from the title.");
            //}

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

            if (!_accountRepository.AccountExists(accountId))
            {
                return(NotFound());
            }

            if (!_formRepository.FormExists(formId))
            {
                return(NotFound());
            }

            var finalColumn = Mapper.Map <Entities.Column>(column);

            _formRepository.AddColumnForForm(formId, finalColumn);

            if (!_formRepository.Save())
            {
                return(StatusCode(500, "A problem happened while handling your request."));
            }

            var createdColumnToReturn = Mapper.Map <Models.ColumnDto>(finalColumn);

            return(CreatedAtRoute("GetColumn", new
                                  { accountId = accountId, formId = formId, id = createdColumnToReturn.Id }, createdColumnToReturn));
        }