Example #1
0
        public async Task <IActionResult> Post(string componentName, [FromBody] SampleViewModel vm)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newSample = Mapper.Map <Sample>(vm);

                    _repository.AddSample(componentName, creatorName, newSample);

                    if (await _repository.SaveChangesAsync())
                    {
                        return(Created($"/api/components/{componentName}/samples/{newSample.Name}",
                                       Mapper.Map <SampleViewModel>(newSample)));
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("Failed to save new Sample: {0}", ex);
                return(BadRequest("Failed to save new Sample"));
            }

            // Fall through from the validation check
            Response.StatusCode = (int)HttpStatusCode.BadRequest;
            return(Json("Validation failed on new Sample"));
        }