Esempio n. 1
0
        public async Task <IActionResult> Post([FromBody] ApiNoteCatalogForCreate catalog)
        {
            try
            {
                var system = await _lookupRepo.GetEntityAsync <Subsystem>(catalog.SubsystemId);

                if (system == null)
                {
                    return(BadRequest($"Cannot find note system: {catalog.SubsystemId}."));
                }

                var render = await _lookupRepo.GetEntityAsync <NoteRender>(catalog.RenderId);

                if (render == null)
                {
                    return(BadRequest($"Cannot find note render: {catalog.RenderId}."));
                }

                var noteCatalog = _mapper.Map <ApiNoteCatalogForCreate, NoteCatalog>(catalog);
                noteCatalog.Subsystem = system;
                noteCatalog.Render    = render;
                var newCatalog = await _catalogManager.CreateAsync(noteCatalog);

                if (newCatalog == null)
                {
                    return(BadRequest());
                }

                return(Created("", newCatalog));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Esempio n. 2
0
        public async Task <Author> UpdateAsync(Author entity)
        {
            Guard.Against <ArgumentNullException>(entity == null, nameof(entity));

            try
            {
                // ReSharper disable once PossibleNullReferenceException
                if (entity.Id == Guid.Empty)
                {
                    ProcessMessage.Success = false;
                    ProcessMessage.AddErrorMessage($"Can not update author with id {entity.Id}");
                    return(null);
                }

                _dataContext.Authors.Update(entity);
                await _dataContext.SaveAsync();

                var updateAuthor = await _lookupRepo.GetEntityAsync <Author>(entity.Id);

                return(updateAuthor);
            }
            catch (DataSourceException ex)
            {
                ProcessMessage.WrapException(ex);
                return(null);
            }
        }