public async Task <ActionResult> AddMediaToPerson(Guid id, [FromBody] MediaCreationDto media)
        {
            var person = await _ctx.Persons.Where(p => p.Id == id).Include(d => d.Details).SingleOrDefaultAsync();

            var mediaToAdd = await _ctx.Media.FindAsync(media.MediaId);

            if (person == null || mediaToAdd == null)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            mediaToAdd.Details = person.Details;
            _ctx.Media.Update(mediaToAdd);
            await _ctx.SaveChangesAsync();

            return(Ok());
        }
        public ActionResult <Media> CreateMedia([FromBody] MediaCreationDto mediaCreationDto, [FromHeader] Guid accountId, [FromHeader] string key)
        {
            try
            {
                //pristup metodi imaju samo autorizovani korisnici
                if (!auth.AuthorizeUser(key))
                {
                    return(StatusCode(StatusCodes.Status401Unauthorized, "Authorization failed!"));
                }

                Media media = mapper.Map <Media>(mediaCreationDto);

                //poziv drugog servisa
                var itemForSale = itemForSaleService.GetItemForSaleById <ItemForSaleDto>(HttpMethod.Get, media.ItemForSaleId).Result;
                if (itemForSale == null)
                {
                    throw new DbException("Item with that ID doesn't exist!");
                }

                //samo onaj ko je postavio proizvod moze da mu dodaje multimedijalni sadrzaj
                if (mediaCreationDto.AccountId != accountId)
                {
                    return(StatusCode(StatusCodes.Status403Forbidden, "Not allowed!"));
                }

                mediaRepository.CreateMedia(media);
                mediaRepository.SaveChanges();

                logger.Log(LogLevel.Information, contextAccessor.HttpContext.TraceIdentifier, "", "Create new media", null);

                string location = linkGenerator.GetPathByAction("GetMediaById", "Media", new { mediaId = media.MediaId });
                return(Created(location, media));
            }
            catch (Exception ex)
            {
                logger.Log(LogLevel.Error, contextAccessor.HttpContext.TraceIdentifier, "", "Error while creating media", null);
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }